From 124977e638420cff973befdf8be727b2f43ebefc Mon Sep 17 00:00:00 2001 From: timotif Date: Tue, 6 Jun 2023 13:07:53 +0200 Subject: [PATCH 01/67] flipped y axis, solved deformation for rectangular screen --- circle.rt | 2 +- minirt.h | 6 +++--- render.c | 30 +++++++++++++++--------------- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/circle.rt b/circle.rt index 4cdc64c..9e71806 100644 --- a/circle.rt +++ b/circle.rt @@ -1,4 +1,4 @@ C 0,0,-10 0,0,0 30 A 0.8 127,127,127 -L 0,0,-6 0.6 +L 0,0,-10 0.6 sp 0,0,0 4 255,0,0 diff --git a/minirt.h b/minirt.h index 9256fa5..b32e55f 100644 --- a/minirt.h +++ b/minirt.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/06/06 01:04:07 by tfregni ### ########.fr */ +/* Updated: 2023/06/06 12:51:37 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -20,8 +20,8 @@ # include # define SPACE "\t\n\f\r\v " # define MAX_SOLID 3 -# define HEIGHT 500 -# define WIDTH 500 +# define WIDTH 1024 +# define HEIGHT 768 # define CANV_MIN_X -1 # define CANV_MAX_X 1 # define CANV_MIN_Y -1 diff --git a/render.c b/render.c index 0bacbca..6e1b4fb 100644 --- a/render.c +++ b/render.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/06/05 23:55:33 by tfregni ### ########.fr */ +/* Updated: 2023/06/06 13:07:23 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -39,17 +39,22 @@ float ft_min(float a, float b) return (b); } +/** + * range_x / WIDTH = canvas size of 1 pxl on x axis + * range_x / WIDTH * ratio = canvas size of 1 pxl on y axis + * added - to flip the y axis +*/ t_point_2d to_canvas(t_pxl pxl) { t_point_2d ret; - float range; + float range_x; float ratio; - range = CANV_MAX_X - CANV_MIN_X; + range_x = CANV_MAX_X - CANV_MIN_X; ratio = WIDTH / HEIGHT; - // printf("range: %f ratio: %f\n", range, ratio); - ret.x = range * pxl.x / WIDTH + CANV_MIN_X; - ret.y = range * ratio * pxl.y / HEIGHT + CANV_MIN_Y; + // printf("range_x: %f ratio: %f\n", range_x, ratio); + ret.x = range_x / WIDTH * pxl.x + CANV_MIN_X; + ret.y = -(range_x / WIDTH * ratio * pxl.y + CANV_MIN_Y); return (ret); } @@ -63,12 +68,7 @@ int apply_ligthing_ratio(int trgb, float lighting_ratio) float calc_hit_point(float discriminant, float a, float b) { - float t0; - float t1; - - t0 = (-b - sqrt(discriminant)) / (2.0f * a); - t1 = (-b + sqrt(discriminant)) / (2.0f * a); - return (ft_min(t0, t1)); + return ((-b - sqrt(discriminant)) / (2.0f * a)); } /** @@ -108,13 +108,13 @@ float light_coeff(t_scene *scene, float t, t_vector ray_direction) * @math * circle = (x^2 - a) + (y^2 - b) - r^2 = 0 (a and b are the coord) * ray = a + bt (a: origin b: direction t: distance) - * Substitute ray into circle and solve for t - * (bx^2 + by^2 + bz^2)t^2 + (2(axbx + ayby + azbz))t - * + (ax^2 +ay^2 + az^2 - r^2) = 0 * a : ray origin (scene->camera.pos) * b : ray direction (scene->camera.orientation) * r : radius (scene->sphere.diameter / 2) * t : hit distance + * Substitute ray into circle and solve for t + * (bx^2 + by^2 + bz^2)t^2 + (2(axbx + ayby + azbz))t + * + (ax^2 +ay^2 + az^2 - r^2) = 0 * Quadratic formula: (-b +- sqrt(b^2 - 4ac))/2a * Discriminant: b^2 - 4ac */ From e3b48b288018ff3490f537b6354c84f1655f5846 Mon Sep 17 00:00:00 2001 From: timotif Date: Tue, 6 Jun 2023 17:09:35 +0200 Subject: [PATCH 02/67] work in progress --- circle.rt | 2 +- event_handler.c | 14 +++++++------- render.c | 31 ++++++++++--------------------- 3 files changed, 18 insertions(+), 29 deletions(-) diff --git a/circle.rt b/circle.rt index 9e71806..a329c5f 100644 --- a/circle.rt +++ b/circle.rt @@ -1,4 +1,4 @@ C 0,0,-10 0,0,0 30 A 0.8 127,127,127 L 0,0,-10 0.6 -sp 0,0,0 4 255,0,0 +sp -10,0,0 4 255,0,0 diff --git a/event_handler.c b/event_handler.c index 7615118..2af0a78 100644 --- a/event_handler.c +++ b/event_handler.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 12:29:38 by tvasilev #+# #+# */ -/* Updated: 2023/06/06 11:46:39 by tfregni ### ########.fr */ +/* Updated: 2023/06/06 16:12:13 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -36,17 +36,17 @@ int key_handle(int keycode, t_scene *scene) else if (keycode == DOWN) scene->camera.pos.y -= CAM_PACE; else if (keycode == LEFT) - scene->camera.pos.x += CAM_PACE; - else if (keycode == RIGHT) scene->camera.pos.x -= CAM_PACE; + else if (keycode == RIGHT) + scene->camera.pos.x += CAM_PACE; else if (keycode == A) - scene->light.pos.x -= LIGHT_PACE; - else if (keycode == D) scene->light.pos.x += LIGHT_PACE; + else if (keycode == D) + scene->light.pos.x -= LIGHT_PACE; else if (keycode == W) - scene->light.pos.y -= LIGHT_PACE; - else if (keycode == S) scene->light.pos.y += LIGHT_PACE; + else if (keycode == S) + scene->light.pos.y -= LIGHT_PACE; else ft_printf("KeyCode: %d\n", keycode); if (keycode != ESC) diff --git a/render.c b/render.c index 6e1b4fb..bb6dcab 100644 --- a/render.c +++ b/render.c @@ -6,25 +6,13 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/06/06 13:07:23 by tfregni ### ########.fr */ +/* Updated: 2023/06/06 16:09:06 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ #include "minirt.h" #include "vector_math.h" -/** - * Can check interception with just the discriminant of the quadratic formula - * b^2 - 4ac. If < 0 no intersection, 0 tan, > 0 2 intersections - * a_quad = (bx^2 + by^2) = camera.direction sum of squares - * b_quad = (2axbx + 2ayby) = (2 * camera.origin.x * camera.direction.x) - * c_quad = (ax^2 + bx^2 - r^2) = camera.origin^2 etc. -*/ -// int intersect_circle(t_sphere sp, t_pxl p) -// { - -// } - float ft_max(float a, float b) { if (a > b) @@ -52,8 +40,7 @@ t_point_2d to_canvas(t_pxl pxl) range_x = CANV_MAX_X - CANV_MIN_X; ratio = WIDTH / HEIGHT; - // printf("range_x: %f ratio: %f\n", range_x, ratio); - ret.x = range_x / WIDTH * pxl.x + CANV_MIN_X; + ret.x = -(range_x / WIDTH * pxl.x + CANV_MIN_X); ret.y = -(range_x / WIDTH * ratio * pxl.y + CANV_MIN_Y); return (ret); } @@ -77,14 +64,16 @@ float calc_hit_point(float discriminant, float a, float b) */ float intersect_sphere(t_scene *scene, t_vector ray_direction, float *t) { - float a; - float b; - float c; - float discriminant; + float a; + float b; + float c; + t_point_3d transl; + float discriminant; a = vect_dot(ray_direction, ray_direction); - b = 2.0f * vect_dot(scene->camera.pos, ray_direction); - c = vect_dot(scene->camera.pos, scene->camera.pos) - pow((scene->sp->diameter / 2), 2); + transl = vect_sub(scene->camera.pos, scene->sp[0].pos); + b = 2.0f * vect_dot(transl, ray_direction); + c = vect_dot(transl, transl) - pow((scene->sp->diameter / 2), 2); discriminant = b * b - (4.0f * a * c); if (discriminant >= 0) *t = calc_hit_point(discriminant, a, b); From 1cc74029fb085e3ad8167b5ddc144c8347ad4d57 Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Wed, 7 Jun 2023 10:55:00 +0200 Subject: [PATCH 03/67] if unique element is missing no render --- minirt.h | 4 +++- parse.c | 44 ++++++++++++++++++++------------------------ scene.rt | 36 ++++++++++++++++++------------------ 3 files changed, 41 insertions(+), 43 deletions(-) diff --git a/minirt.h b/minirt.h index b32e55f..9af442d 100644 --- a/minirt.h +++ b/minirt.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/06/06 12:51:37 by tfregni ### ########.fr */ +/* Updated: 2023/06/07 10:43:16 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -37,6 +37,7 @@ typedef enum e_err INVALID_FILE, INVALID_ELEMENT, INVALID_DUP, + MISS_UNIQUE, } t_err; enum e_unique_el @@ -176,5 +177,6 @@ t_err ft_warning(char *msg, char *arg, int err_code); /* CLEANUP */ int free_img(t_img *data); +void free_scene(t_scene **scene); #endif diff --git a/parse.c b/parse.c index f22a9d1..6aa1c17 100644 --- a/parse.c +++ b/parse.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/25 09:24:43 by tfregni #+# #+# */ -/* Updated: 2023/06/03 20:40:42 by tfregni ### ########.fr */ +/* Updated: 2023/06/07 10:54:16 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -26,13 +26,11 @@ // } /** - * I create a triple flag as int array to check that the unique + * I pass it a triple flag as int array to check that the unique * elements are not set multiple times. */ -t_err handle_unique(t_scene *scene, char **el) +t_err handle_unique(t_scene *scene, char **el, uint8_t *flag) { - static int flag[3] = {0}; - if (!ft_strcmp(el[0], "A")) { ft_printf("Ambient\n"); @@ -59,12 +57,12 @@ t_err handle_unique(t_scene *scene, char **el) } else ft_printf("Element not recognized\n"); - // print_flag(flag); return (SUCCESS); } /** - * In case of invalid solid should we exit or move on? + * In case of invalid solid we throw a warning + * and move on to the next line */ void handle_solid(t_scene *scene, char **el) { @@ -91,40 +89,37 @@ void handle_solid(t_scene *scene, char **el) * Added support to comment # to make testing scenes easier * @returns 0 for success, > 0 for err_code */ -int parse_element(t_scene *scene, char *line) +int parse_element(t_scene *scene, char *line, uint8_t *flag) { char **el; - int ret; el = ft_split_by_sep(line, SPACE); if (!el) return (ft_warning("invalid element: ", el[0], \ INVALID_ELEMENT)); - ret = 0; - if (el[0] && el[0][0]) + if (el[0] && el[0][0] && el[0][0] != '#') { - if (el[0][0] == '#') - ret = 1; - else if (ft_isalpha(el[0][0]) && el[0][0] <= 'Z') - handle_unique(scene, el); + if (ft_isalpha(el[0][0]) && el[0][0] <= 'Z') + handle_unique(scene, el, flag); else if (ft_isalpha(el[0][0]) && el[0][0] >= 'a') handle_solid(scene, el); } ft_free_str_arr(el); - return (ret); + return (SUCCESS); } /** * @returns 0 for success, > 0 for err_code + * It will return an error if the scene doesn't have + * an Ambient or a Light or a Camera */ int parse_args(t_scene *scene, char *filename) { - int len; - int fd; - char *line; + int fd; + char *line; + static uint8_t flag[3] = {0}; - len = ft_strlen(filename); - if (ft_strncmp(".rt", &filename[len - 3], 4)) + if (ft_strncmp(".rt", &filename[ft_strlen(filename) - 3], 4)) return (ft_warning("invalid file ext", NULL, FILE_EXTENSION)); fd = open(filename, O_RDONLY); if (fd < 0) @@ -138,9 +133,10 @@ int parse_args(t_scene *scene, char *filename) break ; if (!ft_strcmp(line, "\n")) continue ; - parse_element(scene, line); + parse_element(scene, line, flag); } close(fd); - render_scene(scene); - return (0); + if (flag[0] && flag[1] && flag[2]) + return (render_scene(scene)); + return (ft_warning("cannot render", "missing element", MISS_UNIQUE)); } diff --git a/scene.rt b/scene.rt index 16768bf..18493fc 100644 --- a/scene.rt +++ b/scene.rt @@ -14,32 +14,32 @@ L -50.0,0,20 0.6 0,0,1 -A 0.8 12,12,254 -A 1,2,3 12,12,256 -A -0.2 -1,245,112 -A 0.67 127,128,129 +# A 0.8 12,12,254 +# A 1,2,3 12,12,256 +# A -0.2 -1,245,112 +# A 0.67 127,128,129 -sp -1.4,245.34,112.1 12.6 1,1,1 -sp -1.4,245.34,112.1 0 1,1,1 -sp 12.6 -1.4,245.34,112.1 -1,1,1 -sp -1.4,245.34,112.1 12.6 1,1,1 - jk +# sp -1.4,245.34,112.1 12.6 1,1,1 +# sp -1.4,245.34,112.1 0 1,1,1 +# sp 12.6 -1.4,245.34,112.1 -1,1,1 +# sp -1.4,245.34,112.1 12.6 1,1,1 +# jk - -sP -Pl +# sP +# Pl -pl -1.4,245.34,112.1 0.45,0.2,0.99 -245,245,250 -pl 245.34,112.1 -0.45,0.2,0.99 245,245,250 -pl -1.4,245.34,112.1 -0.45,0.2,0.99 265,245,250 -pl -1.4,245.34,112.1 -1.45,0.2,0.99 245,245,250 -cy bndjk fdbjk +# pl -1.4,245.34,112.1 0.45,0.2,0.99 -245,245,250 +# pl 245.34,112.1 -0.45,0.2,0.99 245,245,250 +# pl -1.4,245.34,112.1 -0.45,0.2,0.99 265,245,250 +# pl -1.4,245.34,112.1 -1.45,0.2,0.99 245,245,250 +# cy bndjk fdbjk -A fdbhj 4t67 + +# A fdbhj 4t67 From 0a7997a7e051665b91bde6c5a4dd319fc7e5d5af Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Wed, 7 Jun 2023 13:08:07 +0200 Subject: [PATCH 04/67] adding support to more than 1 element --- main.c | 4 +-- mult_circle.rt | 5 ++++ parse.c | 7 +++-- populate_solid.c | 3 ++- render.c | 68 ++++++++++++++++++++++++++++++++++++++---------- 5 files changed, 68 insertions(+), 19 deletions(-) create mode 100644 mult_circle.rt diff --git a/main.c b/main.c index a1c5587..801927b 100644 --- a/main.c +++ b/main.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:42:10 by tfregni #+# #+# */ -/* Updated: 2023/06/03 20:38:38 by tfregni ### ########.fr */ +/* Updated: 2023/06/07 12:55:01 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -79,7 +79,7 @@ int main(int ac, char **av) if (ac != 2) return (ft_putendl_fd("miniRT: bad arguments", 2), ARG_REQUIRED); scene = malloc(sizeof(t_scene)); - if (!scene || init_scene(scene)) + if (!scene || init_scene(scene) != SUCCESS) return (ft_putendl_fd("miniRT: memory fail", 2), MEM_FAIL); if (parse_args(scene, av[1])) { diff --git a/mult_circle.rt b/mult_circle.rt new file mode 100644 index 0000000..1962152 --- /dev/null +++ b/mult_circle.rt @@ -0,0 +1,5 @@ +C 0,0,-10 0,0,0 30 +A 0.8 127,127,127 +L 0,0,-10 0.6 +sp -10,0,0 4 255,0,0 +sp -8,0,0 2 0,255,0 diff --git a/parse.c b/parse.c index 6aa1c17..bb52650 100644 --- a/parse.c +++ b/parse.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/25 09:24:43 by tfregni #+# #+# */ -/* Updated: 2023/06/07 10:54:16 by tfregni ### ########.fr */ +/* Updated: 2023/06/07 13:05:15 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -137,6 +137,9 @@ int parse_args(t_scene *scene, char *filename) } close(fd); if (flag[0] && flag[1] && flag[2]) - return (render_scene(scene)); + { + return (printf("Render\n")); + // return (render_scene(scene)); + } return (ft_warning("cannot render", "missing element", MISS_UNIQUE)); } diff --git a/populate_solid.c b/populate_solid.c index 7a2088c..f986840 100644 --- a/populate_solid.c +++ b/populate_solid.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/26 21:31:05 by tfregni #+# #+# */ -/* Updated: 2023/06/05 00:47:33 by tfregni ### ########.fr */ +/* Updated: 2023/06/07 13:04:13 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -29,6 +29,7 @@ int validate_sphere(t_scene *scene, char **el) { sp.diameter = ft_atof(el[2]); scene->sp[i] = sp; + printf("sphere %d: %p\n", i, &scene->sp[i]); i++; return (SUCCESS); } diff --git a/render.c b/render.c index bb6dcab..bf9423f 100644 --- a/render.c +++ b/render.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/06/06 16:09:06 by tfregni ### ########.fr */ +/* Updated: 2023/06/07 12:52:56 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -62,7 +62,7 @@ float calc_hit_point(float discriminant, float a, float b) * It returns the discriminant. If it's >=0 it assigns to t the value of * the closest hit point */ -float intersect_sphere(t_scene *scene, t_vector ray_direction, float *t) +float calc_discriminant(t_scene *scene, t_vector ray_direction, float *t, int i) { float a; float b; @@ -70,28 +70,67 @@ float intersect_sphere(t_scene *scene, t_vector ray_direction, float *t) t_point_3d transl; float discriminant; + printf("here\n"); a = vect_dot(ray_direction, ray_direction); - transl = vect_sub(scene->camera.pos, scene->sp[0].pos); + transl = vect_sub(scene->camera.pos, scene->sp[i].pos); b = 2.0f * vect_dot(transl, ray_direction); - c = vect_dot(transl, transl) - pow((scene->sp->diameter / 2), 2); + c = vect_dot(transl, transl) - pow((scene->sp[i].diameter / 2), 2); discriminant = b * b - (4.0f * a * c); if (discriminant >= 0) *t = calc_hit_point(discriminant, a, b); return (discriminant); } -float light_coeff(t_scene *scene, float t, t_vector ray_direction) +float light_coeff(t_scene *scene, float t, t_vector ray_direction, int i) { t_vector hit_pos; t_vector normal; float light; hit_pos = vect_sum(scene->camera.pos, vect_mult(ray_direction, t)); - normal = vect_norm(vect_sub(hit_pos, scene->sp[0].pos)); + normal = vect_norm(vect_sub(hit_pos, scene->sp[i].pos)); light = ft_max(vect_dot(normal, vect_inverse((vect_norm(scene->light.pos)))), 0.0f); return (light); } +int intersect_sphere(t_scene *scene, t_vector ray_direction, float *t, int idx) +{ + if (calc_discriminant(scene, ray_direction, t, idx) < 0) + return (0); + return (1); +} + +int intersect_element(t_scene *scene, t_vector ray_dir, int *color, float *min_t) +{ + int i; + int ret; + float t; + + ret = 0; + i = 0; + while (scene->sp) + { + if (intersect_sphere(scene, ray_dir, &t, i) && t < *min_t) + { + *min_t = t; + *color = apply_ligthing_ratio(scene->sp[i].trgb, light_coeff(scene, t, ray_dir, i)); + ret = 1; + } + i++; + } + // i = 0; + // while (scene->pl + i * sizeof(t_plane)) + // { + // i++; + // } + // i = 0; + // while (scene->cy + i * sizeof(t_cylinder)) + // { + // i++; + // } + return (ret); +} + /** * @returns a color as int * @math @@ -111,15 +150,18 @@ int per_pixel(t_pxl p, t_scene *scene) { t_point_2d coord; t_vector ray_direction; - float discriminant; + // float discriminant; float t; + int color; coord = to_canvas(p); ray_direction = vect_norm((t_vector){coord.x, coord.y, -1.0f}); - discriminant = intersect_sphere(scene, ray_direction, &t); - if (discriminant >= 0) + // discriminant = intersect_sphere(scene, ray_direction, &t); + // if (discriminant >= 0) + if (intersect_element(scene, ray_direction, &color, &t)) { - return (apply_ligthing_ratio(scene->sp[0].trgb, light_coeff(scene, t, ray_direction))); + // return (apply_ligthing_ratio(scene->sp[0].trgb, light_coeff(scene, t, ray_direction))); + return (color); } return (apply_ligthing_ratio(scene->ambient.trgb, \ scene->ambient.lighting_ratio)); @@ -146,9 +188,6 @@ void draw(t_scene *scene) } p.y++; } - // p.x = 250; - // t_point_2d point = to_canvas(p); - // printf("pxl x: %d y: %d canvas x: %f y: %f\n", p.x, p.y, point.x, point.y); mlx_put_image_to_window(data->mlx_ptr, data->win_ptr, data->img, 0, 0); } @@ -158,6 +197,7 @@ t_err render_scene(t_scene *scene) { draw(scene); mlx_manage(scene); + return (SUCCESS); } - return (SUCCESS); + return (ft_error("render", "couldn't init image", MEM_FAIL, scene)); } From 07e4941aba6571e654b459cec0979f464564929b Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Wed, 7 Jun 2023 14:02:40 +0200 Subject: [PATCH 05/67] broken version --- parse.c | 11 ++++++++--- populate_solid.c | 4 +++- render.c | 4 ++-- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/parse.c b/parse.c index bb52650..bcad65b 100644 --- a/parse.c +++ b/parse.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/25 09:24:43 by tfregni #+# #+# */ -/* Updated: 2023/06/07 13:05:15 by tfregni ### ########.fr */ +/* Updated: 2023/06/07 13:54:02 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -138,8 +138,13 @@ int parse_args(t_scene *scene, char *filename) close(fd); if (flag[0] && flag[1] && flag[2]) { - return (printf("Render\n")); - // return (render_scene(scene)); + // while ((*scene->sp).diameter) + // { + // printf("SPHERE\n"); + // scene->sp++; + // } + // exit (printf("Render\n")); + return (render_scene(scene)); } return (ft_warning("cannot render", "missing element", MISS_UNIQUE)); } diff --git a/populate_solid.c b/populate_solid.c index f986840..d4b07d8 100644 --- a/populate_solid.c +++ b/populate_solid.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/26 21:31:05 by tfregni #+# #+# */ -/* Updated: 2023/06/07 13:04:13 by tfregni ### ########.fr */ +/* Updated: 2023/06/07 13:51:55 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -28,7 +28,9 @@ int validate_sphere(t_scene *scene, char **el) && extract_rgb(el[3], &sp.trgb) == SUCCESS) { sp.diameter = ft_atof(el[2]); + // printf("before: sphere %d: %d\n", i, scene->sp[i]); scene->sp[i] = sp; + // printf to remove printf("sphere %d: %p\n", i, &scene->sp[i]); i++; return (SUCCESS); diff --git a/render.c b/render.c index bf9423f..3aa49e3 100644 --- a/render.c +++ b/render.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/06/07 12:52:56 by tfregni ### ########.fr */ +/* Updated: 2023/06/07 13:53:19 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -108,7 +108,7 @@ int intersect_element(t_scene *scene, t_vector ray_dir, int *color, float *min_t ret = 0; i = 0; - while (scene->sp) + while (scene->sp[i].diameter) { if (intersect_sphere(scene, ray_dir, &t, i) && t < *min_t) { From cad3f11949f4f9f760da7675741c31185c49c1b8 Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Wed, 7 Jun 2023 14:35:22 +0200 Subject: [PATCH 06/67] added support for multi spheres --- Makefile | 4 +-- circle.rt | 2 +- libft | 2 +- minirt.h | 11 +++++++- mult_circle.rt | 4 +-- render.c | 70 +++----------------------------------------------- sphere.c | 63 +++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 82 insertions(+), 74 deletions(-) create mode 100644 sphere.c diff --git a/Makefile b/Makefile index f9ae2ab..e11ea99 100644 --- a/Makefile +++ b/Makefile @@ -6,12 +6,12 @@ # By: tfregni +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2023/01/30 20:41:46 by tfregni #+# #+# # -# Updated: 2023/06/03 20:57:10 by tfregni ### ########.fr # +# Updated: 2023/06/07 14:25:51 by tfregni ### ########.fr # # # # **************************************************************************** # SRCS = main.c parse.c populate_element.c populate_solid.c parse_util.c \ - libx.c render.c vector_calcs.c event_handler.c + libx.c render.c sphere.c vector_calcs.c event_handler.c UNAME_S := $(shell uname -s) OBJS = ${SRCS:.c=.o} CC = cc diff --git a/circle.rt b/circle.rt index a329c5f..9e71806 100644 --- a/circle.rt +++ b/circle.rt @@ -1,4 +1,4 @@ C 0,0,-10 0,0,0 30 A 0.8 127,127,127 L 0,0,-10 0.6 -sp -10,0,0 4 255,0,0 +sp 0,0,0 4 255,0,0 diff --git a/libft b/libft index 88e34ae..d661922 160000 --- a/libft +++ b/libft @@ -1 +1 @@ -Subproject commit 88e34ae21a8ce24ee79f7863b2dd248c9bfd3d84 +Subproject commit d6619221e2f6b0c849d7df959e0f09bee6fb8ec1 diff --git a/minirt.h b/minirt.h index 9af442d..9d91b97 100644 --- a/minirt.h +++ b/minirt.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/06/07 10:43:16 by tfregni ### ########.fr */ +/* Updated: 2023/06/07 14:24:51 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -27,6 +27,7 @@ # define CANV_MIN_Y -1 # define CAM_PACE 0.1 # define LIGHT_PACE 0.3 +# define RAY_LEN 100 typedef enum e_err { @@ -171,6 +172,14 @@ t_err init_img(t_scene *scene); t_err render_scene(t_scene *scene); void draw(t_scene *scene); +/* SPHERE */ +int intersect_sphere(t_scene *scene, t_vector ray_direction, \ + float *t, int i); +float sp_light_coeff(t_scene *scene, float t, t_vector ray_direction, int i); +float sp_calc_discriminant(t_scene *scene, t_vector ray_direction, \ + float *t, int i); +float sp_calc_hit_point(float discriminant, float a, float b); + /* ERROR HANDLING*/ t_err ft_error(char *msg, char *arg, int err_code, t_scene *scene); t_err ft_warning(char *msg, char *arg, int err_code); diff --git a/mult_circle.rt b/mult_circle.rt index 1962152..379f86e 100644 --- a/mult_circle.rt +++ b/mult_circle.rt @@ -1,5 +1,5 @@ C 0,0,-10 0,0,0 30 A 0.8 127,127,127 L 0,0,-10 0.6 -sp -10,0,0 4 255,0,0 -sp -8,0,0 2 0,255,0 +sp 1,0,0 4 255,0,0 +sp -4,0,0 2 0,255,0 diff --git a/render.c b/render.c index 3aa49e3..df4add0 100644 --- a/render.c +++ b/render.c @@ -6,27 +6,13 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/06/07 13:53:19 by tfregni ### ########.fr */ +/* Updated: 2023/06/07 14:33:09 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ #include "minirt.h" #include "vector_math.h" -float ft_max(float a, float b) -{ - if (a > b) - return (a); - return (b); -} - -float ft_min(float a, float b) -{ - if (a < b) - return (a); - return (b); -} - /** * range_x / WIDTH = canvas size of 1 pxl on x axis * range_x / WIDTH * ratio = canvas size of 1 pxl on y axis @@ -53,53 +39,6 @@ int apply_ligthing_ratio(int trgb, float lighting_ratio) lighting_ratio * (trgb & 0xFF))); } -float calc_hit_point(float discriminant, float a, float b) -{ - return ((-b - sqrt(discriminant)) / (2.0f * a)); -} - -/** - * It returns the discriminant. If it's >=0 it assigns to t the value of - * the closest hit point -*/ -float calc_discriminant(t_scene *scene, t_vector ray_direction, float *t, int i) -{ - float a; - float b; - float c; - t_point_3d transl; - float discriminant; - - printf("here\n"); - a = vect_dot(ray_direction, ray_direction); - transl = vect_sub(scene->camera.pos, scene->sp[i].pos); - b = 2.0f * vect_dot(transl, ray_direction); - c = vect_dot(transl, transl) - pow((scene->sp[i].diameter / 2), 2); - discriminant = b * b - (4.0f * a * c); - if (discriminant >= 0) - *t = calc_hit_point(discriminant, a, b); - return (discriminant); -} - -float light_coeff(t_scene *scene, float t, t_vector ray_direction, int i) -{ - t_vector hit_pos; - t_vector normal; - float light; - - hit_pos = vect_sum(scene->camera.pos, vect_mult(ray_direction, t)); - normal = vect_norm(vect_sub(hit_pos, scene->sp[i].pos)); - light = ft_max(vect_dot(normal, vect_inverse((vect_norm(scene->light.pos)))), 0.0f); - return (light); -} - -int intersect_sphere(t_scene *scene, t_vector ray_direction, float *t, int idx) -{ - if (calc_discriminant(scene, ray_direction, t, idx) < 0) - return (0); - return (1); -} - int intersect_element(t_scene *scene, t_vector ray_dir, int *color, float *min_t) { int i; @@ -113,7 +52,7 @@ int intersect_element(t_scene *scene, t_vector ray_dir, int *color, float *min_t if (intersect_sphere(scene, ray_dir, &t, i) && t < *min_t) { *min_t = t; - *color = apply_ligthing_ratio(scene->sp[i].trgb, light_coeff(scene, t, ray_dir, i)); + *color = apply_ligthing_ratio(scene->sp[i].trgb, sp_light_coeff(scene, t, ray_dir, i)); ret = 1; } i++; @@ -150,17 +89,14 @@ int per_pixel(t_pxl p, t_scene *scene) { t_point_2d coord; t_vector ray_direction; - // float discriminant; float t; int color; + t = RAY_LEN; coord = to_canvas(p); ray_direction = vect_norm((t_vector){coord.x, coord.y, -1.0f}); - // discriminant = intersect_sphere(scene, ray_direction, &t); - // if (discriminant >= 0) if (intersect_element(scene, ray_direction, &color, &t)) { - // return (apply_ligthing_ratio(scene->sp[0].trgb, light_coeff(scene, t, ray_direction))); return (color); } return (apply_ligthing_ratio(scene->ambient.trgb, \ diff --git a/sphere.c b/sphere.c new file mode 100644 index 0000000..33b22a4 --- /dev/null +++ b/sphere.c @@ -0,0 +1,63 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* sphere.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tfregni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/06/07 14:22:05 by tfregni #+# #+# */ +/* Updated: 2023/06/07 14:33:27 by tfregni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "minirt.h" +#include "vector_math.h" + +float sp_calc_hit_point(float discriminant, float a, float b) +{ + return ((-b - sqrt(discriminant)) / (2.0f * a)); +} + +/** + * It returns the discriminant. If it's >=0 it assigns to t the value of + * the closest hit point +*/ +float sp_calc_discriminant(t_scene *scene, t_vector ray_direction, \ + float *t, int i) +{ + float a; + float b; + float c; + t_point_3d transl; + float discriminant; + + a = vect_dot(ray_direction, ray_direction); + transl = vect_sub(scene->camera.pos, scene->sp[i].pos); + b = 2.0f * vect_dot(transl, ray_direction); + c = vect_dot(transl, transl) - pow((scene->sp[i].diameter / 2), 2); + discriminant = b * b - (4.0f * a * c); + if (discriminant >= 0) + *t = sp_calc_hit_point(discriminant, a, b); + return (discriminant); +} + +float sp_light_coeff(t_scene *scene, float t, t_vector ray_direction, int i) +{ + t_vector hit_pos; + t_vector normal; + float light; + + hit_pos = vect_sum(scene->camera.pos, vect_mult(ray_direction, t)); + normal = vect_norm(vect_sub(hit_pos, scene->sp[i].pos)); + light = ft_fmax(\ + vect_dot(normal, vect_inverse((vect_norm(scene->light.pos)))), 0.0f); + return (light); +} + +int intersect_sphere(t_scene *scene, t_vector ray_direction, float *t, int i) +{ + if (sp_calc_discriminant(scene, ray_direction, t, i) < 0) + return (0); + return (1); +} + From c24ec95b0fdbff163e23506358df615ed864c1af Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Thu, 8 Jun 2023 09:14:08 +0200 Subject: [PATCH 07/67] first attempt --- Makefile | 4 ++-- minirt.h | 7 ++++++- parse.c | 3 ++- plane.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ plane.rt | 5 +++++ populate_solid.c | 4 +++- render.c | 18 ++++++++++++------ 7 files changed, 77 insertions(+), 11 deletions(-) create mode 100644 plane.c create mode 100644 plane.rt diff --git a/Makefile b/Makefile index e11ea99..48b0e54 100644 --- a/Makefile +++ b/Makefile @@ -6,12 +6,12 @@ # By: tfregni +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2023/01/30 20:41:46 by tfregni #+# #+# # -# Updated: 2023/06/07 14:25:51 by tfregni ### ########.fr # +# Updated: 2023/06/07 23:26:12 by tfregni ### ########.fr # # # # **************************************************************************** # SRCS = main.c parse.c populate_element.c populate_solid.c parse_util.c \ - libx.c render.c sphere.c vector_calcs.c event_handler.c + libx.c render.c sphere.c plane.c vector_calcs.c event_handler.c UNAME_S := $(shell uname -s) OBJS = ${SRCS:.c=.o} CC = cc diff --git a/minirt.h b/minirt.h index 9d91b97..50c64da 100644 --- a/minirt.h +++ b/minirt.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/06/07 14:24:51 by tfregni ### ########.fr */ +/* Updated: 2023/06/07 23:38:08 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -120,6 +120,7 @@ typedef struct s_plane t_point_3d pos; t_vector rotation; int trgb; + int valid; } t_plane; typedef struct s_cylinder @@ -180,6 +181,10 @@ float sp_calc_discriminant(t_scene *scene, t_vector ray_direction, \ float *t, int i); float sp_calc_hit_point(float discriminant, float a, float b); +/* PLANE */ +int intersect_plane(t_scene *scene, t_vector ray_direction, \ + float *t, int i); + /* ERROR HANDLING*/ t_err ft_error(char *msg, char *arg, int err_code, t_scene *scene); t_err ft_warning(char *msg, char *arg, int err_code); diff --git a/parse.c b/parse.c index bcad65b..6acf5c1 100644 --- a/parse.c +++ b/parse.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/25 09:24:43 by tfregni #+# #+# */ -/* Updated: 2023/06/07 13:54:02 by tfregni ### ########.fr */ +/* Updated: 2023/06/08 00:11:54 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -66,6 +66,7 @@ t_err handle_unique(t_scene *scene, char **el, uint8_t *flag) */ void handle_solid(t_scene *scene, char **el) { + scene->pl[MAX_SOLID].valid = 0; if (!ft_strcmp(el[0], "sp")) { if (!validate_sphere(scene, el)) diff --git a/plane.c b/plane.c new file mode 100644 index 0000000..b0bde0e --- /dev/null +++ b/plane.c @@ -0,0 +1,47 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* plane.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tfregni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/06/07 23:25:30 by tfregni #+# #+# */ +/* Updated: 2023/06/08 09:13:05 by tfregni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "minirt.h" +#include "vector_math.h" + +/** + * ray: p = a + bt + * p: a point on the ray + * a: the origin (camera.pos) + * b: direction + * t: distance along the ray + * plane: (p - p0)·n = 0 + * p0: given point on the plane (pl.pos) + * p: an arbitrary point on the plane + * n: the normal vector + * The vector between p and p0 is the difference between them + * This vector lies on the plane and therefore it's perpendicular + * to the normal. The dot product of perpendicular vectors is 0. + * If I substitute the ray equation into the plane equation to + * look for a point that belongs to both + * (a + bt - p0)·n = 0 which solved for t is + * ((p0 - a) · n) / b · n +*/ +int intersect_plane(t_scene *scene, t_vector ray_direction, float *t, int i) +{ + float denominator; + float numerator; + + denominator = vect_dot(ray_direction, vect_norm(scene->pl[i].rotation)); + if (denominator > 1e-6) + { + numerator = vect_dot(vect_sub(scene->pl[i].pos, scene->camera.pos), vect_norm(scene->pl[i].rotation)); + *t = numerator / denominator; + return (1); + } + return (0); +} diff --git a/plane.rt b/plane.rt new file mode 100644 index 0000000..79ee117 --- /dev/null +++ b/plane.rt @@ -0,0 +1,5 @@ +C 0,0,-10 0,0,0 30 +A 0.8 127,127,127 +L 0,0,-10 0.6 +pl 0,0,-10 1,1,0 0,0,255 + diff --git a/populate_solid.c b/populate_solid.c index d4b07d8..656efc6 100644 --- a/populate_solid.c +++ b/populate_solid.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/26 21:31:05 by tfregni #+# #+# */ -/* Updated: 2023/06/07 13:51:55 by tfregni ### ########.fr */ +/* Updated: 2023/06/08 00:12:42 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -43,6 +43,7 @@ int validate_plane(t_scene *scene, char **el) t_plane pl; static int i = 0; + scene->pl[i].valid = 0; if (i == MAX_SOLID) return (ft_warning("not handling these many solids", \ NULL, INVALID_FILE)); @@ -55,6 +56,7 @@ int validate_plane(t_scene *scene, char **el) || extract_rgb(el[3], &pl.trgb)) return (ft_warning("invalid argument: ", el[2], \ INVALID_ELEMENT)); + pl.valid = 1; scene->pl[i] = pl; i++; return (SUCCESS); diff --git a/render.c b/render.c index df4add0..297d0df 100644 --- a/render.c +++ b/render.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/06/07 14:33:09 by tfregni ### ########.fr */ +/* Updated: 2023/06/08 09:07:18 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -57,11 +57,17 @@ int intersect_element(t_scene *scene, t_vector ray_dir, int *color, float *min_t } i++; } - // i = 0; - // while (scene->pl + i * sizeof(t_plane)) - // { - // i++; - // } + i = 0; + while (scene->pl[i].valid) + { + if (intersect_plane(scene, ray_dir, &t, i) && t < *min_t) + { + *min_t = t; + *color = apply_ligthing_ratio(scene->pl[i].trgb, scene->ambient.lighting_ratio); + ret = 1; + } + i++; + } // i = 0; // while (scene->cy + i * sizeof(t_cylinder)) // { From 992c5fb5a31f139327cb01c0072137aec920d22a Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Fri, 9 Jun 2023 01:18:55 +0200 Subject: [PATCH 08/67] playing around --- circle.rt | 2 +- main.c | 4 ++-- matrix_calcs.c | 31 +++++++++++++++++++++++++++++++ matrix_math.h | 21 +++++++++++++++++++++ minirt.h | 13 +++++++++---- populate_element.c | 34 +++++++++++++++++++++++++++++++++- 6 files changed, 97 insertions(+), 8 deletions(-) create mode 100644 matrix_calcs.c create mode 100644 matrix_math.h diff --git a/circle.rt b/circle.rt index 9e71806..10b45ec 100644 --- a/circle.rt +++ b/circle.rt @@ -1,4 +1,4 @@ -C 0,0,-10 0,0,0 30 +C 0,0,-10 0,0,0 178 A 0.8 127,127,127 L 0,0,-10 0.6 sp 0,0,0 4 255,0,0 diff --git a/main.c b/main.c index 801927b..5663f92 100644 --- a/main.c +++ b/main.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:42:10 by tfregni #+# #+# */ -/* Updated: 2023/06/07 12:55:01 by tfregni ### ########.fr */ +/* Updated: 2023/06/08 23:49:05 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -76,7 +76,7 @@ int main(int ac, char **av) { t_scene *scene; - if (ac != 2) + if (ac != 2 || WIDTH <= 0 || HEIGHT <= 0) return (ft_putendl_fd("miniRT: bad arguments", 2), ARG_REQUIRED); scene = malloc(sizeof(t_scene)); if (!scene || init_scene(scene) != SUCCESS) diff --git a/matrix_calcs.c b/matrix_calcs.c new file mode 100644 index 0000000..50ff36b --- /dev/null +++ b/matrix_calcs.c @@ -0,0 +1,31 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* matrix_calcs.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tfregni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/06/08 18:05:50 by tfregni #+# #+# */ +/* Updated: 2023/06/08 18:43:16 by tfregni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "minirt.h" +#include "matrix_math.h" + +/** + * @param p 3D point. Its 4th dimension is implicitly set to 1 + * m 4x4: matrix + * @returns a transformed 3D point +*/ +t_point_3d transform(t_point p, t_matrix_trans m) +{ + t_point_3d ret; + float w; + + w = p.x * m[0][3] + p.y * m[1][3] + p.z * m[2][3] + m[3][3]; + ret.x = (p.x * m[0][0] + p.y * m[1][0] + p.z * m[2][0] + m[3][0]) / w; + ret.y = (p.x * m[0][1] + p.y * m[1][1] + p.z * m[2][1] + m[3][1]) / w; + ret.z = (p.x * m[0][2] + p.y * m[1][2] + p.z * m[2][2] + m[3][2]) / w; + return (ret); +} diff --git a/matrix_math.h b/matrix_math.h new file mode 100644 index 0000000..7551684 --- /dev/null +++ b/matrix_math.h @@ -0,0 +1,21 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* matrix_math.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tfregni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/06/08 18:06:27 by tfregni #+# #+# */ +/* Updated: 2023/06/08 18:40:01 by tfregni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef MATRIX_MATH_H +# define MATRIX_MATH_H +# include "minirt.h" + +typedef float t_matrix_trans[4][4]; + +t_point_3d transform(t_point p, t_matrix_trans m); + +#endif diff --git a/minirt.h b/minirt.h index 9d91b97..b4b50de 100644 --- a/minirt.h +++ b/minirt.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/06/07 14:24:51 by tfregni ### ########.fr */ +/* Updated: 2023/06/09 00:58:25 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -22,9 +22,10 @@ # define MAX_SOLID 3 # define WIDTH 1024 # define HEIGHT 768 -# define CANV_MIN_X -1 -# define CANV_MAX_X 1 -# define CANV_MIN_Y -1 +# define CANV_MIN_X -1.0f +# define CANV_MAX_X 1.0f +# define CANV_MIN_Y -1.0f +# define CANV_DIST 1 # define CAM_PACE 0.1 # define LIGHT_PACE 0.3 # define RAY_LEN 100 @@ -99,6 +100,10 @@ typedef struct s_camera t_point_3d pos; t_vector orientation; uint8_t fov; + float min_x; + float max_x; + float min_y; + float max_y; } t_camera; typedef struct s_light diff --git a/populate_element.c b/populate_element.c index 64a46a5..71f724b 100644 --- a/populate_element.c +++ b/populate_element.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/26 21:30:47 by tfregni #+# #+# */ -/* Updated: 2023/06/05 00:47:10 by tfregni ### ########.fr */ +/* Updated: 2023/06/09 01:18:25 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -30,6 +30,36 @@ t_err validate_ambient(t_scene *scene, char **el) el[1], INVALID_ELEMENT)); } +void set_y_range(t_camera *c, float range_x) +{ + float ratio; + float range_y; + float mid_y; + + ratio = (float)WIDTH / HEIGHT; + range_y = range_x * ratio; + printf("range_x: %f ratio: %f\n", range_x, ratio); + mid_y = CANV_MIN_Y + (range_y / 2); + c->min_y = mid_y - (range_y / 2); + c->max_y = c->min_y + range_y; +} + +/** + * if FOV == 180 the tan explodes +*/ +void set_camera_canvas(t_camera *c) +{ + float max_range_x; + float mid; + float fov_rad; + + fov_rad = c->fov * (M_PI / 180); + // max_range_x = CANV_MAX_X - CANV_MIN_X; + max_range_x = 2 * tan(fov_rad / 2); + mid = CANV_MIN_X + (max_range_x / 2); + printf("range: %f rad: %f mid: %f\n", max_range_x, fov_rad, mid); +} + /** * Shall we set limits for the position? Maybe macroed in the header file * @returns 0 for success @@ -48,6 +78,8 @@ t_err validate_camera(t_scene *scene, char **el) if (scene->camera.fov < 0 || scene->camera.fov > 180) return (ft_warning("invalid argument: ", el[3], \ INVALID_ELEMENT)); + set_camera_canvas(&scene->camera); + printf("w: %i h: %i min_x: %f min_y: %f, fov: %i bot_left: %f, %f top_right: %f, %f\n", WIDTH, HEIGHT, CANV_MIN_X, CANV_MIN_Y, scene->camera.fov, scene->camera.min_x, scene->camera.min_y, scene->camera.max_x, scene->camera.max_y); return (SUCCESS); } From e6b449bce9e0934bc0354397e99883f977b93826 Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Fri, 9 Jun 2023 16:31:19 +0200 Subject: [PATCH 09/67] implemented FOV and proj matrix, still very wanky --- Makefile | 4 +-- circle.rt | 2 +- matrix_calcs.c | 18 ++++++---- matrix_math.h | 4 +-- minirt.h | 15 ++++---- populate_element.c | 37 ++++++++----------- render.c | 90 ++++++++++++++++++++++++++++++++++++++-------- 7 files changed, 117 insertions(+), 53 deletions(-) diff --git a/Makefile b/Makefile index e11ea99..aa18c34 100644 --- a/Makefile +++ b/Makefile @@ -6,12 +6,12 @@ # By: tfregni +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2023/01/30 20:41:46 by tfregni #+# #+# # -# Updated: 2023/06/07 14:25:51 by tfregni ### ########.fr # +# Updated: 2023/06/09 14:56:49 by tfregni ### ########.fr # # # # **************************************************************************** # SRCS = main.c parse.c populate_element.c populate_solid.c parse_util.c \ - libx.c render.c sphere.c vector_calcs.c event_handler.c + libx.c render.c sphere.c vector_calcs.c matrix_calcs.c event_handler.c UNAME_S := $(shell uname -s) OBJS = ${SRCS:.c=.o} CC = cc diff --git a/circle.rt b/circle.rt index 10b45ec..ff38720 100644 --- a/circle.rt +++ b/circle.rt @@ -1,4 +1,4 @@ -C 0,0,-10 0,0,0 178 +C 0.2,0.4,-10 0,0,0 90 A 0.8 127,127,127 L 0,0,-10 0.6 sp 0,0,0 4 255,0,0 diff --git a/matrix_calcs.c b/matrix_calcs.c index 50ff36b..ee6e509 100644 --- a/matrix_calcs.c +++ b/matrix_calcs.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/08 18:05:50 by tfregni #+# #+# */ -/* Updated: 2023/06/08 18:43:16 by tfregni ### ########.fr */ +/* Updated: 2023/06/09 13:02:15 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -16,16 +16,22 @@ /** * @param p 3D point. Its 4th dimension is implicitly set to 1 * m 4x4: matrix - * @returns a transformed 3D point + * @returns a transformed 3D point */ -t_point_3d transform(t_point p, t_matrix_trans m) +t_point_3d transform(t_point_3d p, t_matrix_trans m) { t_point_3d ret; float w; w = p.x * m[0][3] + p.y * m[1][3] + p.z * m[2][3] + m[3][3]; - ret.x = (p.x * m[0][0] + p.y * m[1][0] + p.z * m[2][0] + m[3][0]) / w; - ret.y = (p.x * m[0][1] + p.y * m[1][1] + p.z * m[2][1] + m[3][1]) / w; - ret.z = (p.x * m[0][2] + p.y * m[1][2] + p.z * m[2][2] + m[3][2]) / w; + ret.x = (p.x * m[0][0] + p.y * m[1][0] + p.z * m[2][0] + m[3][0]); + ret.y = (p.x * m[0][1] + p.y * m[1][1] + p.z * m[2][1] + m[3][1]); + ret.z = (p.x * m[0][2] + p.y * m[1][2] + p.z * m[2][2] + m[3][2]); + if (w != 1) + { + ret.x = ret.x / w; + ret.y = ret.y / w; + ret.z = ret.z / w; + } return (ret); } diff --git a/matrix_math.h b/matrix_math.h index 7551684..1bdb782 100644 --- a/matrix_math.h +++ b/matrix_math.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/08 18:06:27 by tfregni #+# #+# */ -/* Updated: 2023/06/08 18:40:01 by tfregni ### ########.fr */ +/* Updated: 2023/06/09 12:01:30 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -16,6 +16,6 @@ typedef float t_matrix_trans[4][4]; -t_point_3d transform(t_point p, t_matrix_trans m); +t_point_3d transform(t_point_3d p, t_matrix_trans m); #endif diff --git a/minirt.h b/minirt.h index b4b50de..8f36e3e 100644 --- a/minirt.h +++ b/minirt.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/06/09 00:58:25 by tfregni ### ########.fr */ +/* Updated: 2023/06/09 15:56:22 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -28,7 +28,11 @@ # define CANV_DIST 1 # define CAM_PACE 0.1 # define LIGHT_PACE 0.3 -# define RAY_LEN 100 +# define RAY_LEN 50 +# define ZNEAR CANV_DIST +# define ZFAR RAY_LEN + +typedef float t_matrix_trans[4][4]; typedef enum e_err { @@ -100,10 +104,9 @@ typedef struct s_camera t_point_3d pos; t_vector orientation; uint8_t fov; - float min_x; - float max_x; - float min_y; - float max_y; + t_point_2d top_right; + t_point_2d bot_left; + t_matrix_trans m_proj; } t_camera; typedef struct s_light diff --git a/populate_element.c b/populate_element.c index 71f724b..07a3934 100644 --- a/populate_element.c +++ b/populate_element.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/26 21:30:47 by tfregni #+# #+# */ -/* Updated: 2023/06/09 01:18:25 by tfregni ### ########.fr */ +/* Updated: 2023/06/09 16:22:19 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -30,34 +30,28 @@ t_err validate_ambient(t_scene *scene, char **el) el[1], INVALID_ELEMENT)); } -void set_y_range(t_camera *c, float range_x) -{ - float ratio; - float range_y; - float mid_y; - - ratio = (float)WIDTH / HEIGHT; - range_y = range_x * ratio; - printf("range_x: %f ratio: %f\n", range_x, ratio); - mid_y = CANV_MIN_Y + (range_y / 2); - c->min_y = mid_y - (range_y / 2); - c->max_y = c->min_y + range_y; -} - /** * if FOV == 180 the tan explodes */ void set_camera_canvas(t_camera *c) { - float max_range_x; - float mid; + float range_x; + float range_y; float fov_rad; + float ratio; + if (c->fov >= 180) + c->fov = 179; + if (c->fov < 0) + c->fov = 0; + ratio = (float)WIDTH / HEIGHT; fov_rad = c->fov * (M_PI / 180); - // max_range_x = CANV_MAX_X - CANV_MIN_X; - max_range_x = 2 * tan(fov_rad / 2); - mid = CANV_MIN_X + (max_range_x / 2); - printf("range: %f rad: %f mid: %f\n", max_range_x, fov_rad, mid); + range_x = 2 * tan(fov_rad / 2) * CANV_DIST; + range_y = range_x / ratio; + c->top_right = (t_point_2d){range_x / 2 + c->pos.x, range_y / 2 + c->pos.y}; + c->bot_left = (t_point_2d){(range_x / 2) * -1 + \ + c->pos.x, -(range_y / 2) + c->pos.y}; + printf("rad: %f range_x: %f range_y: %f corners: b %f t %f l %f r %f\n", fov_rad, range_x, range_y, c->bot_left.y, c->top_right.y, c->top_right.x, c->bot_left.x); } /** @@ -79,7 +73,6 @@ t_err validate_camera(t_scene *scene, char **el) return (ft_warning("invalid argument: ", el[3], \ INVALID_ELEMENT)); set_camera_canvas(&scene->camera); - printf("w: %i h: %i min_x: %f min_y: %f, fov: %i bot_left: %f, %f top_right: %f, %f\n", WIDTH, HEIGHT, CANV_MIN_X, CANV_MIN_Y, scene->camera.fov, scene->camera.min_x, scene->camera.min_y, scene->camera.max_x, scene->camera.max_y); return (SUCCESS); } diff --git a/render.c b/render.c index df4add0..af31750 100644 --- a/render.c +++ b/render.c @@ -6,31 +6,89 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/06/07 14:33:09 by tfregni ### ########.fr */ +/* Updated: 2023/06/09 16:04:15 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ #include "minirt.h" #include "vector_math.h" +#include "matrix_math.h" /** * range_x / WIDTH = canvas size of 1 pxl on x axis * range_x / WIDTH * ratio = canvas size of 1 pxl on y axis - * added - to flip the y axis + * added - to flip the axis */ -t_point_2d to_canvas(t_pxl pxl) +// t_point_2d to_canvas(t_pxl pxl) +// { +// t_point_2d ret; +// float range_x; +// float ratio; + +// range_x = CANV_MAX_X - CANV_MIN_X; +// ratio = WIDTH / HEIGHT; +// ret.x = -(range_x / WIDTH * pxl.x + CANV_MIN_X); +// ret.y = -(range_x / WIDTH * ratio * pxl.y + CANV_MIN_Y); +// return (ret); +// } + +t_point_2d to_canvas_new(t_pxl pxl, t_camera *c) { t_point_2d ret; float range_x; - float ratio; + float range_y; - range_x = CANV_MAX_X - CANV_MIN_X; - ratio = WIDTH / HEIGHT; - ret.x = -(range_x / WIDTH * pxl.x + CANV_MIN_X); - ret.y = -(range_x / WIDTH * ratio * pxl.y + CANV_MIN_Y); + range_x = c->top_right.x - c->bot_left.x; + range_y = c->top_right.y - c->bot_left.y; + ret.x = range_x / WIDTH * pxl.x + c->bot_left.x; + ret.y = range_y / HEIGHT * pxl.y + c->bot_left.y; return (ret); } +void print_4x4(t_matrix_trans m) +{ + for (int i = 0; i < 4; i++) + { + for (int j = 0; j < 4; j++) + printf("%f\t", m[i][j]); + printf("\n"); + } + printf("\n"); +} + +void set_proj_matrix(t_matrix_trans proj, t_camera *c) +{ + proj[0][0] = (2 * ZNEAR) / (c->top_right.x - c->bot_left.x); + proj[0][1] = 0.0f; + proj[0][2] = 0.0f; + proj[0][3] = 0.0f; + proj[1][0] = 0.0f; + proj[1][1] = (2 * ZNEAR) / (c->top_right.y - c->bot_left.y); + proj[1][2] = 0.0f; + proj[1][3] = 0.0f; + proj[2][0] = (c->top_right.x + c->bot_left.x) / (c->top_right.x - c->bot_left.x); + proj[2][1] = (c->top_right.y + c->bot_left.y) / (c->top_right.y - c->bot_left.y); + proj[2][2] = -((ZFAR + ZNEAR) / (ZFAR - ZNEAR)); + proj[2][3] = -1.0f; + proj[3][0] = 0.0f; + proj[3][1] = 0.0f; + proj[3][2] = -((2 * ZFAR * ZNEAR) / (ZFAR - ZNEAR)); + proj[3][3] = 0.0f; + print_4x4(proj); +} + +/** + * As in openGL, we state that the projection plane coinincides + * with the near clipping plane. + * https://www.scratchapixel.com/lessons/3d-basic-rendering + * /perspective-and-orthographic-projection-matrix + * /opengl-perspective-projection-matrix.html +*/ +t_point_3d world_to_cam(t_point_3d p, t_matrix_trans proj) +{ + return (transform(p, proj)); +} + int apply_ligthing_ratio(int trgb, float lighting_ratio) { return (create_trgb(0, \ @@ -87,14 +145,17 @@ int intersect_element(t_scene *scene, t_vector ray_dir, int *color, float *min_t */ int per_pixel(t_pxl p, t_scene *scene) { - t_point_2d coord; - t_vector ray_direction; - float t; - int color; + t_point_2d coord; + t_vector ray_direction; + float t; + int color; + t_point_3d p3; t = RAY_LEN; - coord = to_canvas(p); - ray_direction = vect_norm((t_vector){coord.x, coord.y, -1.0f}); + coord = to_canvas_new(p, &scene->camera); + p3 = (t_point_3d){coord.x, coord.y, -1.0f}; + world_to_cam(p3, scene->camera.m_proj); + ray_direction = vect_norm((t_vector){p3.x, p3.y, p3.z}); if (intersect_element(scene, ray_direction, &color, &t)) { return (color); @@ -113,6 +174,7 @@ void draw(t_scene *scene) t_img *data; data = scene->img; + set_proj_matrix(scene->camera.m_proj, &scene->camera); p.y = 0; while (p.y < HEIGHT) { From d5ac986e771732935403f21e2d472856c905a39e Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Fri, 9 Jun 2023 17:07:06 +0200 Subject: [PATCH 10/67] deformation seems to be gone --- minirt.h | 3 ++- render.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/minirt.h b/minirt.h index 8f36e3e..e7d6b8b 100644 --- a/minirt.h +++ b/minirt.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/06/09 15:56:22 by tfregni ### ########.fr */ +/* Updated: 2023/06/09 17:04:04 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -164,6 +164,7 @@ t_err validate_light(t_scene *scene, char **el); int validate_sphere(t_scene *scene, char **el); int validate_plane(t_scene *scene, char **el); int validate_cylinder(t_scene *scene, char **el); +void set_camera_canvas(t_camera *c); /* PARSE UTILS */ int validate_3d_range(t_point_3d point, float min, float max); diff --git a/render.c b/render.c index af31750..856fa13 100644 --- a/render.c +++ b/render.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/06/09 16:04:15 by tfregni ### ########.fr */ +/* Updated: 2023/06/09 17:03:26 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -174,6 +174,7 @@ void draw(t_scene *scene) t_img *data; data = scene->img; + set_camera_canvas(&scene->camera); set_proj_matrix(scene->camera.m_proj, &scene->camera); p.y = 0; while (p.y < HEIGHT) From 09132074e4e48ce1edcdac54147eb2d3f268ef5b Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Sat, 10 Jun 2023 14:00:35 +0200 Subject: [PATCH 11/67] improved lighting with general diffuse_reflection function, fixed x axis --- mult_circle.rt | 6 +++--- render.c | 4 ++-- sphere.c | 28 +++++++++++++++++++++++++--- 3 files changed, 30 insertions(+), 8 deletions(-) diff --git a/mult_circle.rt b/mult_circle.rt index 379f86e..2e3427d 100644 --- a/mult_circle.rt +++ b/mult_circle.rt @@ -1,5 +1,5 @@ C 0,0,-10 0,0,0 30 A 0.8 127,127,127 -L 0,0,-10 0.6 -sp 1,0,0 4 255,0,0 -sp -4,0,0 2 0,255,0 +L 2,3,-10 0.6 +sp 1,2,8 4 255,0,0 +sp -4,0,3 2 0,255,0 diff --git a/render.c b/render.c index 856fa13..9d78fcb 100644 --- a/render.c +++ b/render.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/06/09 17:03:26 by tfregni ### ########.fr */ +/* Updated: 2023/06/10 13:48:37 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -40,7 +40,7 @@ t_point_2d to_canvas_new(t_pxl pxl, t_camera *c) range_x = c->top_right.x - c->bot_left.x; range_y = c->top_right.y - c->bot_left.y; - ret.x = range_x / WIDTH * pxl.x + c->bot_left.x; + ret.x = -(range_x / WIDTH * pxl.x + c->bot_left.x); ret.y = range_y / HEIGHT * pxl.y + c->bot_left.y; return (ret); } diff --git a/sphere.c b/sphere.c index 33b22a4..d5e1633 100644 --- a/sphere.c +++ b/sphere.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/07 14:22:05 by tfregni #+# #+# */ -/* Updated: 2023/06/07 14:33:27 by tfregni ### ########.fr */ +/* Updated: 2023/06/10 13:59:34 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -41,6 +41,27 @@ float sp_calc_discriminant(t_scene *scene, t_vector ray_direction, \ return (discriminant); } +/** + * @param n: normal vector + * p: hit point + * @returns a float expressing the light intensity on the point +*/ +float diffuse_reflection(t_scene *scene, t_vector n, t_vector p) +{ + t_vector l; + float n_dot_l; + float light; + float len_l; + + l = vect_sub(p, scene->light.pos); + n_dot_l = vect_dot(n, l); + len_l = vect_mag(l); + if (len_l == 0) + return (1.0f); + light = ft_fmax((scene->light.brightness * n_dot_l / len_l), 0.0f); + return (light); +} + float sp_light_coeff(t_scene *scene, float t, t_vector ray_direction, int i) { t_vector hit_pos; @@ -49,8 +70,9 @@ float sp_light_coeff(t_scene *scene, float t, t_vector ray_direction, int i) hit_pos = vect_sum(scene->camera.pos, vect_mult(ray_direction, t)); normal = vect_norm(vect_sub(hit_pos, scene->sp[i].pos)); - light = ft_fmax(\ - vect_dot(normal, vect_inverse((vect_norm(scene->light.pos)))), 0.0f); + light = diffuse_reflection(scene, normal, hit_pos); + // light = ft_fmax(\ + // vect_dot(normal, vect_inverse((vect_norm(scene->light.pos)))), 0.0f); return (light); } From ef68ff476ff3b3347259d4f15ec62b506b59f561 Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Mon, 12 Jun 2023 15:32:06 +0200 Subject: [PATCH 12/67] refactored with t_shape union of every supported solid --- main.c | 17 +++++--------- minirt.h | 41 +++++++++++++++++++++++++-------- parse.c | 19 +++++++++------- populate_solid.c | 59 ++++++++++++++++++++++++------------------------ render.c | 33 +++++++++++---------------- sphere.c | 26 ++++++++++----------- 6 files changed, 104 insertions(+), 91 deletions(-) diff --git a/main.c b/main.c index 5663f92..a6c0799 100644 --- a/main.c +++ b/main.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:42:10 by tfregni #+# #+# */ -/* Updated: 2023/06/08 23:49:05 by tfregni ### ########.fr */ +/* Updated: 2023/06/12 15:30:33 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,12 +14,8 @@ void free_scene(t_scene **scene) { - free((*scene)->sp); - free((*scene)->pl); - free((*scene)->cy); - (*scene)->sp = NULL; - (*scene)->pl = NULL; - (*scene)->cy = NULL; + free((*scene)->shape); + (*scene)->shape = NULL; free(*scene); *scene = NULL; } @@ -64,11 +60,10 @@ t_err ft_error(char *msg, char *arg, int err_code, t_scene *scene) */ t_err init_scene(t_scene *scene) { - scene->sp = ft_calloc(sizeof(t_sphere), (MAX_SOLID + 1)); - scene->pl = ft_calloc(sizeof(t_plane), (MAX_SOLID + 1)); - scene->cy = ft_calloc(sizeof(t_cylinder), (MAX_SOLID + 1)); - if (!scene->sp || !scene->pl || !scene->cy) + scene->shape = ft_calloc(sizeof(t_shape), (MAX_SOLID + 1)); + if (!scene->shape) return (MEM_FAIL); + scene->shape_count = 0; return (SUCCESS); } diff --git a/minirt.h b/minirt.h index e7d6b8b..85e746c 100644 --- a/minirt.h +++ b/minirt.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/06/09 17:04:04 by tfregni ### ########.fr */ +/* Updated: 2023/06/12 15:31:17 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -32,7 +32,11 @@ # define ZNEAR CANV_DIST # define ZFAR RAY_LEN -typedef float t_matrix_trans[4][4]; +typedef float t_matrix_trans[4][4]; +typedef struct s_scene t_scene; +typedef struct s_ray t_ray; +typedef int (*t_hit_func)(t_scene *scene, t_ray ray, \ + float *t, int i); typedef enum e_err { @@ -78,7 +82,7 @@ typedef struct s_point_3d double z; } t_point_3d; -typedef t_point_3d t_vector; +typedef t_point_3d t_vector; typedef struct s_pxl { @@ -139,6 +143,25 @@ typedef struct s_cylinder int trgb; } t_cylinder; +typedef struct s_ray +{ + t_point_3d origin; + t_vector direction; +} t_ray; + +typedef struct s_shape +{ + union { + t_sphere sp; + t_plane pl; + t_cylinder cy; + }; + t_vector rotation; + t_hit_func intersect; + t_matrix_trans transform; + int trgb; +} t_shape; + /** * Possible struct for the scene: * one value for each unique element (A, C, L), @@ -151,9 +174,8 @@ typedef struct s_scene t_ambient ambient; t_camera camera; t_light light; - t_sphere *sp; - t_plane *pl; - t_cylinder *cy; + t_shape *shape; + int shape_count; } t_scene; /* PARSE */ @@ -182,10 +204,9 @@ t_err render_scene(t_scene *scene); void draw(t_scene *scene); /* SPHERE */ -int intersect_sphere(t_scene *scene, t_vector ray_direction, \ - float *t, int i); -float sp_light_coeff(t_scene *scene, float t, t_vector ray_direction, int i); -float sp_calc_discriminant(t_scene *scene, t_vector ray_direction, \ +int intersect_sphere(t_scene *scene, t_ray ray, float *t, int i); +float sp_light_coeff(t_scene *scene, float t, t_ray ray, int i); +float sp_calc_discriminant(t_scene *scene, t_ray ray, \ float *t, int i); float sp_calc_hit_point(float discriminant, float a, float b); diff --git a/parse.c b/parse.c index bcad65b..0b02f20 100644 --- a/parse.c +++ b/parse.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/25 09:24:43 by tfregni #+# #+# */ -/* Updated: 2023/06/07 13:54:02 by tfregni ### ########.fr */ +/* Updated: 2023/06/12 15:29:49 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -69,17 +69,26 @@ void handle_solid(t_scene *scene, char **el) if (!ft_strcmp(el[0], "sp")) { if (!validate_sphere(scene, el)) - ft_printf("Sphere\n"); + { + printf("Sphere\n"); + scene->shape_count++; + } } else if (!ft_strcmp(el[0], "pl")) { if (!validate_plane(scene, el)) + { + scene->shape_count++; ft_printf("Plane\n"); + } } else if (!ft_strcmp(el[0], "cy")) { if (!validate_cylinder(scene, el)) + { + scene->shape_count++; ft_printf("Cylinder\n"); + } } else ft_printf("Solid not recognized\n"); @@ -138,12 +147,6 @@ int parse_args(t_scene *scene, char *filename) close(fd); if (flag[0] && flag[1] && flag[2]) { - // while ((*scene->sp).diameter) - // { - // printf("SPHERE\n"); - // scene->sp++; - // } - // exit (printf("Render\n")); return (render_scene(scene)); } return (ft_warning("cannot render", "missing element", MISS_UNIQUE)); diff --git a/populate_solid.c b/populate_solid.c index d4b07d8..48ac9c1 100644 --- a/populate_solid.c +++ b/populate_solid.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/26 21:31:05 by tfregni #+# #+# */ -/* Updated: 2023/06/07 13:51:55 by tfregni ### ########.fr */ +/* Updated: 2023/06/12 15:29:23 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,9 +14,10 @@ int validate_sphere(t_scene *scene, char **el) { - t_sphere sp; - static int i = 0; + t_shape shape; + int i; + i = scene->shape_count; if (i == MAX_SOLID) return (ft_warning("not handling these many solids", \ NULL, INVALID_FILE)); @@ -24,15 +25,15 @@ int validate_sphere(t_scene *scene, char **el) return (ft_warning("Sphere expects 3 parameters", \ NULL, INVALID_ELEMENT)); if (ft_isfloat(el[2]) && ft_atof(el[2]) > 0 - && extract_xyz(el[1], &sp.pos) == SUCCESS - && extract_rgb(el[3], &sp.trgb) == SUCCESS) + && extract_xyz(el[1], &shape.sp.pos) == SUCCESS + && extract_rgb(el[3], &shape.trgb) == SUCCESS) { - sp.diameter = ft_atof(el[2]); - // printf("before: sphere %d: %d\n", i, scene->sp[i]); - scene->sp[i] = sp; + shape.sp.diameter = ft_atof(el[2]); + // printf("before: sphere %d: %p\n", i, &scene->shape[i]); + shape.intersect = intersect_sphere; + scene->shape[i] = shape; // printf to remove - printf("sphere %d: %p\n", i, &scene->sp[i]); - i++; + printf("sphere %d: %p\n", i, &scene->shape[i]); return (SUCCESS); } return (ft_warning("sphere", "invalid argument", INVALID_ELEMENT)); @@ -40,52 +41,52 @@ int validate_sphere(t_scene *scene, char **el) int validate_plane(t_scene *scene, char **el) { - t_plane pl; - static int i = 0; + t_shape shape; + int i; + i = scene->shape_count; if (i == MAX_SOLID) return (ft_warning("not handling these many solids", \ NULL, INVALID_FILE)); if (ft_arrlen(el) != 4) return (ft_warning("Plane expects 3 parameters", \ NULL, INVALID_ELEMENT)); - if (extract_xyz(el[1], &pl.pos) - || extract_xyz(el[2], &pl.rotation) - || !validate_3d_range((t_point_3d)pl.rotation, -1.0, 1.0) - || extract_rgb(el[3], &pl.trgb)) + if (extract_xyz(el[1], &shape.pl.pos) + || extract_xyz(el[2], &shape.rotation) + || !validate_3d_range((t_point_3d)shape.rotation, -1.0, 1.0) + || extract_rgb(el[3], &shape.trgb)) return (ft_warning("invalid argument: ", el[2], \ INVALID_ELEMENT)); - scene->pl[i] = pl; - i++; + scene->shape[i] = shape; return (SUCCESS); } int validate_cylinder(t_scene *scene, char **el) { - t_cylinder cy; - static int i = 0; + t_shape shape; + int i; + i = scene->shape_count; if (i == MAX_SOLID) return (ft_warning("not handling these many solids", \ NULL, INVALID_FILE)); if (ft_arrlen(el) != 6) return (ft_warning("Cylinder expects 5 parameters", \ NULL, INVALID_ELEMENT)); - if (extract_xyz(el[1], &cy.center) - || extract_xyz(el[2], &cy.rotation) - || !validate_3d_range(cy.rotation, -1.0, 1.0) - || extract_rgb(el[5], &cy.trgb)) + if (extract_xyz(el[1], &shape.cy.center) + || extract_xyz(el[2], &shape.rotation) + || !validate_3d_range(shape.rotation, -1.0, 1.0) + || extract_rgb(el[5], &shape.trgb)) return (ft_warning("invalid argument", el[2], \ INVALID_ELEMENT)); if (ft_isfloat(el[3]) && ft_isfloat(el[4])) { - cy.diameter = ft_atof(el[3]); - cy.height = ft_atof(el[4]); - if (cy.diameter <= 0 || cy.height <= 0) + shape.cy.diameter = ft_atof(el[3]); + shape.cy.height = ft_atof(el[4]); + if (shape.cy.diameter <= 0 || shape.cy.height <= 0) return (ft_warning("invalid argument", \ NULL, INVALID_ELEMENT)); } - scene->cy[i] = cy; - i++; + scene->shape[i] = shape; return (SUCCESS); } diff --git a/render.c b/render.c index 9d78fcb..6ddfdfc 100644 --- a/render.c +++ b/render.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/06/10 13:48:37 by tfregni ### ########.fr */ +/* Updated: 2023/06/12 15:28:39 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -97,34 +97,26 @@ int apply_ligthing_ratio(int trgb, float lighting_ratio) lighting_ratio * (trgb & 0xFF))); } -int intersect_element(t_scene *scene, t_vector ray_dir, int *color, float *min_t) +int intersect_element(t_scene *scene, t_ray ray, int *color, float *min_t) { int i; int ret; float t; ret = 0; - i = 0; - while (scene->sp[i].diameter) + i = scene->shape_count - 1; + while (i >= 0) { - if (intersect_sphere(scene, ray_dir, &t, i) && t < *min_t) + // printf("shape[%d] i: %d\n", scene->shape_count, i); + if (scene->shape[i].intersect(scene, ray, &t, i) && t < *min_t) { *min_t = t; - *color = apply_ligthing_ratio(scene->sp[i].trgb, sp_light_coeff(scene, t, ray_dir, i)); + *color = apply_ligthing_ratio(scene->shape[i].trgb, \ + sp_light_coeff(scene, t, ray, i)); ret = 1; } - i++; + i--; } - // i = 0; - // while (scene->pl + i * sizeof(t_plane)) - // { - // i++; - // } - // i = 0; - // while (scene->cy + i * sizeof(t_cylinder)) - // { - // i++; - // } return (ret); } @@ -146,7 +138,7 @@ int intersect_element(t_scene *scene, t_vector ray_dir, int *color, float *min_t int per_pixel(t_pxl p, t_scene *scene) { t_point_2d coord; - t_vector ray_direction; + t_ray ray; float t; int color; t_point_3d p3; @@ -155,8 +147,9 @@ int per_pixel(t_pxl p, t_scene *scene) coord = to_canvas_new(p, &scene->camera); p3 = (t_point_3d){coord.x, coord.y, -1.0f}; world_to_cam(p3, scene->camera.m_proj); - ray_direction = vect_norm((t_vector){p3.x, p3.y, p3.z}); - if (intersect_element(scene, ray_direction, &color, &t)) + ray.origin = scene->camera.pos; + ray.direction = vect_norm((t_vector){p3.x, p3.y, p3.z}); + if (intersect_element(scene, ray, &color, &t)) { return (color); } diff --git a/sphere.c b/sphere.c index d5e1633..383fb46 100644 --- a/sphere.c +++ b/sphere.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/07 14:22:05 by tfregni #+# #+# */ -/* Updated: 2023/06/10 13:59:34 by tfregni ### ########.fr */ +/* Updated: 2023/06/12 15:21:09 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -22,7 +22,7 @@ float sp_calc_hit_point(float discriminant, float a, float b) * It returns the discriminant. If it's >=0 it assigns to t the value of * the closest hit point */ -float sp_calc_discriminant(t_scene *scene, t_vector ray_direction, \ +float sp_calc_discriminant(t_scene *scene, t_ray ray, \ float *t, int i) { float a; @@ -31,10 +31,10 @@ float sp_calc_discriminant(t_scene *scene, t_vector ray_direction, \ t_point_3d transl; float discriminant; - a = vect_dot(ray_direction, ray_direction); - transl = vect_sub(scene->camera.pos, scene->sp[i].pos); - b = 2.0f * vect_dot(transl, ray_direction); - c = vect_dot(transl, transl) - pow((scene->sp[i].diameter / 2), 2); + a = vect_dot(ray.direction, ray.direction); + transl = vect_sub(ray.origin, scene->shape[i].sp.pos); + b = 2.0f * vect_dot(transl, ray.direction); + c = vect_dot(transl, transl) - pow((scene->shape[i].sp.diameter / 2), 2); discriminant = b * b - (4.0f * a * c); if (discriminant >= 0) *t = sp_calc_hit_point(discriminant, a, b); @@ -42,8 +42,8 @@ float sp_calc_discriminant(t_scene *scene, t_vector ray_direction, \ } /** - * @param n: normal vector - * p: hit point + * @param n: normal vector + * @param p: hit point * @returns a float expressing the light intensity on the point */ float diffuse_reflection(t_scene *scene, t_vector n, t_vector p) @@ -62,23 +62,23 @@ float diffuse_reflection(t_scene *scene, t_vector n, t_vector p) return (light); } -float sp_light_coeff(t_scene *scene, float t, t_vector ray_direction, int i) +float sp_light_coeff(t_scene *scene, float t, t_ray ray, int i) { t_vector hit_pos; t_vector normal; float light; - hit_pos = vect_sum(scene->camera.pos, vect_mult(ray_direction, t)); - normal = vect_norm(vect_sub(hit_pos, scene->sp[i].pos)); + hit_pos = vect_sum((t_vector)ray.origin, vect_mult(ray.direction, t)); + normal = vect_norm(vect_sub(hit_pos, scene->shape[i].sp.pos)); light = diffuse_reflection(scene, normal, hit_pos); // light = ft_fmax(\ // vect_dot(normal, vect_inverse((vect_norm(scene->light.pos)))), 0.0f); return (light); } -int intersect_sphere(t_scene *scene, t_vector ray_direction, float *t, int i) +int intersect_sphere(t_scene *scene, t_ray ray, float *t, int i) { - if (sp_calc_discriminant(scene, ray_direction, t, i) < 0) + if (sp_calc_discriminant(scene, ray, t, i) < 0) return (0); return (1); } From 78cab488acb87752d82673cda482fb3db53a4cd9 Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Mon, 12 Jun 2023 16:11:44 +0200 Subject: [PATCH 13/67] fixed light direction --- mult_circle.rt | 8 ++++---- render.c | 4 ++-- sphere.c | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/mult_circle.rt b/mult_circle.rt index 2e3427d..7b4bcad 100644 --- a/mult_circle.rt +++ b/mult_circle.rt @@ -1,5 +1,5 @@ -C 0,0,-10 0,0,0 30 +C 0,0,10 0,0,0 30 A 0.8 127,127,127 -L 2,3,-10 0.6 -sp 1,2,8 4 255,0,0 -sp -4,0,3 2 0,255,0 +L 5,0,0 0.8 +sp -1,0,0 2 255,0,0 +sp 1,0,0 2 0,255,0 diff --git a/render.c b/render.c index 6ddfdfc..bd33079 100644 --- a/render.c +++ b/render.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/06/12 15:28:39 by tfregni ### ########.fr */ +/* Updated: 2023/06/12 16:05:00 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -40,7 +40,7 @@ t_point_2d to_canvas_new(t_pxl pxl, t_camera *c) range_x = c->top_right.x - c->bot_left.x; range_y = c->top_right.y - c->bot_left.y; - ret.x = -(range_x / WIDTH * pxl.x + c->bot_left.x); + ret.x = range_x / WIDTH * pxl.x + c->bot_left.x; ret.y = range_y / HEIGHT * pxl.y + c->bot_left.y; return (ret); } diff --git a/sphere.c b/sphere.c index 383fb46..a2528fb 100644 --- a/sphere.c +++ b/sphere.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/07 14:22:05 by tfregni #+# #+# */ -/* Updated: 2023/06/12 15:21:09 by tfregni ### ########.fr */ +/* Updated: 2023/06/12 16:09:50 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -69,7 +69,7 @@ float sp_light_coeff(t_scene *scene, float t, t_ray ray, int i) float light; hit_pos = vect_sum((t_vector)ray.origin, vect_mult(ray.direction, t)); - normal = vect_norm(vect_sub(hit_pos, scene->shape[i].sp.pos)); + normal = vect_norm(vect_sub(scene->shape[i].sp.pos, hit_pos)); light = diffuse_reflection(scene, normal, hit_pos); // light = ft_fmax(\ // vect_dot(normal, vect_inverse((vect_norm(scene->light.pos)))), 0.0f); From 013a7ba03d192edcad7d89979bf1adceb1e30c9f Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Mon, 12 Jun 2023 16:18:53 +0200 Subject: [PATCH 14/67] fixed bug of seeing elements behind the camera --- minirt.h | 3 ++- render.c | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/minirt.h b/minirt.h index 85e746c..f2ad6b1 100644 --- a/minirt.h +++ b/minirt.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/06/12 15:31:17 by tfregni ### ########.fr */ +/* Updated: 2023/06/12 16:12:44 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -29,6 +29,7 @@ # define CAM_PACE 0.1 # define LIGHT_PACE 0.3 # define RAY_LEN 50 +# define BOUNCES 2 # define ZNEAR CANV_DIST # define ZFAR RAY_LEN diff --git a/render.c b/render.c index bd33079..31e8eb8 100644 --- a/render.c +++ b/render.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/06/12 16:05:00 by tfregni ### ########.fr */ +/* Updated: 2023/06/12 16:17:26 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -108,7 +108,7 @@ int intersect_element(t_scene *scene, t_ray ray, int *color, float *min_t) while (i >= 0) { // printf("shape[%d] i: %d\n", scene->shape_count, i); - if (scene->shape[i].intersect(scene, ray, &t, i) && t < *min_t) + if (scene->shape[i].intersect(scene, ray, &t, i) && t < *min_t && t > 0) { *min_t = t; *color = apply_ligthing_ratio(scene->shape[i].trgb, \ From a878db2f68ccf5c976c095c621c9989b31150aaf Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Mon, 12 Jun 2023 17:49:18 +0200 Subject: [PATCH 15/67] first shadows --- minirt.h | 3 ++- mult_circle.rt | 8 ++++---- sphere.c | 21 ++++++++++++++++++++- 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/minirt.h b/minirt.h index f2ad6b1..5af2187 100644 --- a/minirt.h +++ b/minirt.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/06/12 16:12:44 by tfregni ### ########.fr */ +/* Updated: 2023/06/12 16:51:04 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -203,6 +203,7 @@ t_err init_img(t_scene *scene); /* RENDER */ t_err render_scene(t_scene *scene); void draw(t_scene *scene); +int intersect_element(t_scene *scene, t_ray ray, int *color, float *min_t); /* SPHERE */ int intersect_sphere(t_scene *scene, t_ray ray, float *t, int i); diff --git a/mult_circle.rt b/mult_circle.rt index 7b4bcad..6ec1e9c 100644 --- a/mult_circle.rt +++ b/mult_circle.rt @@ -1,5 +1,5 @@ -C 0,0,10 0,0,0 30 +C 0,0,10 0,0,0 50 A 0.8 127,127,127 -L 5,0,0 0.8 -sp -1,0,0 2 255,0,0 -sp 1,0,0 2 0,255,0 +L 0,2,2 0.8 +sp -2,0,0 3 255,0,0 +sp 0,0,2 0.4 0,255,0 diff --git a/sphere.c b/sphere.c index a2528fb..641a441 100644 --- a/sphere.c +++ b/sphere.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/07 14:22:05 by tfregni #+# #+# */ -/* Updated: 2023/06/12 16:09:50 by tfregni ### ########.fr */ +/* Updated: 2023/06/12 17:45:28 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -41,6 +41,21 @@ float sp_calc_discriminant(t_scene *scene, t_ray ray, \ return (discriminant); } +int cast_shadow(t_scene *scene, t_ray ray) +{ + int i; + float t; + + i = scene->shape_count - 1; + while (i >= 0) + { + if (scene->shape[i].intersect(scene, ray, &t, i) && t > 0.000001f && t < 1) + return (1); + i--; + } + return (0); +} + /** * @param n: normal vector * @param p: hit point @@ -52,8 +67,12 @@ float diffuse_reflection(t_scene *scene, t_vector n, t_vector p) float n_dot_l; float light; float len_l; + t_ray ray; l = vect_sub(p, scene->light.pos); + ray = (t_ray){p, vect_norm(vect_inverse(l))}; + if (cast_shadow(scene, ray)) + return (0.1f); n_dot_l = vect_dot(n, l); len_l = vect_mag(l); if (len_l == 0) From 21a7529eb7bcaa0b739c7903beadb38375dc374a Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Mon, 12 Jun 2023 18:47:52 +0200 Subject: [PATCH 16/67] first shadows --- mult_circle.rt | 6 +++--- sphere.c | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mult_circle.rt b/mult_circle.rt index 6ec1e9c..fb1cf51 100644 --- a/mult_circle.rt +++ b/mult_circle.rt @@ -1,5 +1,5 @@ -C 0,0,10 0,0,0 50 +C 0,0,10 0,0,0 30 A 0.8 127,127,127 -L 0,2,2 0.8 +L 50,0,0 0.8 sp -2,0,0 3 255,0,0 -sp 0,0,2 0.4 0,255,0 +sp 0.8,0,0 0.4 0,255,0 diff --git a/sphere.c b/sphere.c index 641a441..943558a 100644 --- a/sphere.c +++ b/sphere.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/07 14:22:05 by tfregni #+# #+# */ -/* Updated: 2023/06/12 17:45:28 by tfregni ### ########.fr */ +/* Updated: 2023/06/12 18:41:00 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -70,7 +70,7 @@ float diffuse_reflection(t_scene *scene, t_vector n, t_vector p) t_ray ray; l = vect_sub(p, scene->light.pos); - ray = (t_ray){p, vect_norm(vect_inverse(l))}; + ray = (t_ray){p, vect_inverse(l)}; if (cast_shadow(scene, ray)) return (0.1f); n_dot_l = vect_dot(n, l); From 718c99803d59b4fec9208fc1d878813ba5fece8b Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Mon, 12 Jun 2023 19:11:38 +0200 Subject: [PATCH 17/67] merged shadows, diffuse reflection, start of matrices --- Makefile | 4 ++-- minirt.h | 4 ++-- parse.c | 3 +-- plane.c | 8 ++++---- populate_solid.c | 3 ++- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index 9ee2d36..b90f7ee 100644 --- a/Makefile +++ b/Makefile @@ -6,12 +6,12 @@ # By: tfregni +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2023/01/30 20:41:46 by tfregni #+# #+# # -# Updated: 2023/06/12 18:57:50 by tfregni ### ########.fr # +# Updated: 2023/06/12 19:05:00 by tfregni ### ########.fr # # # # **************************************************************************** # SRCS = main.c parse.c populate_element.c populate_solid.c parse_util.c \ - libx.c render.c sphere.c plane.c vector_calcs.c event_handler.c + libx.c render.c sphere.c plane.c vector_calcs.c event_handler.c \ matrix_calcs.c UNAME_S := $(shell uname -s) OBJS = ${SRCS:.c=.o} diff --git a/minirt.h b/minirt.h index 732e65f..41173aa 100644 --- a/minirt.h +++ b/minirt.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/06/12 18:58:01 by tfregni ### ########.fr */ +/* Updated: 2023/06/12 19:04:26 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -214,7 +214,7 @@ float sp_calc_discriminant(t_scene *scene, t_ray ray, \ float sp_calc_hit_point(float discriminant, float a, float b); /* PLANE */ -int intersect_plane(t_scene *scene, t_vector ray_direction, \ +int intersect_plane(t_scene *scene, t_ray ray, \ float *t, int i); /* ERROR HANDLING*/ diff --git a/parse.c b/parse.c index 480343e..f77c1ab 100644 --- a/parse.c +++ b/parse.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/25 09:24:43 by tfregni #+# #+# */ -/* Updated: 2023/06/12 18:58:15 by tfregni ### ########.fr */ +/* Updated: 2023/06/12 19:05:48 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -66,7 +66,6 @@ t_err handle_unique(t_scene *scene, char **el, uint8_t *flag) */ void handle_solid(t_scene *scene, char **el) { - scene->pl[MAX_SOLID].valid = 0; if (!ft_strcmp(el[0], "sp")) { if (!validate_sphere(scene, el)) diff --git a/plane.c b/plane.c index b0bde0e..934cda0 100644 --- a/plane.c +++ b/plane.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/07 23:25:30 by tfregni #+# #+# */ -/* Updated: 2023/06/08 09:13:05 by tfregni ### ########.fr */ +/* Updated: 2023/06/12 19:06:41 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -31,15 +31,15 @@ * (a + bt - p0)·n = 0 which solved for t is * ((p0 - a) · n) / b · n */ -int intersect_plane(t_scene *scene, t_vector ray_direction, float *t, int i) +int intersect_plane(t_scene *scene, t_ray ray, float *t, int i) { float denominator; float numerator; - denominator = vect_dot(ray_direction, vect_norm(scene->pl[i].rotation)); + denominator = vect_dot(ray.direction, vect_norm(scene->shape[i].pl.rotation)); if (denominator > 1e-6) { - numerator = vect_dot(vect_sub(scene->pl[i].pos, scene->camera.pos), vect_norm(scene->pl[i].rotation)); + numerator = vect_dot(vect_sub(scene->shape[i].pl.pos, scene->camera.pos), vect_norm(scene->shape[i].pl.rotation)); *t = numerator / denominator; return (1); } diff --git a/populate_solid.c b/populate_solid.c index 6061d39..3f11cd7 100644 --- a/populate_solid.c +++ b/populate_solid.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/26 21:31:05 by tfregni #+# #+# */ -/* Updated: 2023/06/12 18:58:43 by tfregni ### ########.fr */ +/* Updated: 2023/06/12 19:08:01 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -57,6 +57,7 @@ int validate_plane(t_scene *scene, char **el) || extract_rgb(el[3], &shape.trgb)) return (ft_warning("invalid argument: ", el[2], \ INVALID_ELEMENT)); + shape.intersect = intersect_plane; scene->shape[i] = shape; return (SUCCESS); } From 086b7cd8dceebbf99f5f1a352fce9f94cfafde04 Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Tue, 13 Jun 2023 00:21:19 +0200 Subject: [PATCH 18/67] work in progress --- matrix_calcs.c | 14 ++++++- minirt-changed.h | 104 ----------------------------------------------- minirt.h | 47 ++++++++++++++++++--- 3 files changed, 54 insertions(+), 111 deletions(-) delete mode 100644 minirt-changed.h diff --git a/matrix_calcs.c b/matrix_calcs.c index ee6e509..535cd14 100644 --- a/matrix_calcs.c +++ b/matrix_calcs.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/08 18:05:50 by tfregni #+# #+# */ -/* Updated: 2023/06/09 13:02:15 by tfregni ### ########.fr */ +/* Updated: 2023/06/12 19:44:32 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -35,3 +35,15 @@ t_point_3d transform(t_point_3d p, t_matrix_trans m) } return (ret); } + +static t_matrix orient_xform(t_vector forward, t_vector left, t_vector true_up) +{ + const double table[MAX][MAX] = { + {left.x, left.y, left.z, 0}, + {true_up.x, true_up.y, true_up.z, 0}, + {-forward.x, -forward.y, -forward.z, 0}, + {0, 0, 0, 1}, + }; + + return (create_matrix(table, MAX)); +} diff --git a/minirt-changed.h b/minirt-changed.h deleted file mode 100644 index c5a7df9..0000000 --- a/minirt-changed.h +++ /dev/null @@ -1,104 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* minirt.h :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: tfregni +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/05/26 21:13:56 by tfregni ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#ifndef MINIRT_H -# define MINIRT_H -# include "libft.h" -# include -# include -# include -# define SPACE "\t\n\f\r\v " - -typedef enum e_err -{ - ARG_REQUIRED = 1, - FILE_EXTENSION, - INVALID_FILE, - INVALID_ELEMENT, -} t_err; - -typedef struct s_img -{ - void *mlx_ptr; - void *win_ptr; - char *name; - void *img; - char *addr; - int bpp; - int line_len; - int endian; -} t_img; - -typedef struct s_point -{ - float x; - float y; - float z; -} t_point; - -typedef t_point t_vector; - -typedef struct s_ambient -{ - float lighting_ratio; - t_point trgb; -} t_ambient; - -typedef struct s_camera -{ - t_point pos;//I think view is a bit confusing - t_vector orientation; - uint8_t fov; -} t_camera; - -typedef struct s_light -{ - t_point pos;//Consistency would be good in my opinion - float brightness; - t_point trgb; -} t_light; - -typedef struct s_sphere -{ - t_point pos; - float diameter; - t_point trgb; -} t_sphere; - -typedef struct s_plane -{ - t_point pos; - t_vector rot;//I think that's menant by the subject by normalized vector for axis/it is weird that it's in range [-1,1] maybe its in radians and not degrees, which would still not make sense - int trgb; -} t_plane; - -typedef struct s_cylinder -{ - t_point pos; - t_vector axis; - float rot; - float diameter; - float height; - t_point trgb; -} t_cylinder; - - -/* PARSE */ -int parse_args(char *filename); - -/* GRAPHIC */ -int create_trgb(int t, int r, int g, int b); - -/* ERROR HANDLING*/ -t_err ft_error(char *msg, char *arg, int err_code); - -#endif diff --git a/minirt.h b/minirt.h index 41173aa..20cbe09 100644 --- a/minirt.h +++ b/minirt.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/06/12 19:04:26 by tfregni ### ########.fr */ +/* Updated: 2023/06/12 20:23:41 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -38,6 +38,7 @@ typedef struct s_scene t_scene; typedef struct s_ray t_ray; typedef int (*t_hit_func)(t_scene *scene, t_ray ray, \ float *t, int i); +typedef struct s_camera t_camera; typedef enum e_err { @@ -58,11 +59,11 @@ enum e_unique_el LIGHT, }; -// typedef enum e_bool -// { -// FALSE, -// TRUE, -// } t_bool; +typedef struct s_matrix +{ + double matrix[4][4]; + size_t size; +} t_matrix; typedef struct s_img { @@ -111,9 +112,43 @@ typedef struct s_camera uint8_t fov; t_point_2d top_right; t_point_2d bot_left; + float pixel_size; t_matrix_trans m_proj; + t_matrix transform; + t_matrix inverse; + t_matrix transpose; } t_camera; +/** + * @brief The structure of type t_camera contains the necessary information for + * camera configuration, rendering and transformation. + * @param hsize Stores the horizontal size (in pixels). + * @param vsize Stores the vertical size (in pixels). + * @param field_of_view This field stores angle that describes how much the + * camera can see. When the field of view is small, the + * view will be "zoomed in", magnifying a smaller area of + * the scene. + * @param half_width Stores the camera's half hsize value. + * @param half_height Stores the camera's half vsize value. + * @param pixel_size Stores the camera's pixel size calculated from half_width + * and hsize values. + * @param transform Stores the transformation matrix for the camera. + * @param inverse Stores the inverse matrix for the camera. + * @param transpose Stores the transpose matrix for the camera. + */ +// typedef struct s_camera +// { +// float hsize; +// float vsize; +// float field_of_view; +// float half_width; +// float half_height; +// float pixel_size; +// t_matrix transform; +// t_matrix inverse; +// t_matrix transpose; +// } t_camera; + typedef struct s_light { t_point_3d pos; From 393fc6a1ccdc3d94c78697ee180983e30de25666 Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Tue, 13 Jun 2023 14:35:39 +0200 Subject: [PATCH 19/67] x axis rotation hooked to Up and Down keys with 0.01 pace --- event_handler.c | 6 +-- matrix_calcs.c | 101 +++++++++++++++++++++++++++++++++++++++++---- matrix_math.h | 6 ++- minirt.h | 11 ++++- mult_circle.rt | 2 +- populate_element.c | 13 +++++- render.c | 30 ++++++++++++-- 7 files changed, 149 insertions(+), 20 deletions(-) diff --git a/event_handler.c b/event_handler.c index 2af0a78..17c4801 100644 --- a/event_handler.c +++ b/event_handler.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 12:29:38 by tvasilev #+# #+# */ -/* Updated: 2023/06/06 16:12:13 by tfregni ### ########.fr */ +/* Updated: 2023/06/13 14:32:03 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -32,9 +32,9 @@ int key_handle(int keycode, t_scene *scene) else if (keycode == MINUS) scene->ambient.lighting_ratio -= 0.1; else if (keycode == UP) - scene->camera.pos.y += CAM_PACE; + scene->camera.orientation.x += 0.01; else if (keycode == DOWN) - scene->camera.pos.y -= CAM_PACE; + scene->camera.orientation.x -= 0.01; else if (keycode == LEFT) scene->camera.pos.x -= CAM_PACE; else if (keycode == RIGHT) diff --git a/matrix_calcs.c b/matrix_calcs.c index 535cd14..70b9c36 100644 --- a/matrix_calcs.c +++ b/matrix_calcs.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/08 18:05:50 by tfregni #+# #+# */ -/* Updated: 2023/06/12 19:44:32 by tfregni ### ########.fr */ +/* Updated: 2023/06/13 14:22:03 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -15,7 +15,7 @@ /** * @param p 3D point. Its 4th dimension is implicitly set to 1 - * m 4x4: matrix + * @param m 4x4: matrix * @returns a transformed 3D point */ t_point_3d transform(t_point_3d p, t_matrix_trans m) @@ -36,14 +36,97 @@ t_point_3d transform(t_point_3d p, t_matrix_trans m) return (ret); } -static t_matrix orient_xform(t_vector forward, t_vector left, t_vector true_up) +t_matrix create_matrix(const float mx[4][4], size_t size) { - const double table[MAX][MAX] = { - {left.x, left.y, left.z, 0}, - {true_up.x, true_up.y, true_up.z, 0}, - {-forward.x, -forward.y, -forward.z, 0}, - {0, 0, 0, 1}, + t_matrix m; + + m.size = size; + ft_memmove(m.matrix, mx, sizeof(float) * 16); + return (m); +} + +t_matrix mx_get_identity(void) +{ + const float mx[4][4] = { + {1, 0, 0, 0}, + {0, 1, 0, 0}, + {0, 0, 1, 0}, + {0, 0, 0, 1} + }; + t_matrix m; + + m = create_matrix(mx, 16); + return (m); +} + +t_point_3d mx_mult(t_matrix m, t_point_3d p) +{ + t_point_3d ret; + float w; + + // printf("Before: %f %f %f\n", p.x, p.y, p.z); + w = p.x * m.matrix[0][3] + p.y * m.matrix[1][3] + p.z * m.matrix[2][3] + m.matrix[3][3]; + ret.x = (p.x * m.matrix[0][0] + p.y * m.matrix[1][0] + p.z * m.matrix[2][0] + m.matrix[3][0]); + ret.y = (p.x * m.matrix[0][1] + p.y * m.matrix[1][1] + p.z * m.matrix[2][1] + m.matrix[3][1]); + ret.z = (p.x * m.matrix[0][2] + p.y * m.matrix[1][2] + p.z * m.matrix[2][2] + m.matrix[3][2]); + if (w != 1) + { + ret.x = ret.x / w; + ret.y = ret.y / w; + ret.z = ret.z / w; + } + // printf("After: %f %f %f\n", ret.x, ret.y, ret.z); + return (ret); +} + +t_matrix mx_cross(t_matrix a, t_matrix b) +{ + float m[4][4]; + size_t row; + size_t col; + + ft_bzero(m, sizeof(float) * 16); + row = -1; + while (++row < 4) + { + col = -1; + while (++col < 4) + { + m[row][col] = a.matrix[row][0] * b.matrix[0][col] + + a.matrix[row][1] * b.matrix[1][col] + + a.matrix[row][2] * b.matrix[2][col] + + a.matrix[row][3] * b.matrix[3][col]; + } + } + return (create_matrix(m, 4)); +} + +/** + * Rx = [ 1 0 0 0 ; + 0 cos(α) sin(α) 0 ; + 0 -sin(α) cos(α) 0 ; + 0 0 0 1 ] + +Ry = [ cos(β) 0 -sin(β) 0 ; + 0 1 0 0 ; + sin(β) 0 cos(β) 0 ; + 0 0 0 1 ] + +Rz = [ cos(γ) sin(γ) 0 0 ; + -sin(γ) cos(γ) 0 0 ; + 0 0 1 0 ; + 0 0 0 1 ] +*/ +t_matrix mx_rotate_x(t_matrix mx, float x) +{ + const float mx_rx[4][4] = { + {1, 0, 0, 0}, + {0, cos(x * M_PI), sin(x * M_PI), 0}, + {0, -sin(x * M_PI), cos(x * M_PI), 0}, + {0, 0, 0, 1} }; + t_matrix cross; - return (create_matrix(table, MAX)); + cross = mx_cross(mx, create_matrix(mx_rx, 16)); + return (cross); } diff --git a/matrix_math.h b/matrix_math.h index 1bdb782..02af2bc 100644 --- a/matrix_math.h +++ b/matrix_math.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/08 18:06:27 by tfregni #+# #+# */ -/* Updated: 2023/06/09 12:01:30 by tfregni ### ########.fr */ +/* Updated: 2023/06/13 14:12:48 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -16,6 +16,10 @@ typedef float t_matrix_trans[4][4]; +t_matrix mx_get_identity(void); +t_matrix mx_rotate_x(t_matrix mx, float x); +t_matrix mx_cross(t_matrix a, t_matrix b); +t_point_3d mx_mult(t_matrix m, t_point_3d p); t_point_3d transform(t_point_3d p, t_matrix_trans m); #endif diff --git a/minirt.h b/minirt.h index 20cbe09..1f1c811 100644 --- a/minirt.h +++ b/minirt.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/06/12 20:23:41 by tfregni ### ########.fr */ +/* Updated: 2023/06/13 14:29:39 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -61,10 +61,12 @@ enum e_unique_el typedef struct s_matrix { - double matrix[4][4]; + float matrix[4][4]; size_t size; } t_matrix; +// typedef t_matrix_trans t_matrix; + typedef struct s_img { void *mlx_ptr; @@ -224,6 +226,7 @@ int validate_sphere(t_scene *scene, char **el); int validate_plane(t_scene *scene, char **el); int validate_cylinder(t_scene *scene, char **el); void set_camera_canvas(t_camera *c); +void set_transform_mx(t_camera *c); /* PARSE UTILS */ int validate_3d_range(t_point_3d point, float min, float max); @@ -260,4 +263,8 @@ t_err ft_warning(char *msg, char *arg, int err_code); int free_img(t_img *data); void free_scene(t_scene **scene); + +/* DEBUG */ +void print_4x4(t_matrix_trans m); + #endif diff --git a/mult_circle.rt b/mult_circle.rt index fb1cf51..2aad5d2 100644 --- a/mult_circle.rt +++ b/mult_circle.rt @@ -1,4 +1,4 @@ -C 0,0,10 0,0,0 30 +C 0,0,10 0.01,0,0 30 A 0.8 127,127,127 L 50,0,0 0.8 sp -2,0,0 3 255,0,0 diff --git a/populate_element.c b/populate_element.c index 07a3934..655fea5 100644 --- a/populate_element.c +++ b/populate_element.c @@ -6,11 +6,12 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/26 21:30:47 by tfregni #+# #+# */ -/* Updated: 2023/06/09 16:22:19 by tfregni ### ########.fr */ +/* Updated: 2023/06/13 14:28:58 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ #include "minirt.h" +#include "matrix_math.h" /** * @returns 0 for success @@ -54,6 +55,15 @@ void set_camera_canvas(t_camera *c) printf("rad: %f range_x: %f range_y: %f corners: b %f t %f l %f r %f\n", fov_rad, range_x, range_y, c->bot_left.y, c->top_right.y, c->top_right.x, c->bot_left.x); } +void set_transform_mx(t_camera *c) +{ + c->transform = mx_get_identity(); + print_4x4(c->transform.matrix); + c->transform = mx_rotate_x(c->transform, c->orientation.x); + printf("here\n"); + print_4x4(c->transform.matrix); +} + /** * Shall we set limits for the position? Maybe macroed in the header file * @returns 0 for success @@ -72,6 +82,7 @@ t_err validate_camera(t_scene *scene, char **el) if (scene->camera.fov < 0 || scene->camera.fov > 180) return (ft_warning("invalid argument: ", el[3], \ INVALID_ELEMENT)); + set_transform_mx(&scene->camera); set_camera_canvas(&scene->camera); return (SUCCESS); } diff --git a/render.c b/render.c index 6a4ea2d..facedef 100644 --- a/render.c +++ b/render.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/06/12 18:59:02 by tfregni ### ########.fr */ +/* Updated: 2023/06/13 14:30:10 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -89,6 +89,11 @@ t_point_3d world_to_cam(t_point_3d p, t_matrix_trans proj) return (transform(p, proj)); } +t_point_3d world_to_cam_new(t_point_3d p, t_matrix transform) +{ + return (mx_mult(transform, p)); +} + int apply_ligthing_ratio(int trgb, float lighting_ratio) { return (create_trgb(0, \ @@ -120,6 +125,23 @@ int intersect_element(t_scene *scene, t_ray ray, int *color, float *min_t) return (ret); } +// t_ray ray_for_pixel(t_camera *c, t_pxl p) +// { +// float world_x; +// float world_y; +// t_tuple pxl; +// t_tuple origin; +// t_vector direction; + +// world_x = c->bot_left.x + (p.x * c->pixel_size); +// world_y = c->bot_left.y + (p.y * c->pixel_size); +// pxl = multiply_tp_mx(c->transform, create_point(world_x, world_y, -1)); +// origin = multiply_tp_mx(c->transform, create_point(0, 0, 0)); +// direction = vect_norm(vect_sub((t_vector){pxl.x, pxl.y, pxl.z}, +// (t_vector){origin.x, origin.y, origin.z})); +// return ((t_ray){(t_point_3d){origin.x, origin.y, origin.z}, direction}); +// } + /** * @returns a color as int * @math @@ -146,9 +168,10 @@ int per_pixel(t_pxl p, t_scene *scene) t = RAY_LEN; coord = to_canvas_new(p, &scene->camera); p3 = (t_point_3d){coord.x, coord.y, -1.0f}; - world_to_cam(p3, scene->camera.m_proj); + p3 = world_to_cam_new(p3, scene->camera.transform); ray.origin = scene->camera.pos; ray.direction = vect_norm((t_vector){p3.x, p3.y, p3.z}); + // ray = ray_for_pixel(&scene->camera, p); if (intersect_element(scene, ray, &color, &t)) { return (color); @@ -168,7 +191,8 @@ void draw(t_scene *scene) data = scene->img; set_camera_canvas(&scene->camera); - set_proj_matrix(scene->camera.m_proj, &scene->camera); + // set_proj_matrix(scene->camera.m_proj, &scene->camera); + set_transform_mx(&scene->camera); p.y = 0; while (p.y < HEIGHT) { From 334adb9bf7c6935a94e98ce3449d7cb8e7b5d2f7 Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Tue, 13 Jun 2023 18:13:22 +0200 Subject: [PATCH 20/67] 3d camera rotation --- event_handler.c | 32 +++++++++++++++++---- event_handler.h | 7 +++-- libx.c | 3 +- matrix_calcs.c | 72 +++++++++++++++++++++++++++++++++++++--------- matrix_math.h | 9 ++++-- minirt.h | 33 ++------------------- orient.rt | 5 ++++ populate_element.c | 7 +++-- 8 files changed, 110 insertions(+), 58 deletions(-) create mode 100644 orient.rt diff --git a/event_handler.c b/event_handler.c index 17c4801..bcc9303 100644 --- a/event_handler.c +++ b/event_handler.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 12:29:38 by tvasilev #+# #+# */ -/* Updated: 2023/06/13 14:32:03 by tfregni ### ########.fr */ +/* Updated: 2023/06/13 18:10:58 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -54,6 +54,23 @@ int key_handle(int keycode, t_scene *scene) return (0); } +int track_delta(int button, int x, int y, t_scene *scene) +{ + t_camera *c; + + c = &scene->camera; + if (button == LEFT_BUTTON) + { + // H : 1 = d : x + // printf("Dist: %f %f\n", (x - c->delta.x) / HEIGHT, (c->delta.y - y) / HEIGHT); + c->orientation.x += (x - c->delta.x) / HEIGHT; + c->orientation.y += (c->delta.y - y) / HEIGHT; + c->delta = (t_point_2d){0, 0}; + draw(scene); + } + return (0); +} + int mouse_handle(int button, int x, int y, t_scene *scene) { t_img *data; @@ -61,10 +78,13 @@ int mouse_handle(int button, int x, int y, t_scene *scene) (void) x; (void) y; data = scene->img; - if (button == WHEEL_UP) - scene->camera.pos.z -= CAM_PACE; - else if (button == WHEEL_DOWN) - scene->camera.pos.z += CAM_PACE; - draw(scene); + if (button == WHEEL_UP && scene->camera.fov < 180) + scene->camera.fov -= CAM_PACE; + else if (button == WHEEL_DOWN && scene->camera.fov > 180) + scene->camera.fov += CAM_PACE; + if (button == LEFT_BUTTON) + scene->camera.delta = (t_point_2d){x, y}; + if (button != LEFT_BUTTON) + draw(scene); return (0); } diff --git a/event_handler.h b/event_handler.h index a1f8f9f..4f05a05 100644 --- a/event_handler.h +++ b/event_handler.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 12:32:50 by tvasilev #+# #+# */ -/* Updated: 2023/06/05 11:09:09 by tfregni ### ########.fr */ +/* Updated: 2023/06/13 17:53:29 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -16,7 +16,8 @@ # include "minirt.h" // int close_window(t_img *data); -int key_handle(int keycode, t_scene *scene); -int mouse_handle(int button, int x, int y, t_scene *scene); +int key_handle(int keycode, t_scene *scene); +int mouse_handle(int button, int x, int y, t_scene *scene); +int track_delta(int button, int x, int y, t_scene *scene); #endif diff --git a/libx.c b/libx.c index c72058b..b26c4ab 100644 --- a/libx.c +++ b/libx.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/26 08:25:02 by tfregni #+# #+# */ -/* Updated: 2023/06/05 11:10:15 by tfregni ### ########.fr */ +/* Updated: 2023/06/13 17:46:32 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -36,6 +36,7 @@ int mlx_manage(t_scene *scene) data = scene->img; mlx_key_hook(data->win_ptr, &key_handle, scene); mlx_mouse_hook(data->win_ptr, &mouse_handle, scene); + mlx_hook(data->win_ptr, ON_MOUSEUP, (1L << 3), &track_delta, scene); mlx_hook(data->win_ptr, ON_DESTROY, 0, &free_img, data); // mlx_put_image_to_window(data->mlx_ptr, data->win_ptr, data->img, 0, 0); mlx_loop(data->mlx_ptr); diff --git a/matrix_calcs.c b/matrix_calcs.c index 70b9c36..ced8956 100644 --- a/matrix_calcs.c +++ b/matrix_calcs.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/08 18:05:50 by tfregni #+# #+# */ -/* Updated: 2023/06/13 14:22:03 by tfregni ### ########.fr */ +/* Updated: 2023/06/13 17:19:19 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -64,18 +64,20 @@ t_point_3d mx_mult(t_matrix m, t_point_3d p) t_point_3d ret; float w; - // printf("Before: %f %f %f\n", p.x, p.y, p.z); - w = p.x * m.matrix[0][3] + p.y * m.matrix[1][3] + p.z * m.matrix[2][3] + m.matrix[3][3]; - ret.x = (p.x * m.matrix[0][0] + p.y * m.matrix[1][0] + p.z * m.matrix[2][0] + m.matrix[3][0]); - ret.y = (p.x * m.matrix[0][1] + p.y * m.matrix[1][1] + p.z * m.matrix[2][1] + m.matrix[3][1]); - ret.z = (p.x * m.matrix[0][2] + p.y * m.matrix[1][2] + p.z * m.matrix[2][2] + m.matrix[3][2]); + w = p.x * m.matrix[0][3] + p.y * m.matrix[1][3] + \ + p.z * m.matrix[2][3] + m.matrix[3][3]; + ret.x = (p.x * m.matrix[0][0] + p.y * m.matrix[1][0] + \ + p.z * m.matrix[2][0] + m.matrix[3][0]); + ret.y = (p.x * m.matrix[0][1] + p.y * m.matrix[1][1] + \ + p.z * m.matrix[2][1] + m.matrix[3][1]); + ret.z = (p.x * m.matrix[0][2] + p.y * m.matrix[1][2] + \ + p.z * m.matrix[2][2] + m.matrix[3][2]); if (w != 1) { ret.x = ret.x / w; ret.y = ret.y / w; ret.z = ret.z / w; } - // printf("After: %f %f %f\n", ret.x, ret.y, ret.z); return (ret); } @@ -106,27 +108,71 @@ t_matrix mx_cross(t_matrix a, t_matrix b) 0 cos(α) sin(α) 0 ; 0 -sin(α) cos(α) 0 ; 0 0 0 1 ] +*/ +t_matrix mx_rotate_x(t_matrix mx, float x) +{ + const float mx_rx[4][4] = { + {1, 0, 0, 0}, + {0, cos(x * M_PI), sin(x * M_PI), 0}, + {0, -sin(x * M_PI), cos(x * M_PI), 0}, + {0, 0, 0, 1} + }; + t_matrix cross; + cross = mx_cross(mx, create_matrix(mx_rx, 16)); + return (cross); +} + +/** Ry = [ cos(β) 0 -sin(β) 0 ; 0 1 0 0 ; sin(β) 0 cos(β) 0 ; 0 0 0 1 ] +*/ +t_matrix mx_rotate_y(t_matrix mx, float y) +{ + const float mx_ry[4][4] = { + {cos(y * M_PI), 0, -sin(y * M_PI), 0}, + {0, 1, 0, 0}, + {sin(y * M_PI), 0, cos(y * M_PI), 0}, + {0, 0, 0, 1} + }; + t_matrix cross; + cross = mx_cross(mx, create_matrix(mx_ry, 16)); + return (cross); +} + +/** Rz = [ cos(γ) sin(γ) 0 0 ; -sin(γ) cos(γ) 0 0 ; 0 0 1 0 ; 0 0 0 1 ] */ -t_matrix mx_rotate_x(t_matrix mx, float x) +t_matrix mx_rotate_z(t_matrix mx, float z) { - const float mx_rx[4][4] = { - {1, 0, 0, 0}, - {0, cos(x * M_PI), sin(x * M_PI), 0}, - {0, -sin(x * M_PI), cos(x * M_PI), 0}, + const float mx_rz[4][4] = { + {cos(z * M_PI), sin(z * M_PI), 0, 0}, + {-sin(z * M_PI), cos(z * M_PI), 0, 0}, + {0, 0, 1, 0}, {0, 0, 0, 1} }; t_matrix cross; - cross = mx_cross(mx, create_matrix(mx_rx, 16)); + cross = mx_cross(mx, create_matrix(mx_rz, 16)); + return (cross); +} + +t_matrix mx_transl(t_matrix mx, t_point_3d p) +{ + const float mx_tr[4][4] = { + {1, 0, 0, p.x}, + {0, 1, 0, p.y}, + {0, 0, 1, p.z}, + {0, 0, 0, 1} + }; + t_matrix cross; + + cross = mx_cross(mx, create_matrix(mx_tr, 16)); return (cross); } diff --git a/matrix_math.h b/matrix_math.h index 02af2bc..af0ad5a 100644 --- a/matrix_math.h +++ b/matrix_math.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/08 18:06:27 by tfregni #+# #+# */ -/* Updated: 2023/06/13 14:12:48 by tfregni ### ########.fr */ +/* Updated: 2023/06/13 17:20:37 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -17,9 +17,14 @@ typedef float t_matrix_trans[4][4]; t_matrix mx_get_identity(void); +/* TRANSFORMATIONS */ t_matrix mx_rotate_x(t_matrix mx, float x); +t_matrix mx_rotate_y(t_matrix mx, float y); +t_matrix mx_rotate_z(t_matrix mx, float z); +t_matrix mx_transl(t_matrix mx, t_point_3d p); +t_point_3d transform(t_point_3d p, t_matrix_trans m); +/* OPERATIONS */ t_matrix mx_cross(t_matrix a, t_matrix b); t_point_3d mx_mult(t_matrix m, t_point_3d p); -t_point_3d transform(t_point_3d p, t_matrix_trans m); #endif diff --git a/minirt.h b/minirt.h index 1f1c811..4be9ef8 100644 --- a/minirt.h +++ b/minirt.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/06/13 14:29:39 by tfregni ### ########.fr */ +/* Updated: 2023/06/13 17:54:02 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -119,38 +119,9 @@ typedef struct s_camera t_matrix transform; t_matrix inverse; t_matrix transpose; + t_point_2d delta; } t_camera; -/** - * @brief The structure of type t_camera contains the necessary information for - * camera configuration, rendering and transformation. - * @param hsize Stores the horizontal size (in pixels). - * @param vsize Stores the vertical size (in pixels). - * @param field_of_view This field stores angle that describes how much the - * camera can see. When the field of view is small, the - * view will be "zoomed in", magnifying a smaller area of - * the scene. - * @param half_width Stores the camera's half hsize value. - * @param half_height Stores the camera's half vsize value. - * @param pixel_size Stores the camera's pixel size calculated from half_width - * and hsize values. - * @param transform Stores the transformation matrix for the camera. - * @param inverse Stores the inverse matrix for the camera. - * @param transpose Stores the transpose matrix for the camera. - */ -// typedef struct s_camera -// { -// float hsize; -// float vsize; -// float field_of_view; -// float half_width; -// float half_height; -// float pixel_size; -// t_matrix transform; -// t_matrix inverse; -// t_matrix transpose; -// } t_camera; - typedef struct s_light { t_point_3d pos; diff --git a/orient.rt b/orient.rt new file mode 100644 index 0000000..f636357 --- /dev/null +++ b/orient.rt @@ -0,0 +1,5 @@ +C 0,0,0 0.5,0.1,0 50 +A 0.8 127,127,127 +L 0,0,0 0.8 +sp -2,10,0 3 255,0,0 +sp 0.8,10,0 0.4 0,255,0 diff --git a/populate_element.c b/populate_element.c index 655fea5..9da2a84 100644 --- a/populate_element.c +++ b/populate_element.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/26 21:30:47 by tfregni #+# #+# */ -/* Updated: 2023/06/13 14:28:58 by tfregni ### ########.fr */ +/* Updated: 2023/06/13 18:10:04 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -53,6 +53,7 @@ void set_camera_canvas(t_camera *c) c->bot_left = (t_point_2d){(range_x / 2) * -1 + \ c->pos.x, -(range_y / 2) + c->pos.y}; printf("rad: %f range_x: %f range_y: %f corners: b %f t %f l %f r %f\n", fov_rad, range_x, range_y, c->bot_left.y, c->top_right.y, c->top_right.x, c->bot_left.x); + printf("pos: %f %f %f, fov: %d, orient %f %f %f\n", c->pos.x, c->pos.y, c->pos.z, c->fov, c->orientation.x, c->orientation.y, c->orientation.z); } void set_transform_mx(t_camera *c) @@ -60,7 +61,9 @@ void set_transform_mx(t_camera *c) c->transform = mx_get_identity(); print_4x4(c->transform.matrix); c->transform = mx_rotate_x(c->transform, c->orientation.x); - printf("here\n"); + c->transform = mx_rotate_y(c->transform, c->orientation.y); + c->transform = mx_rotate_z(c->transform, c->orientation.z); + //c->transform = mx_transl(c->transform, c->pos); print_4x4(c->transform.matrix); } From e8cc7e3054b9249e7b238b6a303a97bfb30214ad Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Tue, 13 Jun 2023 18:46:50 +0200 Subject: [PATCH 21/67] changed key and mouse hooks --- event_handler.c | 51 ++++++++++++++++++++++++++++--------------------- minirt.h | 3 ++- orient.rt | 2 +- 3 files changed, 32 insertions(+), 24 deletions(-) diff --git a/event_handler.c b/event_handler.c index bcc9303..a4ee30d 100644 --- a/event_handler.c +++ b/event_handler.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 12:29:38 by tvasilev #+# #+# */ -/* Updated: 2023/06/13 18:10:58 by tfregni ### ########.fr */ +/* Updated: 2023/06/13 18:46:31 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -32,21 +32,25 @@ int key_handle(int keycode, t_scene *scene) else if (keycode == MINUS) scene->ambient.lighting_ratio -= 0.1; else if (keycode == UP) - scene->camera.orientation.x += 0.01; + scene->camera.pos.x += CAM_PACE; else if (keycode == DOWN) - scene->camera.orientation.x -= 0.01; + scene->camera.pos.x -= CAM_PACE; else if (keycode == LEFT) scene->camera.pos.x -= CAM_PACE; else if (keycode == RIGHT) scene->camera.pos.x += CAM_PACE; + else if (keycode == Q) + scene->camera.orientation.z -= ORIENT_PACE; + else if (keycode == E) + scene->camera.orientation.z += ORIENT_PACE; else if (keycode == A) - scene->light.pos.x += LIGHT_PACE; + scene->camera.orientation.y -= ORIENT_PACE; else if (keycode == D) - scene->light.pos.x -= LIGHT_PACE; + scene->camera.orientation.y += ORIENT_PACE; else if (keycode == W) - scene->light.pos.y += LIGHT_PACE; + scene->camera.orientation.x += ORIENT_PACE; else if (keycode == S) - scene->light.pos.y -= LIGHT_PACE; + scene->camera.orientation.x -= ORIENT_PACE; else ft_printf("KeyCode: %d\n", keycode); if (keycode != ESC) @@ -58,16 +62,19 @@ int track_delta(int button, int x, int y, t_scene *scene) { t_camera *c; + (void) x; + (void) y; + (void) button; c = &scene->camera; - if (button == LEFT_BUTTON) - { - // H : 1 = d : x - // printf("Dist: %f %f\n", (x - c->delta.x) / HEIGHT, (c->delta.y - y) / HEIGHT); - c->orientation.x += (x - c->delta.x) / HEIGHT; - c->orientation.y += (c->delta.y - y) / HEIGHT; - c->delta = (t_point_2d){0, 0}; - draw(scene); - } + // if (button == LEFT_BUTTON) + // { + // // H : 1 = d : x + // // printf("Dist: %f %f\n", (x - c->delta.x) / HEIGHT, (c->delta.y - y) / HEIGHT); + // c->orientation.x += (x - c->delta.x) / HEIGHT; + // c->orientation.y += (c->delta.y - y) / HEIGHT; + // c->delta = (t_point_2d){0, 0}; + // draw(scene); + // } return (0); } @@ -78,12 +85,12 @@ int mouse_handle(int button, int x, int y, t_scene *scene) (void) x; (void) y; data = scene->img; - if (button == WHEEL_UP && scene->camera.fov < 180) - scene->camera.fov -= CAM_PACE; - else if (button == WHEEL_DOWN && scene->camera.fov > 180) - scene->camera.fov += CAM_PACE; - if (button == LEFT_BUTTON) - scene->camera.delta = (t_point_2d){x, y}; + if (button == WHEEL_UP) + scene->camera.fov -= 1; + if (button == WHEEL_DOWN) + scene->camera.fov += 1; + // if (button == LEFT_BUTTON) + // scene->camera.delta = (t_point_2d){x, y}; if (button != LEFT_BUTTON) draw(scene); return (0); diff --git a/minirt.h b/minirt.h index 4be9ef8..2ca4735 100644 --- a/minirt.h +++ b/minirt.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/06/13 17:54:02 by tfregni ### ########.fr */ +/* Updated: 2023/06/13 18:22:53 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -28,6 +28,7 @@ # define CANV_DIST 1 # define CAM_PACE 0.1 # define LIGHT_PACE 0.3 +# define ORIENT_PACE 0.01 # define RAY_LEN 50 # define BOUNCES 2 # define ZNEAR CANV_DIST diff --git a/orient.rt b/orient.rt index f636357..e071fcc 100644 --- a/orient.rt +++ b/orient.rt @@ -1,4 +1,4 @@ -C 0,0,0 0.5,0.1,0 50 +C 0,0,0 0.5,0.1,0 80 A 0.8 127,127,127 L 0,0,0 0.8 sp -2,10,0 3 255,0,0 From 822a5b0af751047ef0e6b6094c1cbb7ac89e58b2 Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Wed, 14 Jun 2023 12:46:35 +0200 Subject: [PATCH 22/67] hooked rotation to qweasd --- matrix_calcs.c | 13 ++++++++++++- matrix_math.h | 3 ++- minirt.h | 5 ++++- mult_circle.rt | 2 +- orient.rt | 9 +++++---- plane.rt | 6 +++--- populate_element.c | 18 +++++++++++------- vector_calcs.c | 12 +++++++++++- vector_math.h | 3 ++- 9 files changed, 51 insertions(+), 20 deletions(-) diff --git a/matrix_calcs.c b/matrix_calcs.c index ced8956..7b66a76 100644 --- a/matrix_calcs.c +++ b/matrix_calcs.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/08 18:05:50 by tfregni #+# #+# */ -/* Updated: 2023/06/13 17:19:19 by tfregni ### ########.fr */ +/* Updated: 2023/06/14 10:45:24 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -176,3 +176,14 @@ t_matrix mx_transl(t_matrix mx, t_point_3d p) cross = mx_cross(mx, create_matrix(mx_tr, 16)); return (cross); } + +t_matrix mx_combine(t_matrix mx, t_vector orient) +{ + t_matrix comb; + + comb = mx; + comb = mx_rotate_x(comb, orient.x); + comb = mx_rotate_y(comb, orient.y); + comb = mx_rotate_z(comb, orient.z); + return (comb); +} diff --git a/matrix_math.h b/matrix_math.h index af0ad5a..59784dd 100644 --- a/matrix_math.h +++ b/matrix_math.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/08 18:06:27 by tfregni #+# #+# */ -/* Updated: 2023/06/13 17:20:37 by tfregni ### ########.fr */ +/* Updated: 2023/06/14 10:16:30 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -22,6 +22,7 @@ t_matrix mx_rotate_x(t_matrix mx, float x); t_matrix mx_rotate_y(t_matrix mx, float y); t_matrix mx_rotate_z(t_matrix mx, float z); t_matrix mx_transl(t_matrix mx, t_point_3d p); +t_matrix mx_combine(t_matrix mx, t_vector orient); t_point_3d transform(t_point_3d p, t_matrix_trans m); /* OPERATIONS */ t_matrix mx_cross(t_matrix a, t_matrix b); diff --git a/minirt.h b/minirt.h index 2ca4735..c983862 100644 --- a/minirt.h +++ b/minirt.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/06/13 18:22:53 by tfregni ### ########.fr */ +/* Updated: 2023/06/14 12:02:35 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -116,6 +116,9 @@ typedef struct s_camera t_point_2d top_right; t_point_2d bot_left; float pixel_size; + t_vector vup; + t_vector up; + t_vector right; t_matrix_trans m_proj; t_matrix transform; t_matrix inverse; diff --git a/mult_circle.rt b/mult_circle.rt index 2aad5d2..c4a2f13 100644 --- a/mult_circle.rt +++ b/mult_circle.rt @@ -1,4 +1,4 @@ -C 0,0,10 0.01,0,0 30 +C 0,0,10 0,0,0 40 A 0.8 127,127,127 L 50,0,0 0.8 sp -2,0,0 3 255,0,0 diff --git a/orient.rt b/orient.rt index e071fcc..fd6d5db 100644 --- a/orient.rt +++ b/orient.rt @@ -1,5 +1,6 @@ -C 0,0,0 0.5,0.1,0 80 +C 0,0,6 0,0,0 90 A 0.8 127,127,127 -L 0,0,0 0.8 -sp -2,10,0 3 255,0,0 -sp 0.8,10,0 0.4 0,255,0 +L -3,0,3 0.8 +sp 0,0,0 3 255,0,0 +#sp 0.8,0,0 0.4 0,255,0 +#sp 0,5,0 2 0,0,255 diff --git a/plane.rt b/plane.rt index 79ee117..64a110e 100644 --- a/plane.rt +++ b/plane.rt @@ -1,5 +1,5 @@ -C 0,0,-10 0,0,0 30 +C 0,0,10 0,0,0 30 A 0.8 127,127,127 -L 0,0,-10 0.6 -pl 0,0,-10 1,1,0 0,0,255 +L 0,0,0 0.6 +pl 0,0,-10 0.5,0.5,0 0,0,255 diff --git a/populate_element.c b/populate_element.c index 9da2a84..0fb1d6c 100644 --- a/populate_element.c +++ b/populate_element.c @@ -6,12 +6,13 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/26 21:30:47 by tfregni #+# #+# */ -/* Updated: 2023/06/13 18:10:04 by tfregni ### ########.fr */ +/* Updated: 2023/06/14 12:43:46 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ #include "minirt.h" #include "matrix_math.h" +#include "vector_math.h" /** * @returns 0 for success @@ -59,16 +60,19 @@ void set_camera_canvas(t_camera *c) void set_transform_mx(t_camera *c) { c->transform = mx_get_identity(); - print_4x4(c->transform.matrix); - c->transform = mx_rotate_x(c->transform, c->orientation.x); - c->transform = mx_rotate_y(c->transform, c->orientation.y); - c->transform = mx_rotate_z(c->transform, c->orientation.z); - //c->transform = mx_transl(c->transform, c->pos); + // print_4x4(c->transform.matrix); + // c->transform = mx_transl(c->transform, c->pos); + c->transform = mx_combine(c->transform, c->orientation); + c->vup = (t_vector){0, 1, 0}; + t_point_3d look_at = mx_mult(c->transform, (t_point_3d)c->vup); + // t_vector forward = vect_norm(vect_sub(c->pos, look_at)); + // t_vector right = vect_norm(vect_cross(c->vup, forward)); + // t_vector up = vect_cross(forward, right); + printf("LookAt: %f %f %f\n", look_at.x, look_at.y, look_at.z); print_4x4(c->transform.matrix); } /** - * Shall we set limits for the position? Maybe macroed in the header file * @returns 0 for success */ t_err validate_camera(t_scene *scene, char **el) diff --git a/vector_calcs.c b/vector_calcs.c index a9e009d..94bff74 100644 --- a/vector_calcs.c +++ b/vector_calcs.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/02 12:48:28 by tvasilev #+# #+# */ -/* Updated: 2023/06/05 15:20:07 by tfregni ### ########.fr */ +/* Updated: 2023/06/14 11:05:38 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -69,7 +69,17 @@ float vect_dot(t_vector a, t_vector b) return (result.x + result.y + result.z); } +t_vector vect_cross(t_vector u, t_vector v) +{ + return ((t_vector){ + u.y * v.z - u.z * v.y, + u.z * v.x - u.x * v.z, + u.x * v.y - u.y * v.x + }); +} + t_vector vect_inverse(t_vector a) { return ((t_vector){-a.x, -a.y, -a.z}); } + diff --git a/vector_math.h b/vector_math.h index 93f8f3b..80df014 100644 --- a/vector_math.h +++ b/vector_math.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/02 12:49:11 by tvasilev #+# #+# */ -/* Updated: 2023/06/05 15:20:28 by tfregni ### ########.fr */ +/* Updated: 2023/06/14 11:04:26 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -18,6 +18,7 @@ t_vector vect_sum(t_vector a, t_vector b); t_vector vect_sub(t_vector a, t_vector b); float vect_dot(t_vector a, t_vector b); +t_vector vect_cross(t_vector u, t_vector v); t_vector vect_norm(t_vector v); float vect_mag(t_vector v); t_vector vect_mult(t_vector v, float a); From 086b0d68f62099451acf7df2ec555eb839fec29e Mon Sep 17 00:00:00 2001 From: timotif Date: Wed, 14 Jun 2023 17:34:04 +0200 Subject: [PATCH 23/67] added Q and E keycodes for Linux --- event_handler.c | 2 +- linux/keys.h | 4 +++- populate_element.c | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/event_handler.c b/event_handler.c index a4ee30d..4c96e72 100644 --- a/event_handler.c +++ b/event_handler.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 12:29:38 by tvasilev #+# #+# */ -/* Updated: 2023/06/13 18:46:31 by tfregni ### ########.fr */ +/* Updated: 2023/06/14 17:33:35 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/linux/keys.h b/linux/keys.h index 1400d8c..abc6241 100644 --- a/linux/keys.h +++ b/linux/keys.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/02/19 12:22:28 by tfregni #+# #+# */ -/* Updated: 2023/06/06 11:44:33 by tfregni ### ########.fr */ +/* Updated: 2023/06/14 17:33:24 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -23,6 +23,8 @@ Keymap # define A 97 # define S 115 # define D 100 +# define Q 113 +# define E 101 # define W 119 # define C 99 # define R 114 diff --git a/populate_element.c b/populate_element.c index 0fb1d6c..68218eb 100644 --- a/populate_element.c +++ b/populate_element.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/26 21:30:47 by tfregni #+# #+# */ -/* Updated: 2023/06/14 12:43:46 by tfregni ### ########.fr */ +/* Updated: 2023/06/14 17:31:03 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ From 87490493ae3f9429bd5f224be8e04d1078426a98 Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Thu, 15 Jun 2023 12:38:24 +0200 Subject: [PATCH 24/67] vec3 and ray types --- ray.c | 30 +++++++++++++++++++++ ray.h | 24 +++++++++++++++++ render.c | 16 ++++++------ vec3.c | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ vec3.h | 34 ++++++++++++++++++++++++ 5 files changed, 175 insertions(+), 8 deletions(-) create mode 100644 ray.c create mode 100644 ray.h create mode 100644 vec3.c create mode 100644 vec3.h diff --git a/ray.c b/ray.c new file mode 100644 index 0000000..843c07b --- /dev/null +++ b/ray.c @@ -0,0 +1,30 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ray.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tfregni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/06/15 12:14:47 by tfregni #+# #+# */ +/* Updated: 2023/06/15 12:24:19 by tfregni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "ray.h" + +t_ray ray(t_point3 origin, t_vec3 direction) +{ + t_ray result; + + result.origin = origin; + result.direction = direction; + return (result); +} + +t_point3 ray_at(t_ray ray, double t) +{ + t_point3 result; + + result = vec3_sum(ray.origin, vec3_mult(ray.direction, t)); + return (result); +} diff --git a/ray.h b/ray.h new file mode 100644 index 0000000..0d6617c --- /dev/null +++ b/ray.h @@ -0,0 +1,24 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ray.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tfregni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/06/15 12:12:45 by tfregni #+# #+# */ +/* Updated: 2023/06/15 12:14:10 by tfregni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef RAY_H +# define RAY_H + +# include "vec3.h" + +typedef struct s_ray +{ + t_point3 origin; + t_vec3 direction; +} t_ray; + +#endif diff --git a/render.c b/render.c index facedef..8905fb1 100644 --- a/render.c +++ b/render.c @@ -6,13 +6,14 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/06/13 14:30:10 by tfregni ### ########.fr */ +/* Updated: 2023/06/15 12:23:13 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ #include "minirt.h" #include "vector_math.h" #include "matrix_math.h" +#include "vec3.h" /** * range_x / WIDTH = canvas size of 1 pxl on x axis @@ -188,21 +189,20 @@ void draw(t_scene *scene) { t_pxl p; t_img *data; + int color; data = scene->img; - set_camera_canvas(&scene->camera); - // set_proj_matrix(scene->camera.m_proj, &scene->camera); - set_transform_mx(&scene->camera); - p.y = 0; - while (p.y < HEIGHT) + p.y = HEIGHT - 1; + while (p.y >= 0) { p.x = 0; while (p.x < WIDTH) { - my_mlx_pixel_put_d(scene->img, p.x, p.y, per_pixel(p, scene)); + color = per_pixel(p, scene); + my_mlx_pixel_put_d(data, p.x, p.y, color); p.x++; } - p.y++; + p.y--; } mlx_put_image_to_window(data->mlx_ptr, data->win_ptr, data->img, 0, 0); } diff --git a/vec3.c b/vec3.c new file mode 100644 index 0000000..ca77290 --- /dev/null +++ b/vec3.c @@ -0,0 +1,79 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vec3.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tfregni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/06/15 11:42:25 by tfregni #+# #+# */ +/* Updated: 2023/06/15 12:30:07 by tfregni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "minirt.h" +#include "vec3.h" + +t_vec3 vec3(double x, double y, double z) +{ + t_vec3 result; + + result.x = x; + result.y = y; + result.z = z; + return (result); +} + +t_vec3 vec3_sum(t_vec3 a, t_vec3 b) +{ + t_vec3 result; + + result.x = a.x + b.x; + result.y = a.y + b.y; + result.z = a.z + b.z; + return (result); +} + +t_vec3 vec3_mult(t_vec3 a, double b) +{ + t_vec3 result; + + result.x = a.x * b; + result.y = a.y * b; + result.z = a.z * b; + return (result); +} + +t_vec3 vec3_sub(t_vec3 a, t_vec3 b) +{ + t_vec3 result; + + result.x = a.x - b.x; + result.y = a.y - b.y; + result.z = a.z - b.z; + return (result); +} + +double vec3_dot(t_vec3 a, t_vec3 b) +{ + return ((a.x * b.x) + (a.y * b.y) + (a.z * b.z)); +} + +t_vec3 vec3_div(t_vec3 a, double b) +{ + return (vec3_mult(a, 1 / b)); +} + +double vec3_len_squared(t_vec3 a) +{ + return (a.x * a.x + a.y * a.y + a.z * a.z); +} + +double vec3_len(t_vec3 a) +{ + return (sqrt(vec3_len_squared(a))); +} + +t_vec3 vec3_unit(t_vec3 a) +{ + return (vec3_div(a, vec3_len(a))); +} diff --git a/vec3.h b/vec3.h new file mode 100644 index 0000000..02abf49 --- /dev/null +++ b/vec3.h @@ -0,0 +1,34 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vec3.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tfregni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/06/15 11:40:31 by tfregni #+# #+# */ +/* Updated: 2023/06/15 12:11:07 by tfregni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef VEC3_H +# define VEC3_H +# include "minirt.h" + +typedef struct s_vec3 +{ + double x; + double y; + double z; +} t_vec3; + +typedef t_vec3 t_point3; + +typedef struct s_color +{ + int t; + int r; + int g; + int b; +} t_color; + +#endif From ebd3ac2753ef1f80b6cdf9c1f51f556fd5bef77a Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Thu, 15 Jun 2023 14:15:42 +0200 Subject: [PATCH 25/67] started rewriting renderer --- Makefile | 4 +- camera.c | 33 ++++++++++++++ camera.h | 39 ++++++++++++++++ minirt.h | 59 ++++++++++++------------ populate_element.c | 80 ++++++++++++++++----------------- render.c | 109 ++++++++++++++++++++++++--------------------- vec3.h | 15 ++++++- 7 files changed, 213 insertions(+), 126 deletions(-) create mode 100644 camera.c create mode 100644 camera.h diff --git a/Makefile b/Makefile index b90f7ee..6db6aaa 100644 --- a/Makefile +++ b/Makefile @@ -6,13 +6,13 @@ # By: tfregni +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2023/01/30 20:41:46 by tfregni #+# #+# # -# Updated: 2023/06/12 19:05:00 by tfregni ### ########.fr # +# Updated: 2023/06/15 14:12:15 by tfregni ### ########.fr # # # # **************************************************************************** # SRCS = main.c parse.c populate_element.c populate_solid.c parse_util.c \ libx.c render.c sphere.c plane.c vector_calcs.c event_handler.c \ - matrix_calcs.c + matrix_calcs.c camera.c vec3.c ray.c UNAME_S := $(shell uname -s) OBJS = ${SRCS:.c=.o} CC = cc diff --git a/camera.c b/camera.c new file mode 100644 index 0000000..ce2746b --- /dev/null +++ b/camera.c @@ -0,0 +1,33 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* camera.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tfregni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/06/15 12:54:25 by tfregni #+# #+# */ +/* Updated: 2023/06/15 13:01:10 by tfregni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "camera.h" + +void cam_setup(t_camera *c) +{ + double ratio; + t_vec3 half_hor; + t_vec3 half_ver; + t_vec3 temp; + + ratio = WIDTH / (double)HEIGHT; + c->viewport_width = 2.0; + c->viewport_height = c->viewport_width / ratio; + c->focal_length = 1.0; + c->horizontal = vec3(c->viewport_width, 0, 0); + c->vertical = vec3(0, c->viewport_height, 0); + half_hor = vec3_div(c->horizontal, 2); + half_ver = vec3_div(c->vertical, 2); + temp = vec3_sub(c->pos, vec3_div(c->horizontal, 2)); + temp = vec3_sub(temp, vec3_div(c->vertical, 2)); + c->lower_left_corner = vec3_sub(temp, vec3(c->focal_length, 0, 0)); +} diff --git a/camera.h b/camera.h new file mode 100644 index 0000000..cd29cd7 --- /dev/null +++ b/camera.h @@ -0,0 +1,39 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* camera.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tfregni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/06/15 12:39:08 by tfregni #+# #+# */ +/* Updated: 2023/06/15 14:14:23 by tfregni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef CAMERA_H +# define CAMERA_H +# include +# include "vec3.h" + +# define WIDTH 1024 +# define HEIGHT 768 + +typedef struct s_camera +{ + t_point3 pos; + t_vec3 orientation; + uint8_t fov; + double viewport_height; + double viewport_width; + double focal_length; + t_point3 lower_left_corner; + t_vec3 horizontal; + t_vec3 vertical; + t_vec3 vup; + t_vec3 up; + t_vec3 right; +} t_camera; + +void cam_setup(t_camera *c); + +#endif diff --git a/minirt.h b/minirt.h index c983862..0594722 100644 --- a/minirt.h +++ b/minirt.h @@ -6,22 +6,23 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/06/14 12:02:35 by tfregni ### ########.fr */ +/* Updated: 2023/06/15 14:13:18 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef MINIRT_H # define MINIRT_H -# include "libft.h" -# include "keys.h" # include # include # include # include +# include "libft.h" +# include "keys.h" +# include "camera.h" # define SPACE "\t\n\f\r\v " # define MAX_SOLID 3 -# define WIDTH 1024 -# define HEIGHT 768 +// # define WIDTH 1024 +// # define HEIGHT 768 # define CANV_MIN_X -1.0f # define CANV_MAX_X 1.0f # define CANV_MIN_Y -1.0f @@ -80,14 +81,14 @@ typedef struct s_img int endian; } t_img; -typedef struct s_point_3d -{ - double x; - double y; - double z; -} t_point_3d; +// typedef struct s_point_3d +// { +// double x; +// double y; +// double z; +// } t_point_3d; -typedef t_point_3d t_vector; +// typedef t_point_3d t_vector; typedef struct s_pxl { @@ -108,23 +109,23 @@ typedef struct s_ambient int trgb; } t_ambient; -typedef struct s_camera -{ - t_point_3d pos; - t_vector orientation; - uint8_t fov; - t_point_2d top_right; - t_point_2d bot_left; - float pixel_size; - t_vector vup; - t_vector up; - t_vector right; - t_matrix_trans m_proj; - t_matrix transform; - t_matrix inverse; - t_matrix transpose; - t_point_2d delta; -} t_camera; +// typedef struct s_camera +// { +// t_point_3d pos; +// t_vector orientation; +// uint8_t fov; +// t_point_2d top_right; +// t_point_2d bot_left; +// float pixel_size; +// t_vector vup; +// t_vector up; +// t_vector right; +// t_matrix_trans m_proj; +// t_matrix transform; +// t_matrix inverse; +// t_matrix transpose; +// t_point_2d delta; +// } t_camera; typedef struct s_light { diff --git a/populate_element.c b/populate_element.c index 68218eb..815b170 100644 --- a/populate_element.c +++ b/populate_element.c @@ -6,13 +6,15 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/26 21:30:47 by tfregni #+# #+# */ -/* Updated: 2023/06/14 17:31:03 by tfregni ### ########.fr */ +/* Updated: 2023/06/15 14:09:04 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ #include "minirt.h" #include "matrix_math.h" #include "vector_math.h" +// #include "vec3.h" +// #include "camera.h" /** * @returns 0 for success @@ -32,45 +34,42 @@ t_err validate_ambient(t_scene *scene, char **el) el[1], INVALID_ELEMENT)); } -/** - * if FOV == 180 the tan explodes -*/ -void set_camera_canvas(t_camera *c) -{ - float range_x; - float range_y; - float fov_rad; - float ratio; +// /** +// * if FOV == 180 the tan explodes +// */ +// void set_camera_canvas(t_camera *c) +// { +// float range_x; +// float range_y; +// float fov_rad; +// float ratio; - if (c->fov >= 180) - c->fov = 179; - if (c->fov < 0) - c->fov = 0; - ratio = (float)WIDTH / HEIGHT; - fov_rad = c->fov * (M_PI / 180); - range_x = 2 * tan(fov_rad / 2) * CANV_DIST; - range_y = range_x / ratio; - c->top_right = (t_point_2d){range_x / 2 + c->pos.x, range_y / 2 + c->pos.y}; - c->bot_left = (t_point_2d){(range_x / 2) * -1 + \ - c->pos.x, -(range_y / 2) + c->pos.y}; - printf("rad: %f range_x: %f range_y: %f corners: b %f t %f l %f r %f\n", fov_rad, range_x, range_y, c->bot_left.y, c->top_right.y, c->top_right.x, c->bot_left.x); - printf("pos: %f %f %f, fov: %d, orient %f %f %f\n", c->pos.x, c->pos.y, c->pos.z, c->fov, c->orientation.x, c->orientation.y, c->orientation.z); -} +// if (c->fov >= 180) +// c->fov = 179; +// if (c->fov < 0) +// c->fov = 0; +// ratio = (float)WIDTH / HEIGHT; +// fov_rad = c->fov * (M_PI / 180); +// range_x = 2 * tan(fov_rad / 2) * CANV_DIST; +// range_y = range_x / ratio; +// c->top_right = (t_point_2d){range_x / 2 + c->pos.x, range_y / 2 + c->pos.y}; +// c->bot_left = (t_point_2d){(range_x / 2) * -1 + \ +// c->pos.x, -(range_y / 2) + c->pos.y}; +// printf("rad: %f range_x: %f range_y: %f corners: b %f t %f l %f r %f\n", fov_rad, range_x, range_y, c->bot_left.y, c->top_right.y, c->top_right.x, c->bot_left.x); +// printf("pos: %f %f %f, fov: %d, orient %f %f %f\n", c->pos.x, c->pos.y, c->pos.z, c->fov, c->orientation.x, c->orientation.y, c->orientation.z); +// } -void set_transform_mx(t_camera *c) -{ - c->transform = mx_get_identity(); - // print_4x4(c->transform.matrix); - // c->transform = mx_transl(c->transform, c->pos); - c->transform = mx_combine(c->transform, c->orientation); - c->vup = (t_vector){0, 1, 0}; - t_point_3d look_at = mx_mult(c->transform, (t_point_3d)c->vup); - // t_vector forward = vect_norm(vect_sub(c->pos, look_at)); - // t_vector right = vect_norm(vect_cross(c->vup, forward)); - // t_vector up = vect_cross(forward, right); - printf("LookAt: %f %f %f\n", look_at.x, look_at.y, look_at.z); - print_4x4(c->transform.matrix); -} +// void set_transform_mx(t_camera *c) +// { +// c->transform = mx_get_identity(); +// // print_4x4(c->transform.matrix); +// // c->transform = mx_transl(c->transform, c->pos); +// c->transform = mx_combine(c->transform, c->orientation); +// c->vup = (t_vector){0, 1, 0}; +// t_point_3d look_at = mx_mult(c->transform, (t_point_3d)c->vup); +// printf("LookAt: %f %f %f\n", look_at.x, look_at.y, look_at.z); +// print_4x4(c->transform.matrix); +// } /** * @returns 0 for success @@ -82,15 +81,14 @@ t_err validate_camera(t_scene *scene, char **el) NULL, INVALID_ELEMENT)); if (extract_xyz(el[1], &scene->camera.pos) || extract_xyz(el[2], &scene->camera.orientation) - || !validate_3d_range((t_point_3d)scene->camera.orientation, -1.0, 1.0)) + || !validate_3d_range((t_point3)scene->camera.orientation, -1.0, 1.0)) return (ft_warning("invalid argument: ", el[2], \ INVALID_ELEMENT)); scene->camera.fov = ft_atoi(el[3]); if (scene->camera.fov < 0 || scene->camera.fov > 180) return (ft_warning("invalid argument: ", el[3], \ INVALID_ELEMENT)); - set_transform_mx(&scene->camera); - set_camera_canvas(&scene->camera); + cam_setup(&scene->camera); return (SUCCESS); } diff --git a/render.c b/render.c index 8905fb1..3e1a453 100644 --- a/render.c +++ b/render.c @@ -6,14 +6,13 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/06/15 12:23:13 by tfregni ### ########.fr */ +/* Updated: 2023/06/15 14:05:25 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ #include "minirt.h" -#include "vector_math.h" +// #include "vector_math.h" #include "matrix_math.h" -#include "vec3.h" /** * range_x / WIDTH = canvas size of 1 pxl on x axis @@ -33,18 +32,18 @@ // return (ret); // } -t_point_2d to_canvas_new(t_pxl pxl, t_camera *c) -{ - t_point_2d ret; - float range_x; - float range_y; - - range_x = c->top_right.x - c->bot_left.x; - range_y = c->top_right.y - c->bot_left.y; - ret.x = range_x / WIDTH * pxl.x + c->bot_left.x; - ret.y = range_y / HEIGHT * pxl.y + c->bot_left.y; - return (ret); -} +// t_point_2d to_canvas_new(t_pxl pxl, t_camera *c) +// { +// t_point_2d ret; +// float range_x; +// float range_y; + +// range_x = c->top_right.x - c->bot_left.x; +// range_y = c->top_right.y - c->bot_left.y; +// ret.x = range_x / WIDTH * pxl.x + c->bot_left.x; +// ret.y = range_y / HEIGHT * pxl.y + c->bot_left.y; +// return (ret); +// } void print_4x4(t_matrix_trans m) { @@ -57,26 +56,26 @@ void print_4x4(t_matrix_trans m) printf("\n"); } -void set_proj_matrix(t_matrix_trans proj, t_camera *c) -{ - proj[0][0] = (2 * ZNEAR) / (c->top_right.x - c->bot_left.x); - proj[0][1] = 0.0f; - proj[0][2] = 0.0f; - proj[0][3] = 0.0f; - proj[1][0] = 0.0f; - proj[1][1] = (2 * ZNEAR) / (c->top_right.y - c->bot_left.y); - proj[1][2] = 0.0f; - proj[1][3] = 0.0f; - proj[2][0] = (c->top_right.x + c->bot_left.x) / (c->top_right.x - c->bot_left.x); - proj[2][1] = (c->top_right.y + c->bot_left.y) / (c->top_right.y - c->bot_left.y); - proj[2][2] = -((ZFAR + ZNEAR) / (ZFAR - ZNEAR)); - proj[2][3] = -1.0f; - proj[3][0] = 0.0f; - proj[3][1] = 0.0f; - proj[3][2] = -((2 * ZFAR * ZNEAR) / (ZFAR - ZNEAR)); - proj[3][3] = 0.0f; - print_4x4(proj); -} +// void set_proj_matrix(t_matrix_trans proj, t_camera *c) +// { +// proj[0][0] = (2 * ZNEAR) / (c->top_right.x - c->bot_left.x); +// proj[0][1] = 0.0f; +// proj[0][2] = 0.0f; +// proj[0][3] = 0.0f; +// proj[1][0] = 0.0f; +// proj[1][1] = (2 * ZNEAR) / (c->top_right.y - c->bot_left.y); +// proj[1][2] = 0.0f; +// proj[1][3] = 0.0f; +// proj[2][0] = (c->top_right.x + c->bot_left.x) / (c->top_right.x - c->bot_left.x); +// proj[2][1] = (c->top_right.y + c->bot_left.y) / (c->top_right.y - c->bot_left.y); +// proj[2][2] = -((ZFAR + ZNEAR) / (ZFAR - ZNEAR)); +// proj[2][3] = -1.0f; +// proj[3][0] = 0.0f; +// proj[3][1] = 0.0f; +// proj[3][2] = -((2 * ZFAR * ZNEAR) / (ZFAR - ZNEAR)); +// proj[3][3] = 0.0f; +// print_4x4(proj); +// } /** * As in openGL, we state that the projection plane coinincides @@ -143,6 +142,22 @@ int intersect_element(t_scene *scene, t_ray ray, int *color, float *min_t) // return ((t_ray){(t_point_3d){origin.x, origin.y, origin.z}, direction}); // } +t_ray create_cam_ray(t_camera *c, double u, double v) +{ + t_ray ray; + t_vec3 temp; + t_vec3 scale_hor; + t_vec3 scale_ver; + + ray.origin = c->pos; + scale_hor = vec3_mult(c->horizontal, u); + scale_ver = vec3_mult(c->vertical, v); + temp = vec3_sum(scale_hor, scale_ver); + ray.direction = vec3_sub(c->lower_left_corner, ray.origin); + ray.direction = vec3_sum(ray.direction, temp); + return (ray); +} + /** * @returns a color as int * @math @@ -160,23 +175,13 @@ int intersect_element(t_scene *scene, t_ray ray, int *color, float *min_t) */ int per_pixel(t_pxl p, t_scene *scene) { - t_point_2d coord; - t_ray ray; - float t; - int color; - t_point_3d p3; - - t = RAY_LEN; - coord = to_canvas_new(p, &scene->camera); - p3 = (t_point_3d){coord.x, coord.y, -1.0f}; - p3 = world_to_cam_new(p3, scene->camera.transform); - ray.origin = scene->camera.pos; - ray.direction = vect_norm((t_vector){p3.x, p3.y, p3.z}); - // ray = ray_for_pixel(&scene->camera, p); - if (intersect_element(scene, ray, &color, &t)) - { - return (color); - } + double u; + double v; + t_ray r; + + u = (double)p.x / (WIDTH - 1); + v = (double)p.y / (HEIGHT - 1); + r = create_cam_ray(&scene->camera, u, v); return (apply_ligthing_ratio(scene->ambient.trgb, \ scene->ambient.lighting_ratio)); } diff --git a/vec3.h b/vec3.h index 02abf49..37fcc89 100644 --- a/vec3.h +++ b/vec3.h @@ -6,13 +6,12 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 11:40:31 by tfregni #+# #+# */ -/* Updated: 2023/06/15 12:11:07 by tfregni ### ########.fr */ +/* Updated: 2023/06/15 14:03:52 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef VEC3_H # define VEC3_H -# include "minirt.h" typedef struct s_vec3 { @@ -22,6 +21,8 @@ typedef struct s_vec3 } t_vec3; typedef t_vec3 t_point3; +typedef t_vec3 t_point_3d; +typedef t_vec3 t_vector; typedef struct s_color { @@ -31,4 +32,14 @@ typedef struct s_color int b; } t_color; +t_vec3 vec3(double x, double y, double z); +t_vec3 vec3_sum(t_vec3 a, t_vec3 b); +t_vec3 vec3_mult(t_vec3 a, double b); +t_vec3 vec3_sub(t_vec3 a, t_vec3 b); +double vec3_dot(t_vec3 a, t_vec3 b); +t_vec3 vec3_div(t_vec3 a, double b); +double vec3_len_squared(t_vec3 a); +double vec3_len(t_vec3 a); +t_vec3 vec3_unit(t_vec3 a); + #endif From ae328381f0699da07f6f7cba9051e31bdc4d6071 Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Thu, 15 Jun 2023 16:42:19 +0200 Subject: [PATCH 26/67] sphere intersection, colors with normal vector --- Makefile | 2 +- camera.c | 12 ++++---- minirt.h | 31 +++++++++++-------- populate_solid.c | 2 +- ray.c | 8 ++++- ray.h | 4 ++- render.c | 77 +++++++++++++++++++++++++++++++++++++++--------- rt_weekend.rt | 4 +++ sphere.c | 20 ++++++++++++- sphere.h | 26 ++++++++++++++++ vec3.c | 23 ++++++++++++++- vec3.h | 13 ++++---- 12 files changed, 180 insertions(+), 42 deletions(-) create mode 100644 rt_weekend.rt create mode 100644 sphere.h diff --git a/Makefile b/Makefile index 6db6aaa..f96f34b 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ # By: tfregni +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2023/01/30 20:41:46 by tfregni #+# #+# # -# Updated: 2023/06/15 14:12:15 by tfregni ### ########.fr # +# Updated: 2023/06/15 16:14:33 by tfregni ### ########.fr # # # # **************************************************************************** # diff --git a/camera.c b/camera.c index ce2746b..2d35fb2 100644 --- a/camera.c +++ b/camera.c @@ -6,11 +6,12 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 12:54:25 by tfregni #+# #+# */ -/* Updated: 2023/06/15 13:01:10 by tfregni ### ########.fr */ +/* Updated: 2023/06/15 15:35:26 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ #include "camera.h" +#include void cam_setup(t_camera *c) { @@ -22,12 +23,13 @@ void cam_setup(t_camera *c) ratio = WIDTH / (double)HEIGHT; c->viewport_width = 2.0; c->viewport_height = c->viewport_width / ratio; - c->focal_length = 1.0; + c->focal_length = 1.0f; c->horizontal = vec3(c->viewport_width, 0, 0); c->vertical = vec3(0, c->viewport_height, 0); half_hor = vec3_div(c->horizontal, 2); half_ver = vec3_div(c->vertical, 2); - temp = vec3_sub(c->pos, vec3_div(c->horizontal, 2)); - temp = vec3_sub(temp, vec3_div(c->vertical, 2)); - c->lower_left_corner = vec3_sub(temp, vec3(c->focal_length, 0, 0)); + temp = vec3_sub(c->pos, half_hor); + temp = vec3_sub(temp, half_ver); + c->lower_left_corner = vec3_sub(temp, vec3(0, 0, c->focal_length)); + printf("Camera: vp_w: %f, vp_h: %f, lower_left: %f %f %f\n", c->viewport_width, c->viewport_height, c->lower_left_corner.x, c->lower_left_corner.y, c->lower_left_corner.z); } diff --git a/minirt.h b/minirt.h index 0594722..7053883 100644 --- a/minirt.h +++ b/minirt.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/06/15 14:13:18 by tfregni ### ########.fr */ +/* Updated: 2023/06/15 16:13:52 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -19,6 +19,7 @@ # include "libft.h" # include "keys.h" # include "camera.h" +# include "sphere.h" # define SPACE "\t\n\f\r\v " # define MAX_SOLID 3 // # define WIDTH 1024 @@ -61,6 +62,12 @@ enum e_unique_el LIGHT, }; +typedef enum e_bool +{ + FALSE, + TRUE, +} t_bool; + typedef struct s_matrix { float matrix[4][4]; @@ -134,12 +141,12 @@ typedef struct s_light int trgb; } t_light; -typedef struct s_sphere -{ - t_point_3d pos; - float diameter; - int trgb; -} t_sphere; +// typedef struct s_sphere +// { +// t_point_3d pos; +// float diameter; +// int trgb; +// } t_sphere; typedef struct s_plane { @@ -158,11 +165,11 @@ typedef struct s_cylinder int trgb; } t_cylinder; -typedef struct s_ray -{ - t_point_3d origin; - t_vector direction; -} t_ray; +// typedef struct s_ray +// { +// t_point_3d origin; +// t_vector direction; +// } t_ray; typedef struct s_shape { diff --git a/populate_solid.c b/populate_solid.c index 3f11cd7..b7244f8 100644 --- a/populate_solid.c +++ b/populate_solid.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/26 21:31:05 by tfregni #+# #+# */ -/* Updated: 2023/06/12 19:08:01 by tfregni ### ########.fr */ +/* Updated: 2023/06/15 16:02:08 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/ray.c b/ray.c index 843c07b..603350c 100644 --- a/ray.c +++ b/ray.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 12:14:47 by tfregni #+# #+# */ -/* Updated: 2023/06/15 12:24:19 by tfregni ### ########.fr */ +/* Updated: 2023/06/15 16:30:09 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -21,6 +21,12 @@ t_ray ray(t_point3 origin, t_vec3 direction) return (result); } +/** + * @brief Calculate the point on the ray at distance t (hit point) + * @param ray The ray + * @param t The distance + * @return t_point3 The point on the ray at distance t +*/ t_point3 ray_at(t_ray ray, double t) { t_point3 result; diff --git a/ray.h b/ray.h index 0d6617c..ebcd381 100644 --- a/ray.h +++ b/ray.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 12:12:45 by tfregni #+# #+# */ -/* Updated: 2023/06/15 12:14:10 by tfregni ### ########.fr */ +/* Updated: 2023/06/15 16:22:21 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -21,4 +21,6 @@ typedef struct s_ray t_vec3 direction; } t_ray; +t_point3 ray_at(t_ray ray, double t); + #endif diff --git a/render.c b/render.c index 3e1a453..52e166e 100644 --- a/render.c +++ b/render.c @@ -6,11 +6,12 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/06/15 14:05:25 by tfregni ### ########.fr */ +/* Updated: 2023/06/15 16:41:22 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ #include "minirt.h" +#include "ray.h" // #include "vector_math.h" #include "matrix_math.h" @@ -146,18 +147,62 @@ t_ray create_cam_ray(t_camera *c, double u, double v) { t_ray ray; t_vec3 temp; - t_vec3 scale_hor; - t_vec3 scale_ver; + t_vec3 gradient_hor; + t_vec3 gradient_ver; ray.origin = c->pos; - scale_hor = vec3_mult(c->horizontal, u); - scale_ver = vec3_mult(c->vertical, v); - temp = vec3_sum(scale_hor, scale_ver); + gradient_hor = vec3_mult(c->horizontal, u); + gradient_ver = vec3_mult(c->vertical, v); + temp = vec3_sum(gradient_hor, gradient_ver); ray.direction = vec3_sub(c->lower_left_corner, ray.origin); ray.direction = vec3_sum(ray.direction, temp); return (ray); } +/** + * A lerp is always of the form + * blendedValue=(1−t)⋅startValue+t⋅endValue, +*/ +t_color ray_color(t_ray ray) +{ + t_vec3 unit_direction; + double t; + t_vec3 normal; + t_vec3 blend; + + t = sp_hit(point(0, 0, -1), 1, ray); + if (t > 0.0) + { + normal = vec3_unit(vec3_sub(ray_at(ray, t), vec3(0, 0, -1))); + return (color(0.5, (normal.x + 1) * 0.5, (normal.y + 1) * 0.5, (normal.z + 1) * 0.5)); + } + unit_direction = vec3_unit(ray.direction); + t = 0.5 * (unit_direction.y + 1.0); + blend = vec3_sum(vec3_mult(vec3(1, 1, 1), 1.0 - t), vec3_mult(vec3(0.5, 0.7, 1.0), t)); + return (color(0, blend.x, blend.y, blend.z)); +} + +/** + * @brief converts a color struct with double values in range [0, 1] + * to an int in trgb format + * @param c color struct + * @return int in trgb format +*/ +int convert_trgb(t_color c) +{ + int t; + int r; + int g; + int b; + + t = (int)(c.t * 255.999); + r = (int)(c.r * 255.999); + g = (int)(c.g * 255.999); + b = (int)(c.b * 255.999); + return (t << 24 | r << 16 | g << 8 | b); +} + + /** * @returns a color as int * @math @@ -178,12 +223,14 @@ int per_pixel(t_pxl p, t_scene *scene) double u; double v; t_ray r; + t_color c; + // Between 0 and 1 u = (double)p.x / (WIDTH - 1); v = (double)p.y / (HEIGHT - 1); r = create_cam_ray(&scene->camera, u, v); - return (apply_ligthing_ratio(scene->ambient.trgb, \ - scene->ambient.lighting_ratio)); + c = ray_color(r); + return (convert_trgb(c)); } /** @@ -194,20 +241,22 @@ void draw(t_scene *scene) { t_pxl p; t_img *data; - int color; + int c; data = scene->img; - p.y = HEIGHT - 1; - while (p.y >= 0) + p.y = 0; + while (p.y < HEIGHT) { + // printf("Scanlines remaining: %d\n", HEIGHT - 1 - p.y); p.x = 0; while (p.x < WIDTH) { - color = per_pixel(p, scene); - my_mlx_pixel_put_d(data, p.x, p.y, color); + // c = convert_trgb(color(0, (double)p.x / (WIDTH - 1), (double)p.y / (HEIGHT - 1), 0.25)); + c = per_pixel(p, scene); + my_mlx_pixel_put_d(data, p.x, p.y, c); p.x++; } - p.y--; + p.y++; } mlx_put_image_to_window(data->mlx_ptr, data->win_ptr, data->img, 0, 0); } diff --git a/rt_weekend.rt b/rt_weekend.rt new file mode 100644 index 0000000..a806741 --- /dev/null +++ b/rt_weekend.rt @@ -0,0 +1,4 @@ +C 0,0,0 0,0,0 40 +A 0.8 127,127,127 +L 50,0,0 0.8 +sp -2,0,0 3 255,0,0 diff --git a/sphere.c b/sphere.c index 943558a..bd856aa 100644 --- a/sphere.c +++ b/sphere.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/07 14:22:05 by tfregni #+# #+# */ -/* Updated: 2023/06/12 18:41:00 by tfregni ### ########.fr */ +/* Updated: 2023/06/15 16:16:13 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -102,3 +102,21 @@ int intersect_sphere(t_scene *scene, t_ray ray, float *t, int i) return (1); } +double sp_hit(t_point3 center, double diameter, t_ray r) +{ + t_vec3 oc; + double a; + double b; + double c; + double discriminant; + + oc = vec3_sub(r.origin, center); + a = vec3_dot(r.direction, r.direction); + b = 2.0 * vec3_dot(oc, r.direction); + c = vec3_dot(oc, oc) - pow(diameter / 2, 2); + discriminant = b * b - 4 * a * c; + if (discriminant < 0) + return (-1); + return ((-b - sqrt(discriminant)) / (2.0 * a)); +} + diff --git a/sphere.h b/sphere.h new file mode 100644 index 0000000..2ac5f9e --- /dev/null +++ b/sphere.h @@ -0,0 +1,26 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* sphere.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tfregni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/06/15 16:10:11 by tfregni #+# #+# */ +/* Updated: 2023/06/15 16:12:26 by tfregni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef SPHERE_H +# define SPHERE_H +# include "vec3.h" +# include "ray.h" + +typedef struct s_sphere +{ + t_point_3d pos; + float diameter; + int trgb; +} t_sphere; + +double sp_hit(t_point3 center, double diameter, t_ray r); +#endif diff --git a/vec3.c b/vec3.c index ca77290..feed661 100644 --- a/vec3.c +++ b/vec3.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 11:42:25 by tfregni #+# #+# */ -/* Updated: 2023/06/15 12:30:07 by tfregni ### ########.fr */ +/* Updated: 2023/06/15 15:59:55 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -23,6 +23,27 @@ t_vec3 vec3(double x, double y, double z) return (result); } +t_color color(double t, double r, double g, double b) +{ + t_color result; + + result.t = t; + result.r = r; + result.g = g; + result.b = b; + return (result); +} + +t_point3 point(double x, double y, double z) +{ + t_point3 result; + + result.x = x; + result.y = y; + result.z = z; + return (result); +} + t_vec3 vec3_sum(t_vec3 a, t_vec3 b) { t_vec3 result; diff --git a/vec3.h b/vec3.h index 37fcc89..6d5e251 100644 --- a/vec3.h +++ b/vec3.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 11:40:31 by tfregni #+# #+# */ -/* Updated: 2023/06/15 14:03:52 by tfregni ### ########.fr */ +/* Updated: 2023/06/15 16:00:05 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -26,10 +26,10 @@ typedef t_vec3 t_vector; typedef struct s_color { - int t; - int r; - int g; - int b; + double t; + double r; + double g; + double b; } t_color; t_vec3 vec3(double x, double y, double z); @@ -42,4 +42,7 @@ double vec3_len_squared(t_vec3 a); double vec3_len(t_vec3 a); t_vec3 vec3_unit(t_vec3 a); +t_point3 point(double x, double y, double z); + +t_color color(double t, double r, double g, double b); #endif From 0d8250659aac82dc73e7f3cb705e4ab89e0777f0 Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Thu, 15 Jun 2023 23:55:02 +0200 Subject: [PATCH 27/67] multiple solids --- hittable.h | 26 ++++++++++++ minirt.h | 8 +++- populate_solid.c | 3 +- render.c | 100 +++++++++++++++++++++++++++++++---------------- rt_weekend.rt | 3 +- sphere.c | 44 ++++++++++++++++++--- sphere.h | 7 +++- 7 files changed, 146 insertions(+), 45 deletions(-) create mode 100644 hittable.h diff --git a/hittable.h b/hittable.h new file mode 100644 index 0000000..043b990 --- /dev/null +++ b/hittable.h @@ -0,0 +1,26 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* hittable.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tfregni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/06/15 17:26:52 by tfregni #+# #+# */ +/* Updated: 2023/06/15 23:22:50 by tfregni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef HITTABLE_H +# define HITTABLE_H +# include +# include "vec3.h" + +typedef struct s_hit_record +{ + t_point3 p; + t_vec3 normal; + double t; + int color; +} t_hit_record; + +#endif diff --git a/minirt.h b/minirt.h index 7053883..06c6cbf 100644 --- a/minirt.h +++ b/minirt.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/06/15 16:13:52 by tfregni ### ########.fr */ +/* Updated: 2023/06/15 18:09:37 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -20,6 +20,7 @@ # include "keys.h" # include "camera.h" # include "sphere.h" +# include "hittable.h" # define SPACE "\t\n\f\r\v " # define MAX_SOLID 3 // # define WIDTH 1024 @@ -38,9 +39,12 @@ typedef float t_matrix_trans[4][4]; typedef struct s_scene t_scene; +typedef struct s_shape t_shape; typedef struct s_ray t_ray; typedef int (*t_hit_func)(t_scene *scene, t_ray ray, \ float *t, int i); +typedef bool (*t_hit)(t_shape *shape, t_ray ray, t_hit_record *rec); +typedef t_vec3 (*t_normal)(t_shape *shape, t_point3 hit); typedef struct s_camera t_camera; typedef enum e_err @@ -180,6 +184,8 @@ typedef struct s_shape }; t_vector rotation; t_hit_func intersect; + t_hit hit; + t_normal normal; t_matrix_trans transform; int trgb; } t_shape; diff --git a/populate_solid.c b/populate_solid.c index b7244f8..96f07cf 100644 --- a/populate_solid.c +++ b/populate_solid.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/26 21:31:05 by tfregni #+# #+# */ -/* Updated: 2023/06/15 16:02:08 by tfregni ### ########.fr */ +/* Updated: 2023/06/15 18:08:46 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -31,6 +31,7 @@ int validate_sphere(t_scene *scene, char **el) shape.sp.diameter = ft_atof(el[2]); // printf("before: sphere %d: %p\n", i, &scene->shape[i]); shape.intersect = intersect_sphere; + shape.hit = sp_hit; scene->shape[i] = shape; // printf to remove printf("sphere %d: %p\n", i, &scene->shape[i]); diff --git a/render.c b/render.c index 52e166e..4f7b3d8 100644 --- a/render.c +++ b/render.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/06/15 16:41:22 by tfregni ### ########.fr */ +/* Updated: 2023/06/15 23:54:38 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -126,6 +126,43 @@ int intersect_element(t_scene *scene, t_ray ray, int *color, float *min_t) return (ret); } +/** + * @brief converts an int in trgb format to a color struct with double values + * in range [0, 1] + * @param trgb int in trgb format + * @return color struct +*/ +t_color convert_color(int trgb) +{ + t_color c; + + c.t = ((trgb >> 24) & 0xFF) / 255.999; + c.r = ((trgb >> 16) & 0xFF) / 255.999; + c.g = ((trgb >> 8) & 0xFF) / 255.999; + c.b = (trgb & 0xFF) / 255.999; + return (c); +} + +/** + * @brief converts a color struct with double values in range [0, 1] + * to an int in trgb format + * @param c color struct + * @return int in trgb format +*/ +int convert_trgb(t_color c) +{ + int t; + int r; + int g; + int b; + + t = (int)(c.t * 255.999); + r = (int)(c.r * 255.999); + g = (int)(c.g * 255.999); + b = (int)(c.b * 255.999); + return (t << 24 | r << 16 | g << 8 | b); +} + // t_ray ray_for_pixel(t_camera *c, t_pxl p) // { // float world_x; @@ -159,50 +196,45 @@ t_ray create_cam_ray(t_camera *c, double u, double v) return (ray); } -/** - * A lerp is always of the form - * blendedValue=(1−t)⋅startValue+t⋅endValue, -*/ -t_color ray_color(t_ray ray) +bool hit_element(t_scene *scene, t_ray ray, t_hit_record *rec) { - t_vec3 unit_direction; - double t; - t_vec3 normal; - t_vec3 blend; + bool hit_anything; + int i; - t = sp_hit(point(0, 0, -1), 1, ray); - if (t > 0.0) + hit_anything = false; + rec->t = RAY_LEN; + i = scene->shape_count - 1; + while (i >= 0) { - normal = vec3_unit(vec3_sub(ray_at(ray, t), vec3(0, 0, -1))); - return (color(0.5, (normal.x + 1) * 0.5, (normal.y + 1) * 0.5, (normal.z + 1) * 0.5)); + if (scene->shape[i].hit(&scene->shape[i], ray, rec) && rec->t > 0.001f) + { + hit_anything = true; + } + i--; } - unit_direction = vec3_unit(ray.direction); - t = 0.5 * (unit_direction.y + 1.0); - blend = vec3_sum(vec3_mult(vec3(1, 1, 1), 1.0 - t), vec3_mult(vec3(0.5, 0.7, 1.0), t)); - return (color(0, blend.x, blend.y, blend.z)); + return (hit_anything); } /** - * @brief converts a color struct with double values in range [0, 1] - * to an int in trgb format - * @param c color struct - * @return int in trgb format + * A lerp is always of the form + * blendedValue=(1−t)⋅startValue+t⋅endValue, */ -int convert_trgb(t_color c) +t_color ray_color(t_scene *scene, t_ray ray) { - int t; - int r; - int g; - int b; + t_vec3 unit_direction; + double t; + t_vec3 blend; + t_hit_record rec; - t = (int)(c.t * 255.999); - r = (int)(c.r * 255.999); - g = (int)(c.g * 255.999); - b = (int)(c.b * 255.999); - return (t << 24 | r << 16 | g << 8 | b); + // return (color(0.5, (normal.x + 1) * 0.5, (normal.y + 1) * 0.5, (normal.z + 1) * 0.5)); + if (hit_element(scene, ray, &rec)) + return (convert_color(rec.color)); + unit_direction = vec3_unit(ray.direction); + t = 0.5 * (unit_direction.y + 1.0); + blend = vec3_sum(vec3_mult(vec3(1, 1, 1), 1.0 - t), vec3_mult(vec3(0.5, 0.7, 1.0), t)); + return (color(0, blend.x, blend.y, blend.z)); } - /** * @returns a color as int * @math @@ -229,7 +261,7 @@ int per_pixel(t_pxl p, t_scene *scene) u = (double)p.x / (WIDTH - 1); v = (double)p.y / (HEIGHT - 1); r = create_cam_ray(&scene->camera, u, v); - c = ray_color(r); + c = ray_color(scene, r); return (convert_trgb(c)); } diff --git a/rt_weekend.rt b/rt_weekend.rt index a806741..52e60ad 100644 --- a/rt_weekend.rt +++ b/rt_weekend.rt @@ -1,4 +1,5 @@ C 0,0,0 0,0,0 40 A 0.8 127,127,127 L 50,0,0 0.8 -sp -2,0,0 3 255,0,0 +sp 0,0,-2 1 255,0,0 + diff --git a/sphere.c b/sphere.c index bd856aa..554f194 100644 --- a/sphere.c +++ b/sphere.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/07 14:22:05 by tfregni #+# #+# */ -/* Updated: 2023/06/15 16:16:13 by tfregni ### ########.fr */ +/* Updated: 2023/06/15 23:53:47 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -102,7 +102,38 @@ int intersect_sphere(t_scene *scene, t_ray ray, float *t, int i) return (1); } -double sp_hit(t_point3 center, double diameter, t_ray r) +/** + * @todo - could be calculated with (hit_point - center) / radius + * avoiding the sqrt + * @param hit: hit point + * @param center: center of the sphere + * @returns a normalized vector perpendicular to the surface of the sphere +*/ +t_vec3 sp_normal(t_point3 hit, t_point3 center) +{ + t_vec3 normal; + + normal = vec3_unit(vec3_sub(hit, center)); + return (normal); +} + +bool sp_hit_record(double t, t_shape *shape, t_hit_record *rec, t_ray ray) +{ + if (t > 0.000001f && t < rec->t) + { + rec->t = t; + rec->p = ray_at(ray, t); + rec->normal = sp_normal(rec->p, shape->sp.pos); + rec->color = shape->trgb; + return (true); + } + return (false); +} + +/** + * typedef bool (*t_hit)(t_shape *shape, t_ray ray, t_hit_record *rec); +*/ +bool sp_hit(t_shape *shape, t_ray r, t_hit_record *rec) { t_vec3 oc; double a; @@ -110,13 +141,14 @@ double sp_hit(t_point3 center, double diameter, t_ray r) double c; double discriminant; - oc = vec3_sub(r.origin, center); + (void) rec; + oc = vec3_sub(r.origin, shape->sp.pos); a = vec3_dot(r.direction, r.direction); b = 2.0 * vec3_dot(oc, r.direction); - c = vec3_dot(oc, oc) - pow(diameter / 2, 2); + c = vec3_dot(oc, oc) - pow(shape->sp.diameter / 2, 2); discriminant = b * b - 4 * a * c; if (discriminant < 0) - return (-1); - return ((-b - sqrt(discriminant)) / (2.0 * a)); + return (false); + return (sp_hit_record((-b - sqrt(discriminant)) / (2.0 * a), shape, rec, r)); } diff --git a/sphere.h b/sphere.h index 2ac5f9e..6693aff 100644 --- a/sphere.h +++ b/sphere.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 16:10:11 by tfregni #+# #+# */ -/* Updated: 2023/06/15 16:12:26 by tfregni ### ########.fr */ +/* Updated: 2023/06/15 18:11:42 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,7 +14,9 @@ # define SPHERE_H # include "vec3.h" # include "ray.h" +# include "hittable.h" +typedef struct s_shape t_shape; typedef struct s_sphere { t_point_3d pos; @@ -22,5 +24,6 @@ typedef struct s_sphere int trgb; } t_sphere; -double sp_hit(t_point3 center, double diameter, t_ray r); +bool sp_hit(t_shape *shape, t_ray r, t_hit_record *rec); +t_vec3 sp_normal(t_point3 hit, t_point3 center); #endif From e38a1ead6105e5b1398f6036f262a8bd7519f152 Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Fri, 16 Jun 2023 00:12:16 +0200 Subject: [PATCH 28/67] multiple solids --- rt_weekend.rt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rt_weekend.rt b/rt_weekend.rt index 52e60ad..a87bfac 100644 --- a/rt_weekend.rt +++ b/rt_weekend.rt @@ -2,4 +2,6 @@ C 0,0,0 0,0,0 40 A 0.8 127,127,127 L 50,0,0 0.8 sp 0,0,-2 1 255,0,0 +sp 1,0,-2 1 0,255,0 +sp 2,0,-2 1 0,0,255 From b56a8ef9d978ecfc331dff3e3804926e9ace1c73 Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Fri, 16 Jun 2023 00:22:55 +0200 Subject: [PATCH 29/67] multiple solids --- camera.c | 16 +++++++++++++++- rt_weekend.rt | 6 +++--- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/camera.c b/camera.c index 2d35fb2..e11ba36 100644 --- a/camera.c +++ b/camera.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 12:54:25 by tfregni #+# #+# */ -/* Updated: 2023/06/15 15:35:26 by tfregni ### ########.fr */ +/* Updated: 2023/06/16 00:22:28 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -33,3 +33,17 @@ void cam_setup(t_camera *c) c->lower_left_corner = vec3_sub(temp, vec3(0, 0, c->focal_length)); printf("Camera: vp_w: %f, vp_h: %f, lower_left: %f %f %f\n", c->viewport_width, c->viewport_height, c->lower_left_corner.x, c->lower_left_corner.y, c->lower_left_corner.z); } + +/** + * @brief Given the forward vector and a vector with 3 rotation angles, + * it gives the look_at point +*/ +t_point3 look_at(t_vec3 forward, t_vec3 rot) +{ + t_point3 look_at; + + look_at.x = forward.x + cos(rot.x) * cos(rot.y); + look_at.y = forward.y + sin(rot.x); + look_at.z = forward.z + cos(rot.x) * sin(rot.y); + return (look_at); +} diff --git a/rt_weekend.rt b/rt_weekend.rt index a87bfac..c5edbd1 100644 --- a/rt_weekend.rt +++ b/rt_weekend.rt @@ -1,7 +1,7 @@ C 0,0,0 0,0,0 40 A 0.8 127,127,127 L 50,0,0 0.8 -sp 0,0,-2 1 255,0,0 -sp 1,0,-2 1 0,255,0 -sp 2,0,-2 1 0,0,255 +sp -1,0,-2 0.8 255,0,0 +sp 0,0,-2 0.8 0,255,0 +sp 1,0,-2 0.8 0,0,255 From c341b9e847952c1122c9fda57f323053956ca4b3 Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Thu, 22 Jun 2023 19:25:59 +0200 Subject: [PATCH 30/67] tutorial Ray Tracing in a weekend until camera rotation with basic lighting --- camera.c | 40 +++++++++++++++++++++++++++++----------- camera.h | 7 +++++-- hittable.h | 5 +++-- minirt.h | 6 ++++-- populate_element.c | 6 +++--- populate_solid.c | 3 ++- render.c | 21 ++++++++++++++++----- rt_weekend.rt | 7 ++++--- sphere.c | 4 ++-- sphere.h | 3 +-- vec3.c | 7 ++++++- vec3.h | 3 ++- 12 files changed, 77 insertions(+), 35 deletions(-) diff --git a/camera.c b/camera.c index e11ba36..aa1a37f 100644 --- a/camera.c +++ b/camera.c @@ -6,13 +6,30 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 12:54:25 by tfregni #+# #+# */ -/* Updated: 2023/06/16 00:22:28 by tfregni ### ########.fr */ +/* Updated: 2023/06/16 17:25:39 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ #include "camera.h" #include +double radians(double grades) +{ + return (grades * M_PI / 180); +}; + +void cam_orientation(t_camera *c) +{ + t_point3 lookat; + // t_vec3 w; + // t_vec3 u; + // t_vec3 v; + + lookat = cam_look_at(c->look_at, c->orientation); + printf("LookAt: %f %f %f\n", lookat.x, lookat.y, lookat.z); + // w = vec3_unit(vec3_sub(c->pos, c->lookat)) +} + void cam_setup(t_camera *c) { double ratio; @@ -20,10 +37,10 @@ void cam_setup(t_camera *c) t_vec3 half_ver; t_vec3 temp; + cam_orientation(c); ratio = WIDTH / (double)HEIGHT; - c->viewport_width = 2.0; + c->viewport_width = 2.0f * (tan(radians(c->fov) / 2.0f)); c->viewport_height = c->viewport_width / ratio; - c->focal_length = 1.0f; c->horizontal = vec3(c->viewport_width, 0, 0); c->vertical = vec3(0, c->viewport_height, 0); half_hor = vec3_div(c->horizontal, 2); @@ -35,15 +52,16 @@ void cam_setup(t_camera *c) } /** - * @brief Given the forward vector and a vector with 3 rotation angles, - * it gives the look_at point + * @brief Given the forward vector and a vector with 3 rotation angles + * in range [-1, 1], it gives the look_at point */ -t_point3 look_at(t_vec3 forward, t_vec3 rot) +t_point3 cam_look_at(t_vec3 forward, t_vec3 rot) { - t_point3 look_at; + t_vec3 look_at; - look_at.x = forward.x + cos(rot.x) * cos(rot.y); - look_at.y = forward.y + sin(rot.x); - look_at.z = forward.z + cos(rot.x) * sin(rot.y); - return (look_at); + look_at.x = forward.x * cos(rot.x * M_PI) * cos(rot.y * M_PI); + look_at.y = forward.y * sin(rot.x * M_PI) * cos(rot.y * M_PI); + look_at.z = forward.z * sin(rot.y * M_PI); + return (vec3_unit(look_at)); } + diff --git a/camera.h b/camera.h index cd29cd7..d014c75 100644 --- a/camera.h +++ b/camera.h @@ -6,13 +6,14 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 12:39:08 by tfregni #+# #+# */ -/* Updated: 2023/06/15 14:14:23 by tfregni ### ########.fr */ +/* Updated: 2023/06/16 15:35:24 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef CAMERA_H # define CAMERA_H # include +# include # include "vec3.h" # define WIDTH 1024 @@ -22,6 +23,7 @@ typedef struct s_camera { t_point3 pos; t_vec3 orientation; + t_point3 look_at; uint8_t fov; double viewport_height; double viewport_width; @@ -34,6 +36,7 @@ typedef struct s_camera t_vec3 right; } t_camera; -void cam_setup(t_camera *c); +void cam_setup(t_camera *c); +t_point3 cam_look_at(t_vec3 forward, t_vec3 rot); #endif diff --git a/hittable.h b/hittable.h index 043b990..56a8e0a 100644 --- a/hittable.h +++ b/hittable.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 17:26:52 by tfregni #+# #+# */ -/* Updated: 2023/06/15 23:22:50 by tfregni ### ########.fr */ +/* Updated: 2023/06/17 16:15:53 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -20,7 +20,8 @@ typedef struct s_hit_record t_point3 p; t_vec3 normal; double t; - int color; + int trgb; + t_color color; } t_hit_record; #endif diff --git a/minirt.h b/minirt.h index 06c6cbf..d2bfa6b 100644 --- a/minirt.h +++ b/minirt.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/06/15 18:09:37 by tfregni ### ########.fr */ +/* Updated: 2023/06/17 16:17:10 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -22,7 +22,7 @@ # include "sphere.h" # include "hittable.h" # define SPACE "\t\n\f\r\v " -# define MAX_SOLID 3 +# define MAX_SOLID 5 // # define WIDTH 1024 // # define HEIGHT 768 # define CANV_MIN_X -1.0f @@ -188,6 +188,7 @@ typedef struct s_shape t_normal normal; t_matrix_trans transform; int trgb; + t_color color; } t_shape; /** @@ -224,6 +225,7 @@ t_err extract_rgb(char *rgb, int *ret); /* GRAPHIC */ int create_trgb(int t, int r, int g, int b); +t_color convert_color(int trgb); int mlx_manage(t_scene *scene); void my_mlx_pixel_put_d(t_img *data, int x, int y, int color); t_err init_img(t_scene *scene); diff --git a/populate_element.c b/populate_element.c index 815b170..b8b29c5 100644 --- a/populate_element.c +++ b/populate_element.c @@ -6,15 +6,13 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/26 21:30:47 by tfregni #+# #+# */ -/* Updated: 2023/06/15 14:09:04 by tfregni ### ########.fr */ +/* Updated: 2023/06/17 16:14:59 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ #include "minirt.h" #include "matrix_math.h" #include "vector_math.h" -// #include "vec3.h" -// #include "camera.h" /** * @returns 0 for success @@ -88,6 +86,8 @@ t_err validate_camera(t_scene *scene, char **el) if (scene->camera.fov < 0 || scene->camera.fov > 180) return (ft_warning("invalid argument: ", el[3], \ INVALID_ELEMENT)); + scene->camera.focal_length = 1.0f; + scene->camera.look_at = vec3_unit(point(scene->camera.pos.x, scene->camera.pos.y, scene->camera.pos.z - scene->camera.focal_length)); cam_setup(&scene->camera); return (SUCCESS); } diff --git a/populate_solid.c b/populate_solid.c index 96f07cf..bb63012 100644 --- a/populate_solid.c +++ b/populate_solid.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/26 21:31:05 by tfregni #+# #+# */ -/* Updated: 2023/06/15 18:08:46 by tfregni ### ########.fr */ +/* Updated: 2023/06/17 16:17:26 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -32,6 +32,7 @@ int validate_sphere(t_scene *scene, char **el) // printf("before: sphere %d: %p\n", i, &scene->shape[i]); shape.intersect = intersect_sphere; shape.hit = sp_hit; + shape.color = convert_color(shape.trgb); scene->shape[i] = shape; // printf to remove printf("sphere %d: %p\n", i, &scene->shape[i]); diff --git a/render.c b/render.c index 4f7b3d8..ccad6f3 100644 --- a/render.c +++ b/render.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/06/15 23:54:38 by tfregni ### ########.fr */ +/* Updated: 2023/06/17 16:46:40 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -103,6 +103,12 @@ int apply_ligthing_ratio(int trgb, float lighting_ratio) lighting_ratio * (trgb & 0xFF))); } +t_color apply_light_to_color(t_color c, double light) +{ + // printf("color: %f %f %f\n", c.r, c.g, c.b); + return (color(0.0, c.r * light, c.g * light, c.b * light)); +} + int intersect_element(t_scene *scene, t_ray ray, int *color, float *min_t) { int i; @@ -219,7 +225,7 @@ bool hit_element(t_scene *scene, t_ray ray, t_hit_record *rec) * A lerp is always of the form * blendedValue=(1−t)⋅startValue+t⋅endValue, */ -t_color ray_color(t_scene *scene, t_ray ray) +t_color ray_color(t_scene *scene, t_ray r) { t_vec3 unit_direction; double t; @@ -227,9 +233,13 @@ t_color ray_color(t_scene *scene, t_ray ray) t_hit_record rec; // return (color(0.5, (normal.x + 1) * 0.5, (normal.y + 1) * 0.5, (normal.z + 1) * 0.5)); - if (hit_element(scene, ray, &rec)) - return (convert_color(rec.color)); - unit_direction = vec3_unit(ray.direction); + if (hit_element(scene, r, &rec)) + { + double light = ft_fmax((vec3_dot(rec.normal, vec3_inv(vec3_unit(scene->light.pos)))), 0.0f); + // rec.trgb = ft_fmax(rec.trgb * light, 0.0f); + return (apply_light_to_color(rec.color, light)); + } + unit_direction = vec3_unit(r.direction); t = 0.5 * (unit_direction.y + 1.0); blend = vec3_sum(vec3_mult(vec3(1, 1, 1), 1.0 - t), vec3_mult(vec3(0.5, 0.7, 1.0), t)); return (color(0, blend.x, blend.y, blend.z)); @@ -276,6 +286,7 @@ void draw(t_scene *scene) int c; data = scene->img; + cam_setup(&scene->camera); p.y = 0; while (p.y < HEIGHT) { diff --git a/rt_weekend.rt b/rt_weekend.rt index c5edbd1..a77e202 100644 --- a/rt_weekend.rt +++ b/rt_weekend.rt @@ -1,7 +1,8 @@ -C 0,0,0 0,0,0 40 +C 1,0,3.1 0,0,0 40 A 0.8 127,127,127 -L 50,0,0 0.8 +L 1,0,-1 0.8 +sp 1,0,2 0.01 255,255,255 sp -1,0,-2 0.8 255,0,0 sp 0,0,-2 0.8 0,255,0 -sp 1,0,-2 0.8 0,0,255 +sp 2,0,-2 0.8 0,0,255 diff --git a/sphere.c b/sphere.c index 554f194..9ce46a8 100644 --- a/sphere.c +++ b/sphere.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/07 14:22:05 by tfregni #+# #+# */ -/* Updated: 2023/06/15 23:53:47 by tfregni ### ########.fr */ +/* Updated: 2023/06/17 16:18:43 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -124,7 +124,7 @@ bool sp_hit_record(double t, t_shape *shape, t_hit_record *rec, t_ray ray) rec->t = t; rec->p = ray_at(ray, t); rec->normal = sp_normal(rec->p, shape->sp.pos); - rec->color = shape->trgb; + rec->color = shape->color; return (true); } return (false); diff --git a/sphere.h b/sphere.h index 6693aff..0ed2e87 100644 --- a/sphere.h +++ b/sphere.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 16:10:11 by tfregni #+# #+# */ -/* Updated: 2023/06/15 18:11:42 by tfregni ### ########.fr */ +/* Updated: 2023/06/17 16:16:26 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -21,7 +21,6 @@ typedef struct s_sphere { t_point_3d pos; float diameter; - int trgb; } t_sphere; bool sp_hit(t_shape *shape, t_ray r, t_hit_record *rec); diff --git a/vec3.c b/vec3.c index feed661..69dd0cb 100644 --- a/vec3.c +++ b/vec3.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 11:42:25 by tfregni #+# #+# */ -/* Updated: 2023/06/15 15:59:55 by tfregni ### ########.fr */ +/* Updated: 2023/06/17 16:46:03 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -98,3 +98,8 @@ t_vec3 vec3_unit(t_vec3 a) { return (vec3_div(a, vec3_len(a))); } + +t_vec3 vec3_inv(t_vec3 a) +{ + return (vec3_mult(a, -1)); +} diff --git a/vec3.h b/vec3.h index 6d5e251..39bd04e 100644 --- a/vec3.h +++ b/vec3.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 11:40:31 by tfregni #+# #+# */ -/* Updated: 2023/06/15 16:00:05 by tfregni ### ########.fr */ +/* Updated: 2023/06/17 16:46:23 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -41,6 +41,7 @@ t_vec3 vec3_div(t_vec3 a, double b); double vec3_len_squared(t_vec3 a); double vec3_len(t_vec3 a); t_vec3 vec3_unit(t_vec3 a); +t_vec3 vec3_inv(t_vec3 a); t_point3 point(double x, double y, double z); From 041f47eec271cd33d2c1334e22bceb3f8e9a51eb Mon Sep 17 00:00:00 2001 From: Tsvetoslav Vasilev Date: Mon, 31 Jul 2023 20:31:40 +0200 Subject: [PATCH 31/67] Added planes --- camera.o | Bin 0 -> 10056 bytes event_handler.o | Bin 0 -> 13248 bytes libx.c | 4 +-- libx.o | Bin 0 -> 12704 bytes main.o | Bin 0 -> 13328 bytes matrix_calcs.o | Bin 0 -> 17912 bytes minirt | Bin 0 -> 143120 bytes minirt.h | 9 +++--- parse.o | Bin 0 -> 17736 bytes parse_util.o | Bin 0 -> 9640 bytes plane.c | 76 +++++++++++++++++++++++++++++++++++++++------ plane.o | Bin 0 -> 13960 bytes plane.rt | 9 ++++-- populate_element.o | Bin 0 -> 13768 bytes populate_solid.c | 12 ++++--- populate_solid.o | Bin 0 -> 15056 bytes ray.o | Bin 0 -> 3896 bytes render.c | 4 +-- render.o | Bin 0 -> 30744 bytes sphere.o | Bin 0 -> 23864 bytes vec3.o | Bin 0 -> 8672 bytes vector_calcs.o | Bin 0 -> 6320 bytes 22 files changed, 88 insertions(+), 26 deletions(-) create mode 100644 camera.o create mode 100644 event_handler.o create mode 100644 libx.o create mode 100644 main.o create mode 100644 matrix_calcs.o create mode 100755 minirt create mode 100644 parse.o create mode 100644 parse_util.o create mode 100644 plane.o create mode 100644 populate_element.o create mode 100644 populate_solid.o create mode 100644 ray.o create mode 100644 render.o create mode 100644 sphere.o create mode 100644 vec3.o create mode 100644 vector_calcs.o diff --git a/camera.o b/camera.o new file mode 100644 index 0000000000000000000000000000000000000000..1f34c6c17a73b49e5a693b1586cd52fca4ff9188 GIT binary patch literal 10056 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 W{nNnY+C^QID)2hSdbpNk`~M4+TlGW$ literal 0 HcmV?d00001 diff --git a/libx.c b/libx.c index b26c4ab..80bf270 100644 --- a/libx.c +++ b/libx.c @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* libx.c :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: tfregni +#+ +:+ +#+ */ +/* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/26 08:25:02 by tfregni #+# #+# */ -/* Updated: 2023/06/13 17:46:32 by tfregni ### ########.fr */ +/* Updated: 2023/07/31 16:00:48 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/libx.o b/libx.o new file mode 100644 index 0000000000000000000000000000000000000000..3781b090c1d912b256eeb1f2406811dbb7f90835 GIT binary patch literal 12704 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 literal 0 HcmV?d00001 diff --git a/main.o b/main.o new file mode 100644 index 0000000000000000000000000000000000000000..c817806d5cd04752cdee6d571d3ce0a2e2be4c69 GIT binary patch literal 13328 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
aVS1x&n$!~PslSZt&- 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 literal 0 HcmV?d00001 diff --git a/minirt b/minirt new file mode 100755 index 0000000000000000000000000000000000000000..1be86a5af07aff77e50f0b14e1820512535eaa64 GIT binary patch literal 143120 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 literal 0 HcmV?d00001 diff --git a/minirt.h b/minirt.h index d2bfa6b..e75fb27 100644 --- a/minirt.h +++ b/minirt.h @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* minirt.h :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: tfregni +#+ +:+ +#+ */ +/* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/06/17 16:17:10 by tfregni ### ########.fr */ +/* Updated: 2023/07/31 15:37:19 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -182,6 +182,7 @@ typedef struct s_shape t_plane pl; t_cylinder cy; }; + char* type; t_vector rotation; t_hit_func intersect; t_hit hit; @@ -243,8 +244,8 @@ float sp_calc_discriminant(t_scene *scene, t_ray ray, \ float sp_calc_hit_point(float discriminant, float a, float b); /* PLANE */ -int intersect_plane(t_scene *scene, t_ray ray, \ - float *t, int i); +int intersect_plane(t_scene *scene, t_ray ray, float *t, int i); +bool pl_hit(t_shape *shape, t_ray r, t_hit_record *rec); /* ERROR HANDLING*/ t_err ft_error(char *msg, char *arg, int err_code, t_scene *scene); diff --git a/parse.o b/parse.o new file mode 100644 index 0000000000000000000000000000000000000000..7fc1dea1205cce536bacbf0100c32ed2c8cf523f GIT binary patch literal 17736 zcmb`Pdwf*Yoxsn{%$-agBq75i$ZJ3`f;JOAD>lOAMEdU&hIz(&M&0x zAA3G>@9%ui@BGg1JnlL7o;h(x)A9>TEK6~))MDkvm@4&^C9Z75B`O4(jTbkrZEG2P zp?UC~mcf(F*Drn)^^W4@nnSsH&DSq10t+R$;4xI4dr0Rv_AQXTpmFD7mAgoj<7XEq zY`0Xd$)wbYloFL|H0Zsd09d@Fabsij7?!gfTpav8d6#c!d?H{S|8y~&*!aYSmUVng zF|~n~SaT0)Q;+vVs;6F!_S9aeeXFkfC$jFdWmW4XSY+H^y?pR}*Q;D>^X^{+p`6Ey zaQ;~1?rR&MXDpLxQgP}tMX7TSkqupGok7=`mAHiJsoZ}rHV?kpGWdz^tLDL9Y3*j{ zz=h3&k2hbhQ0%IHbip+zbC)jJdGhq!TBC7&#dT$nG<)ZX4LfESkCqSquTDEYPnSDn zLo2x*Q2po$oeG&k&DZ;OE{I)K;i*aU;Hx^h(9nB3pn<7<2j4e^-Y~zedG`|^8}oiJ z&lbmOH21wBpDFV)U45`Q_dOb5*Bq+;$}UJ8{H3Rk7eXD6PpO`|6A~1AF!+Wk45|;l zo=y#8yaVvk5Gs2-KmG*e*!fvZQMvgnoXNs;P=}TNEQDi;j1%kL7S1|3wM;FG^*fnZIo*pAm#gLR-ag2wZ$(K>38x>7hLfpWIOBAs zdXw=hobGa!O{;W5wI*Uor(AVyQ_Hp`;>m6&Q?A-liFo%g{j&1PQ59hoPY%Q|*)e86 z6IPK-u0VU@2`B7q&8e}4yeE#2p29Bfk^s_1U1 z4i@h#py&Y--*pj5!)~10Qtd2$uaK*a4ZZ22VHOB*ZcD9Z@t#7ijcn*`7Y#E+6K*-( zp=vB{D4>m(koavE-9_TVF8bTH+u8QILasKpeTR$K_K=ID?L(CGY(b@i#aSgr*-{(p zNxZ~Gf7?(y8+xH&yOqVm1=R7k4XtKFpDq+1Wsfd%ku=0*{CA=?SulbgDOEEIQYKX^H9BIsjxU;k zuGiXNO{q||zKuCU-^PMJYFr4ED{Nz8{HQ_=7l6e&PZSpG30jp(I}Hj_6Gwp|%!=BR z##`*l~nQAId%@B4SHttR%U}Mu8r0$0za7BbR)K6ZemgS`f`kF?C zQUOr3E=CpKmzF|;9tSr8^nJOE#su5cI=2;y(9wSY9ehX8!M6h~xY3=M8mNXG97?SY z-#b>j3d}5mtF8Gem?#tn!@*i@%`3Iqtp*iXTBHgHjFeVx3ZC!|nOM zfOYEm@C{H;GjIUq((m?pC$Clf5JD}_S z4IJc9obo>-rKr)E!EVP9Tie1H(}uP`gfr}zHn`|U4Om8dWkGwa$?yO0XV77_IL^%l z6;uc_>Ky*(bozcw$5vFKdq5nAMK7@YPmV|7BOv~#m6ivf6a3EvwR|7SzplXvNZkbw zmH#(EOGjSE$g{Id1Pk>47Cvo47U)-2QZM>1gBb)0@waJPd9>AG%Fyy!QwBQjzqrQL zSy!iJ&DV#utV`H1%at!V%at!}P^VRXnG4;f3k~}7T46sHy2TW#jcoOs=Jfk3ALJ|z zI?D&8<8+qwP_@!JlcgKw3C17IPixRR_(+vbY}WD}s57b6l_#%r#I(yiEgH}5X*ngwRt{ZNzskv^rna`QG`i>H8L_ z$_;GqtWXrh$yndoZ6MVS;^iT{AXB03AXehDjln;=@@o*+;+fi$hO%018OLJT7~=^J zsWN!K2w~BczvK*&(9W;&*e4N{q<>MD<53w7|>z1g>wPY_aP1_3xChBxOoF|(aXnBffm`|;7 zb;8iS-y|FU`p`ZQCu5aOrLZAX$sS#6N9Vun1cNwG_zNkmmejHwUnJ_hc z>6G+kK?|>P-*)TmppIL2r?~Epp5D2+d=4(?*dIFhdeMWx;c^Br!_r$@*;^hMm{BMg zHCC7GD1M(Bwv3;nit~R=osZ?Xi#EQAm58@4c-b@UWOt))X1T^X5FMvm1TQKK|CGJf z(~9=QFqqSM%mY*!)U9iup>q|M{#sNs1}h$NlTf0?-d=@eng@OwmQ&edX+^wHNB*%e zC{-nj82pPucYJ1M#nQT0j49`6~(h!+DXYToVojOmY zW0|ZI=~DH{o@{+zs^7`h=LTX~*bW+~zre|E&ZW}z{qbZxlZ*A_oXkKhqk0mtUX@Q~ zqVjleq=aoZ@>l+PG#-X*|Mg#HnpN@ zMfAePmgTB(&F7s&%bQj- zt!yvEFX(7hD_Yvxq8%$+R(CWhC+cJ}s&U2A7SvkSxT0xIqgvkb`Q~;=$|vKO=RqT( zdUDZhF4NVYhRrb8|HA43N@pO}gVL5*CJ9?!N^hUVa!xd6cKcMkzgP7qwno#rjM@@U z>U$El`c$mDJEJ<&X$2c|PBa1AXil;_9!sih6!YZtm8~Rj{}1d(GqGGe1&y1EpNlPgGFdMi<-Q(3iDb*J*32}f;HSAgz-(=`uF(=D9>_vfip2KOb=a8e~wsm)Qa z-IE$n194|dI+e*q`y4FZjcNP*pi zf^n6LgR&aPrxpB{(dM#I@)NQchjlH%J?&R?UbpJhnn@>{1>ZT<+_QbLw1eB6&}RJ( z3_8%rntev-DkH!SXeLD!)0NJpGNy+>IgNXxSeU-U7HJnW0{U$#3*OO|Dd-eLXfJq1 zoGxhmXcjU!*m%A1BzOV4uet@Z&_~-K*66wAeiai;}!RII% zgJ%v^a~T}?i4;seg}DMBFq4+V=S}Z0_c~Bb*m;IQ0BzotNM#+Bf#(IroT*1&EZLpl z2NoItA8KM*-0(J27(B^(yPRUNOfR&KZU=b8wQ1bq){kdT_uo4?j?oh=EcaKeQP$QP zYhq<-a4*cQ^MOyIH2lt0ORH*@R@F6Dg?Ib+_--sI`A$`xM!}}4a0#TCh*|=w?Whj{ zUn4MIqsiynQ&Q4~A{YvSp^_yW0TXLkhAde2ZSW5RF3H2nj&X62@rx`g)e5S=LwyLi zE2DH#?DMrH16sAQO1r$r6ItnzTUpj-)a$TD`_*BHSeEr+)hN87Y4~T==d+pmc(N;z z?{@09E;u)O?)*8>5BaTgdXxG3&Uh}XBG56NJvrr7g&$|OrJZb~4~=AV-7sY4;F^*& zgqJHQ#H>ny!3k{#L|7?t0yNN!dn21cZe)0TjQ|f^E(SBGiS=|Pa|saPy#^KsDB8%% z?^9)kcM)IMvPYM{XqN^S*?}Q@T;N>062yuk(HHQQMFPI2p@473I=l2>;380}w|!Tj zyl$AR0=|ntE#R9OthG-M{Igvev1>uUwBMd?Vxuv3r9I8WY9MA^W~<;i;L5(g!xcN| zi|0V^N!tqe>LL(L@6yq6fd<>Z+YWB?#=xDscdWDh0pC;V1$*2++wzUwWvd_BrR6U_ zWe1?P%J=mh5s-X;R*RrEJ$7}(uEQE!ZA0dpAakkj4Ykgm6ag#wfN$@P7wn3F@3@L! z`mH;Hn9KJTWS$nt*)t;c8~}?zx85!}U|V42ZhLz9UG{{)E<3Ob8l?hKAm>NhhoBJO zHP&9c>>!j6=6wIVy~i#O_`YgEwepa<$oJ0nhz&h(y)|T)L)}aR1)-*;f!83RA>eys z``dO&z;_Ge3FPf6@S!3QTgAabwJ5}&0+)geIv%!C} z$5+e;N8p!(+Nt#MXP#4W+<-q7zjp*Xw~WA_9f99D0zWze|J(@v>;Ybj{RMXndhUk% zMCO_*rPl(GpMrm~!LX$iAM}fvtvrr?RsV^iIX+j-dbO2>M?h zL4WB8eDer)>PO(UU2soT_s5%e9Q&mWoz!KYCizdSL>a$(b12QGIu z#jh27F~x77yR>t=&~Kvn{T}@g$XwrtJRIL|m_O~|lRf;1hhtx{eie)d4D5f(L}3%z z2(n+M3jGY}&lo`;kJ?~h`&XH$I%fp^#X^6O^uOTIp9YNm@AUAnhi8SIJlWal(Vybc z#~->du%Fzo`#k#I@%CMz|B=bA?(^uM28{jut#Tp+!@c@PiL?K&kUwvF^u6=j z36H*a^@mqd9k9P}`;^Na<>6Qc^AK?~hju=s`F4`vtp6#&KPLV89{UqL_RlBI_4*B@ zVYtYn?``K*LjU(hU9}7TC*qwW*x@%HEZ6(C!#_+ThaJ5_@UBP5&!80jiy6qMUq%dX z_^e@II}sCA_>5z~$BA6i@iX<+<-E@Gdc=0#$Bu(=fw>jzucvq`-O;|c-#H!aVBMdl z@o^dHv;7jv)aT)-&;8_GkFXtTNPmmazm+O?rH7;b1k%6O!_od*q<@`$+8`*>sm!+zr2k8sLBhkp^A`|m-)H z&VLC00P!P&^Lz5^g8!QI|0Fo~>)V1KBmEBq=lAWCg5ON~<D=n zPZ4|^@lO%QD0QJOnb$!s_epx*7kljB^TJ`NhvW0Y&+iHkNBtJcu-d~>KSAe>q378@w)`)@%ez@JnuXr_)TPo=Q%Ey z=ZilG{hyNlM}j{~d>nNW+j))n9OB$QvrqxTGQrO#?p>#_{m&(SiO^q2ykGDp;x`E1 zO8j2IKcM&z1doyaBZBk$|A63EQ@=bUIKLl1BKRw0=PAMcWaoLoYl#1s;5)?hrpmaQ=R16rA5TRtTOaI~xW6klHOS_`Af@g8!NLR>65) zgq=+txE+p>K5R7>@#Dnr6#Ngw?-l$9#?}7P9}Q z;8~g<-WU8e;uW;`aXavP+IYeLlkA@^IKPiI2!4e07YSZZmlj z^Y_#q!Pk-gt%9#1ey8A##P1WF|CZn}!5=35BZBjL#+!ok^T;2=-2UGuJEiy%1A+N| z;?;s*NqnN<{JhK*{A$vlCpfqB=LF~HrB(26lAVhMznOSca4vVV;C#e)i{N|6&Thf? z691auKPUd6;QU_o?}GE@_ff%XXubS|I8N`{G|lssv>Czu@(SsPJRBdj!`OKc#(OxL zbDmcF(g0Ce0jNogDzd{^u=zlA<|J#CZBJQIfTv&fI@fyMTJ${9;PE(R5>m;XsyhCsv z=g$egiQ4~<#CbeW6v~TqJDvI7Xsoj{;|#!Gk~)c4B!_=L8tF>)M0}*J z0L*EmbRN%xbi!#ceZm7y5yAN#Dg=%a4Le~}$X;|j$sFVJoG?PsduGWvYJ86;ds5~I zl6zb!0)Oi2L_WW=V@@^~>)MRP^6|e&A~Db(#iM<2@X_OCL?4F)MLIE9d|b(#XDWD0 zXRV6QJb9hcCzXnhKNa$tb6G~&>4O7Tc+?P&T@{~(qDD)kx{Q;NE){_mgo7?{-`0=! zf=N0V2F~+Iu1F@;9m~Zq$J_}1oc#Y14!{8Nj!!mv`(h&2yqf(++2Z&*SR z-aq9u{0+q$@Ha4el)P9Snr@=}o{zr|;Lyjp27~^47`VR-g=6_=BlLv3sZu`SFh}{m z7V@A?*#`JGI2a`7d?rVV^Q8}rLamg_MYgEyH5{V*ej=W?{vaNts0(9Iq*k82-yDUl5GDTU}&=e{&~Y^>4%$1^qt9RTt46Ncbrq@Ur!sJ zGdUyOIUnC&qWnTl?c@zpk-+&F<9-wTm!@fzaUp+LWZ?RUlAAsn<Jo$13z?bPY`sA84cjt?x_p_Tssx&MFn<|I2h zE9Q%8y z;FGb}`~^=Jyf>aSgLC#vi{PAyC} z^?e`f1JR~~%cXK)bST2|W!RhD%bE^;)z4)M9Obez;A(g_=pil)If^X&+FWko32e4y zt%F!Ge+d*qnosbTD`(Ab;)H3k1GIMy&?vd7xdoSShT zvmEZD7{R6kXM+3pfB<7}I&jJwY8pA63qS;#8hOeYdpvS*1r5RKjvO53!CF^=!h^Hc zvDF6+!4jWihT2-cV<^>7%g7n&uy#}qbewe=ho+HN-U&`1wWnlYq^*oea1Qoed=Lz^ z&GnxQUNxEwn!mYjDM-(N^xSndO*gKY>xbeEepxa{(kcWY1i>R%%7h~hK zqvNUG!FW2=6^>`R2YM2{mPicsCpxV}S2&sOi(9GQ?r?u!s@DpG*+2qYmkB2flP01p zmfA#k#YruCl$1%CpNJ;fSaerx%UjXoRNTm7v4b|K?Su&|a7>~s%3uT5MC=%qKI>S; zNOH0;Nn9KH&En%!q=~KU$V=N4kmG@bWt2bW)N18g9;a5TTC0UXf^uDyh@-4@6EpyR zK|9Lo-khy=lofmT3jwwo*s{vu2EU%8tlXXR>j7Ktrk}bAE)bKElN~4N9m+Ma*(oD| zP2?s322-G#gs2hIiAj{j?>VUTUJ{?pAr@aEH1#rM_w$^JZ7k;8Z)Nw-J62m+bi1Ft zSeH|UoUa)B`jg{p(wLj5XcOgfl38gZNR!NJEN817WhI`o#Ytv0owM~EWre$#XEtA> zI{%W5k;W9(B;8xC`1wZ${9|-c!F9yTdOU@w%d!YEZPEI1BRGYj4cL7 z_G+?Bh|mptHR#9TRh2@N02Ww9h*I0)wpCTAmAQLZSGA%_h;l<<-ztJKn=wyjGjn#f zRV9uw*TJe8U}mdAoK*(H=EzkS!+;}YIOHYJQ*pl+f+)A1y{V_G+feE_(H?%Qc(p~k zr1GiBr$;_@`Si-CA)h|^oMtyM&1V(2GI|ZdV^=#}( zF?OC4mU+y=K;D6DkOK*}(z?fbA+605x+tVYb@-JO!Tl48qMj@)liOVEb1T6gy1YTN z*h1;gCa{g#m#|mEpSkI&dT*n&|l z$65p~lmI=5neZp{&8|}I^o4-R(W(7FW8uv7Goa8+*H4`3`iV1LAD=MOD<{r$1A3ie z)CdCw{N;oW^1XrtW5ttJA~P7zh=Ja0s=F7? zyl~JJt}wGELL(Xi?A*rvvf(a5I8HDYa~r7_mn-qyIjHFCvz5m~>v zp(U~=hS*UWTN>9ju5WYnHPH=XU8J=&7F{3N7;O}ZSR#`VotZ@3O2n*8cZa}sEs+u3 zqC+IDShhc%vP9>0=o)D8OeUS^m6Fw$!aSKtBw|@BgGH!c7ti#J%-?H(5b`ZH{E(mBZk%fx3ryp@I%9de;cquW zrr~dP@#atALchv1&hhD{XRc;cfy*U(jfKt7zyLJR4877j+Kn(s*sD5V`fStC>kaK2 zaP%sKrlu9%V-)%7^v8#j`nbTn-3a*fW1*%rH5)P3DP{l4M7hUU}%Dj+mnM&Ulg(6e_L#rrTy4-H#B{ci$>UtCyb zl=zZHu-T|+*6$iN_16XFNu$`OzaiR8&Bdp^Kgt0Ce_ao8&BdtaB-Yv?hnQv6aLh@4kKbr zQrmwC$ZXH^skZx~%icZS*Yfa>T-@ECi*W%#LjUeKuW)g9oLgKRzW$tkUYUm{^YDy| zPj~s*lZPM5!|!x)_qguQ!yh89#{Y>t_D?GII5(JHblJP-OMW^*Ir?|MC2)+Gkh2Zy zyuX>xLkMYxok{y?Bx5E|Y>=}(?~}912D{~co8f-M#P+|pRdFfh%y*D}nZmQA^S)zy z{*8_(_PkH7Q24h=k1Cw^$<+$~Iq7kQkCDDz;e5x}M_i4=UY9+tbxsFKz;Pj8O8Tt| z&yddjQ;m@FL<5E4-TcABl4u_7I#Zf##{kYV{ zaenz6v&zL$JeTyfE{^t(P`jHI&gZrr3crW!2Niw?@!bl)mG}XL-$eYd!fz&ir^3HQ z{62;A{DxsHm@vk)rKEnbeCBwV^gRma{r;%JdA|6&0K4J#@7&Jd4U5^8=osjZ#XCAO zi9umz66v^U!DWpwJNtU%e`w*B$G#wPUH4EexD%RmKV-YGy{3ATee!C^zEU!K`>cd{ z`TFRBtQGIvL6=7Iiixk3%yfFNCl>GOf-5(9!4$XplGH8RXFAoJAduJ&S5xtx#1t1w z)WLLL=fv9%_bnJ-N#W&_2}7~snD6Y7d8V%`Zp9JTnza<*&zY6OM9>zP;OV_Nwz`%O8a>J zR!n453+Y3qslaX-ifYW!9M!#*v9KX)p_fkEQ)l&$5)%Hx;^1yj}k1AY`jI^WKm zC)eW~zx!Esj6nD|)ps+LRoka+)=$&rn14+5vD}?_{LIEdm@0llwEnk|A;u5CCAmJY zzej+neZnfEL3|4FFQrgX#Y12-Rr`OT_PHHwABUv2|6O2u%NhLq+5>-1;{D42>tj;e V$L|I;c4+qiRdAo1v2C^e{{!0bUM~Ou literal 0 HcmV?d00001 diff --git a/plane.c b/plane.c index 934cda0..162c18a 100644 --- a/plane.c +++ b/plane.c @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* plane.c :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: tfregni +#+ +:+ +#+ */ +/* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/07 23:25:30 by tfregni #+# #+# */ -/* Updated: 2023/06/12 19:06:41 by tfregni ### ########.fr */ +/* Updated: 2023/07/31 20:20:05 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -31,17 +31,73 @@ * (a + bt - p0)·n = 0 which solved for t is * ((p0 - a) · n) / b · n */ +// int intersect_plane(t_scene *scene, t_ray ray, float *t, int i) +// { +// float denominator; +// float numerator; + +// denominator = vect_dot(ray.direction, vect_norm(scene->shape[i].pl.rotation)); +// if (denominator > 1e-6) +// { +// numerator = vect_dot(vect_sub(scene->shape[i].pl.pos, scene->camera.pos), vect_norm(scene->shape[i].pl.rotation)); +// *t = numerator / denominator; +// return (1); +// } +// return (0); +// } + +/*returns 0 or not depending if the ray hits the plane +!!! important !!! pass in normalized vectors*/ int intersect_plane(t_scene *scene, t_ray ray, float *t, int i) { - float denominator; - float numerator; - - denominator = vect_dot(ray.direction, vect_norm(scene->shape[i].pl.rotation)); - if (denominator > 1e-6) + t_vector p0 = scene->shape[i].pl.pos; + t_vector n = scene->shape[i].pl.rotation; + t_vector l0 = ray.origin; + t_vector l = ray.direction; + float denom = vect_dot(n, l); + printf("Hello\n"); + if (denom > 1e-6) { - numerator = vect_dot(vect_sub(scene->shape[i].pl.pos, scene->camera.pos), vect_norm(scene->shape[i].pl.rotation)); - *t = numerator / denominator; - return (1); + t_vector p0l0 = vect_sub(p0, l0); + *t = vect_dot(p0l0, n) / denom; + printf("Plane intersect\n"); + return (*t >= 0); } return (0); } + +t_vec3 pl_normal(t_point3 hit, t_point3 center) +{ + t_vec3 normal; + + normal = vec3_unit(vec3_sub(hit, center)); + return (normal); +} + +bool pl_hit_record(double t, t_shape *shape, t_hit_record *rec, t_ray ray) +{ + if (t > 0.000001f && t < rec->t) + { + rec->t = t; + rec->p = ray_at(ray, t); + rec->normal = shape->rotation; //? maybe this should just be pl.rotation + rec->color = shape->color; + return (true); + } + return (false); +} + +bool pl_hit(t_shape *shape, t_ray r, t_hit_record *rec) +{ + t_vector p0 = shape->pl.pos; + t_vector n = vect_norm(shape->rotation); + t_vector l0 = r.origin; + t_vector l = vect_norm(r.direction); + float denom = vect_dot(n, l); + if (denom > 1e-6) + { + t_vector p0l0 = vect_sub(p0, l0); + return (pl_hit_record((vect_dot(p0l0, n) / denom), shape, rec, r)); + } + return (false); +} diff --git a/plane.o b/plane.o new file mode 100644 index 0000000000000000000000000000000000000000..cd75993b037ac68118fed5e4d673eb0fed3f9e96 GIT binary patch literal 13960 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 DN|8P* literal 0 HcmV?d00001 diff --git a/plane.rt b/plane.rt index 64a110e..3c33141 100644 --- a/plane.rt +++ b/plane.rt @@ -1,5 +1,8 @@ -C 0,0,10 0,0,0 30 +C 1,0,3.1 0,0,-1 60 A 0.8 127,127,127 -L 0,0,0 0.6 -pl 0,0,-10 0.5,0.5,0 0,0,255 +L 1,-2,-1 0.8 +pl 0,0,1 -0.1,1,-0.1 255,20,100 +pl 0,0,1 -0.3,0.1,0.1 0,255,0 +sp 1,0,0 0.8 0,255,0 +sp 0,0,0 0.8 0,255,0 diff --git a/populate_element.o b/populate_element.o new file mode 100644 index 0000000000000000000000000000000000000000..ad3572d416129d26ea1a6a2df6a0637bb997a590 GIT binary patch literal 13768 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 G{{H~U?Wy(v literal 0 HcmV?d00001 diff --git a/populate_solid.c b/populate_solid.c index bb63012..6f78e67 100644 --- a/populate_solid.c +++ b/populate_solid.c @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* populate_solid.c :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: tfregni +#+ +:+ +#+ */ +/* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/26 21:31:05 by tfregni #+# #+# */ -/* Updated: 2023/06/17 16:17:26 by tfregni ### ########.fr */ +/* Updated: 2023/07/31 16:11:24 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -29,13 +29,11 @@ int validate_sphere(t_scene *scene, char **el) && extract_rgb(el[3], &shape.trgb) == SUCCESS) { shape.sp.diameter = ft_atof(el[2]); - // printf("before: sphere %d: %p\n", i, &scene->shape[i]); + shape.type = ft_strdup("sphere"); shape.intersect = intersect_sphere; shape.hit = sp_hit; shape.color = convert_color(shape.trgb); scene->shape[i] = shape; - // printf to remove - printf("sphere %d: %p\n", i, &scene->shape[i]); return (SUCCESS); } return (ft_warning("sphere", "invalid argument", INVALID_ELEMENT)); @@ -59,7 +57,11 @@ int validate_plane(t_scene *scene, char **el) || extract_rgb(el[3], &shape.trgb)) return (ft_warning("invalid argument: ", el[2], \ INVALID_ELEMENT)); + printf("SHAPE ROTATION: (%f, %f, %f)\n\n", shape.rotation.x, shape.rotation.y, shape.rotation.z); + shape.type = ft_strdup("plane"); shape.intersect = intersect_plane; + shape.hit = pl_hit; + shape.color = convert_color(shape.trgb); scene->shape[i] = shape; return (SUCCESS); } diff --git a/populate_solid.o b/populate_solid.o new file mode 100644 index 0000000000000000000000000000000000000000..13e67dca26dabf43b1115722ab5988da728cdaab GIT binary patch literal 15056 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 E0Un5-SpWb4 literal 0 HcmV?d00001 diff --git a/ray.o b/ray.o new file mode 100644 index 0000000000000000000000000000000000000000..be1c5a89275a06215229606a69f780e1e6888d49 GIT binary patch literal 3896 zcmb_f+m91v6hAZ5cDvi{ol92~Yb=5nX1jn1sDT9v43T(2HyVj4v)$RH(woz1W${M1 zB-Dk-`r8pDV?A0|5Bx$f6d`+SNSI2yLnu*hpMo+7E)ml1G$XUHdQ^^gbLNu8kNv2ALd@{W+ zN0uU5He8xd-hP@zJz<^tD-}}7)Vac0RFdiOf_46-Lh(29wU$bS zX|ivigvDgKgk>=71ld>^)@voxAr@oxW1hBpyD?>{U?tOr)%(dh^~2#qmoSKtA-E15 zkn;LI))JD>ib6ajxCXWqKNV02{?hCZ{17hPFMzFrQ$Z1y}4_`NIVdGFt&bTe|E_? z*)+c2k=IUY7`ePF2M{$iKj}jgly)=>lx{4GmRO7m0>t8AB=%=X*^26T0oCoX7>e;# z=*?5$G|pi95SvbvEu?XOY5|FQr%RpsuRTSYmfVX$hQ1u-n#;93*Iw?YCf78%`bicE z<4M-CFk|@&g@Lw~9K%dz>fHlr^5h)(MVgV1Xfyh9aYVBXe6J8GQW-&LGL|o+!p5hs zyN=>0dr(qfnFo`Q+X13GtI{8Y?ZY<=xj@zy_8~LeCX3?D5IJK?Atee5L7tIPx zHs;%tN1An~J?VArcD3eoCreKIsMl;w)~k)G>)G?3<92Nqx=v+tx!$RHa17>}o!OcL zi*Ov;WioJUyHlsU&~&Q{)dqOn)YG;DIkQ%}v z*o03_)2=1r#Hh>o(@YRuL!BmV9wC?-$pl;x{grJbwQy!^M|fp48`h(DguxhlKb#*s z6OKjnJ2PQDqVLJ-qnI314W*9|4Z)u`h8Yci@eh~{vHu1@R1AL;444eQng=ja42a)^ z(LghSy0WKJ0w3rrVq~Xxpwg2F48z$5MjM?VqxidigVPeqM1<3ZkT{->j0oeW4%g+W zLwJAdqnzPpmV@xSguW_(%bWz=62Qs-KB2D_ochs!+bG}rFZecr%kjJ-^nD6`Qs^@Z z{&U=9)U>G|68uY z$AU}$=Y{@R01uAyYk|vg$~*Q)1%F-Wzbbj;y7^nd8$u6LVk9|Eo2x*VA(6zN<0{;y z;B+1k-J{?Y4#Sj!cLe^hg3E7)g9`qk@P9_Z<$9P`aJe2{Q1A;P4_@z#rTT9To&SZ7a?uW z75+R$wK3oH?+&xk^c-{FBQqP@o?ST#X06t(m+iSZyu%g-;%e1~BLL?}dET|_sPdGx zWjaAeU3?j`%mWFN)1Q)hO_=typFz(-(BoGJ9yTRahe`Ta-DGP z=CcyN&IZmq>32aSl;5+K#r zLYs<_`$4hDdWum|VK@2)&wGj`x+v!_UJlKlAa(w9eo;=@Clnd|EaJYCfZ(#e +#+ +:+ +#+ */ +/* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/06/17 16:46:40 by tfregni ### ########.fr */ +/* Updated: 2023/07/31 16:00:23 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/render.o b/render.o new file mode 100644 index 0000000000000000000000000000000000000000..3cdbbe9afbc0db9ea317c36a7d79a55bec82cd30 GIT binary patch literal 30744 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 F{{#IK+;ac` literal 0 HcmV?d00001 diff --git a/sphere.o b/sphere.o new file mode 100644 index 0000000000000000000000000000000000000000..bbd2f131ceb255378b3739bbf29031a8d6c94dca GIT binary patch literal 23864 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 literal 0 HcmV?d00001 diff --git a/vec3.o b/vec3.o new file mode 100644 index 0000000000000000000000000000000000000000..bde07a7cf6a1d0f0ff568eac9b470814aa2c037c GIT binary patch literal 8672 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 I4sovQe~ZB$H~;_u literal 0 HcmV?d00001 diff --git a/vector_calcs.o b/vector_calcs.o new file mode 100644 index 0000000000000000000000000000000000000000..844eb3208bd25053bb6fd6d88291f3cb436e18ee GIT binary patch literal 6320 zcmbVQeQaDu5#M*`J)eEay*r-P|NKZc`o9M}adA6@piCFo!Ek@oD-{i^q7C`$DXIuzJAfd%E?t2|*25H$fEC;gZSKgQm2 zMt2R#qH3JrjH83^BR##)?@Q1d^xW|);4AhB&g#-K*8_cEe)xtlK_4$cz=|3d_W4K8 z{@H65WXh{d*Px77V2ugXk{dy~xN1*ah2ke0A72Kax7{nTGP@U^wLNlKJ#AR46Xn!{ ziDfjJbcO)tqL~0oWLexsP?LDm%05rZ8WtubBx-_Xjtq&}HU2e1P6gsvzTsn)HF0{! z3b8~MDHapci&0j8L2v}%Pem7_tpC2zoiv}lLeg)DL;Jps1v-9V;;K=SxBJ-IM*GRO z+xMvnmdAW-ZCsvgXNZSIb}`DeFt?J{_IOH$y0NaxJq>CkkY)h9n=u%LsAC1wrei|1NKwzz+5^ho zSPbyk25~T@EkdkIL0l|`1qrc!Jvbdqq4EJx#g2 zHHdZGdIL{^7yQ$N+s+z6*|NV4-{H_RYH(W9$&~Ty@U6}aaA76USHJ`{Wq?^DUx4rC z&@+i=5!6|_FwAN}!0J*lttdA&#eRq!DAX0Zs3j5VPz85}66+E98(P~$T~0;oa(hDP zOi{m;C&8au*-WkUV;)Os_1e>DtgBnG#5mT@^hpq`Z4n!F)k}R`+tH-Q^zbnra8MIqd$;lsg8vMl zu68f*4BGCECo1tMd=JHO$D#cY;y}3Z(Y`<4e>N046HnY5k7CYQ#DQ?rA|ZB8NkZTr zL_$pO@%nm*eFu#|xI>T-TS5VdYb-$RO=1@ymSw#aUylsmJMgg_q2?BNz+k`!;~dv_ zvljn2gl$WvTKCChWJty?02`LEh$lmlF)4m4+gi8Ec2Ltp@-|O)56PWFvgJb9^}-;B zKz3wkL5j#O+0`08JulmTEW0D~vj2kIIWJr0m18s=c1OeA7i20DZW)rv;Xzno9@eqO zrHF2m9cpz?#yn{QnuO&*R0aG*+FldrkYp5_oFi9%Jq?`Bb&joJttEi19b@6JOGQ1LcldB>BFGEF1LP2wl6@RAq%Dp zBm7VFG8mi0KW>^nttzm|gq0qyAL|Btxc-JTaQ~%m;OZscfT0o=@io}H0Kxra(mepQ zK|OdTka+KH0U7b5g!e0}5YG{Qop9cli-faZhWrNzC)MA_CkUS8kCVnT`u0st7vBNDL3QIvzz_TLgz*oY|LO)={dEM6IQxJIv(d!(dr039 z!1;oT5Y8Wo{ok)uv6(oQ6($+k`$#tNy9wt!Unc#4ftN_<=ZXHo-S`Q^|97Nk133Eg zdTs#6IsAe2lf=1Be*RAz{zpmws)2Kz-!SkQ(!X!ud}nyUz&}U&B?JEq=|4AcuKU*p zewy@G4gAxj|J}eVq~9RUbKrg5ga8mfFaCYfX5c)BO#vL|&vkAM;KBLd9>CF`UqpO< zc-=o?5kULM9~tg9{z>zok>^|J3^Z=|^Z7d-@W*=Cf6l;pU!61XKdbCQd@+Dy{kM_6 z7{G)5K2JC@te^Y*uHpX!%Kw6ab3IoKoa=cxfMY$}|J486HeL9XPv5hswyfc%XG!XyRMTf6$);Vkb-|l*4JN3 zQmK|HgHAeA^h)|_>|dbOo!Tjus;+b3ztMCtQQD;6C9jo%kCZC`J2FYwAACqT=oFjV^drf|MZzf1n2`5mZ37 z;e+STq^IbDFi3_Za7=}F5u{Gd#M{7eeZDskERNE;=6b9%ze4dG$9$IJfAnAaN3-Fg zQtY6nUgd9akf2}BblIqafTHnK9xYhhtXnwPl2j|xeA9H>W0EX-L!zV}! z=nV9RX8t$V%DfjWw~Bv)7TV!QYJuaJ!_UrJ_Ww05^c~_E{;7`V$HlPtCdIG#h!)JW z7XZH1{4%tmmM9+Qha=^9-hbZ%jC&zh#ZI+o?WAEeRQ31$R_hBof4mN^kH0?5_3?fd p9=?fxM$W*;CqBOnU_6q!{yzaTwwUs}j(;$Lo}~a}xVE|ezX3?Sg;xLo literal 0 HcmV?d00001 From 9a1dcee29068a60fcf6b1f7d9c2362b81ff002e9 Mon Sep 17 00:00:00 2001 From: Tsvetoslav Vasilev Date: Tue, 1 Aug 2023 16:48:05 +0200 Subject: [PATCH 32/67] working on cylinder (thought it was done, but it doesn't hit it) --- Makefile | 6 ++-- cylinder.c | 67 +++++++++++++++++++++++++++++++++++++++++++++ cylinder.o | Bin 0 -> 15832 bytes event_handler.o | Bin 13248 -> 13312 bytes main.o | Bin 13328 -> 13368 bytes minirt | Bin 143120 -> 148184 bytes minirt.h | 6 +++- parse.o | Bin 17736 -> 17784 bytes parse_util.o | Bin 9640 -> 9664 bytes plane.c | 4 +-- plane.o | Bin 13960 -> 13680 bytes plane.rt | 9 +++--- populate_element.o | Bin 13768 -> 13824 bytes populate_solid.c | 6 +++- populate_solid.o | Bin 15056 -> 15472 bytes render.o | Bin 30744 -> 30744 bytes sphere.o | Bin 23864 -> 23904 bytes 17 files changed, 86 insertions(+), 12 deletions(-) create mode 100644 cylinder.c create mode 100644 cylinder.o diff --git a/Makefile b/Makefile index f96f34b..00728c6 100644 --- a/Makefile +++ b/Makefile @@ -3,16 +3,16 @@ # ::: :::::::: # # Makefile :+: :+: :+: # # +:+ +:+ +:+ # -# By: tfregni +#+ +:+ +#+ # +# By: tvasilev +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2023/01/30 20:41:46 by tfregni #+# #+# # -# Updated: 2023/06/15 16:14:33 by tfregni ### ########.fr # +# Updated: 2023/08/01 16:41:15 by tvasilev ### ########.fr # # # # **************************************************************************** # SRCS = main.c parse.c populate_element.c populate_solid.c parse_util.c \ libx.c render.c sphere.c plane.c vector_calcs.c event_handler.c \ - matrix_calcs.c camera.c vec3.c ray.c + matrix_calcs.c camera.c vec3.c ray.c cylinder.c UNAME_S := $(shell uname -s) OBJS = ${SRCS:.c=.o} CC = cc diff --git a/cylinder.c b/cylinder.c new file mode 100644 index 0000000..a0f2406 --- /dev/null +++ b/cylinder.c @@ -0,0 +1,67 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* cylinder.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tvasilev +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/08/01 16:18:37 by tvasilev #+# #+# */ +/* Updated: 2023/08/01 16:47:03 by tvasilev ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "minirt.h" +#include "vector_math.h" + +int intersect_cylinder(t_scene *scene, t_ray ray, float *t, int i) +{ + double a; + double b; + double c; + double discriminant; + t_vector X; + + printf("IN HERE !!!\n"); + X = vect_sub(ray.origin, scene->shape[i].cy.center); + a = vect_dot(ray.direction, ray.direction) - (vect_dot(ray.direction, scene->shape[i].rotation)*vect_dot(ray.direction, scene->shape[i].rotation)); + b = 2*(vect_dot(ray.direction, X) - (vect_dot(ray.direction, scene->shape[i].rotation))*(vect_dot(X, scene->shape[i].rotation))); + c = vect_dot(X, X) - (vect_dot(X, scene->shape[i].rotation)*vect_dot(X, scene->shape[i].rotation)) - scene->shape[i].cy.diameter; + discriminant = b * b - 4 * a * c; + if (discriminant < 0) + return (0); + *t = (-b - sqrt(discriminant)) / (2.0 * a); + return (t >= 0); +} + +bool cy_hit_record(double t, t_shape *shape, t_hit_record *rec, t_ray ray) +{ + if (t > 0.000001f && t < rec->t) + { + rec->t = t; + rec->p = ray_at(ray, t); + rec->normal = shape->rotation; + rec->color = shape->color; + printf("It HIT !!!\n"); + return (true); + } + printf("It did not ???\n"); + return (false); +} + +bool cy_hit(t_shape *shape, t_ray r, t_hit_record *rec) +{ + double a; + double b; + double c; + double discriminant; + t_vector X; + + X = vect_sub(r.origin, shape->cy.center); + a = vect_dot(r.direction, r.direction) - (vect_dot(r.direction, shape->rotation)*vect_dot(r.direction, shape->cy.rotation)); + b = 2*(vect_dot(r.direction, X) - (vect_dot(r.direction, shape->rotation))*(vect_dot(X, shape->rotation))); + c = vect_dot(X, X) - (vect_dot(X, shape->rotation)*vect_dot(X, shape->rotation)) - shape->cy.diameter; + discriminant = b * b - 4 * a * c; + if (discriminant < 0) + return (false); + return (cy_hit_record((-b - sqrt(discriminant)) / (2.0 * a), shape, rec, r)); +} \ No newline at end of file diff --git a/cylinder.o b/cylinder.o new file mode 100644 index 0000000000000000000000000000000000000000..d4715126773eb04275cd7cf5cb7b2a47b7a991db GIT binary patch literal 15832 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 delta 4233 zcmZ{me{5985yy9*&*tu)ZO-<)d-rSucLD4RcH=XkVmAbg)To?7NX(Bo6e`)NB2Y^e zpyfx>KMtprXjHYq8C5N9h+|br-JrBMCclUSrWGX(`DL|IoK{tfXw;^Ont+57HKppz z?mXTxQdYXXneS(Ic6WB~y*s#Ldi&vmJ~(mXtu@+(`)Y12XO&W^HdSg;s^KPGRsRL| zX16_98LSSJYHUKmttLsSraDzsUuq(!r&=j5gJW#CQt3K$48g#RuU*%U@zc80)Q*|5 z8V#j_JjSiSnC3;8%yn0}T}ri7D<^9+QB3Rd>)d(EF_N+oQ?0Of&Z^swqg90;)3h(# z(5S zWZxAxb{pvfsYt&&8|hne#-{YnmkW`-wKKA}70asL?Z7l8jS7HGL7~xymi! zSBgR!h&k^kwxX@vLF^kz>Cw(BCL`_EdDX7+EZOJnDnB9nwG`D*&BfX|ugA4tpohqRDcZ^p>^8exK~tJ0pAE-H|Bh) zX~xUiYi7xL#3au-KQL?h63WiQHn}O|VOtne#*x;F^<~`wjP>pb^GusOv(7W=J(S~w z%JexWOwNzUf7a$~#UFw5T-iEbCkHRMi5ev5#Xe)dMD|Hr;x_zUJ1-3y{Zq21Y>8WH z(0+NB(aq{k9XIy#6m$9o<$cO4i)ZZ)F6-HM>7rv7W~& zc0XE-=6Za2MI{1nANtPN1HnS!j3lf`0^;zFME{tJKQccr_();rg?TG z-bE{Mg}OZMC_!6P?!VCY=m$p4xzSUIjM-7E%4if5jV3kS#e`>H(U;AQBgRXJU*i?(kz zZMH?FP+l8~)SN<=$`JIRAG5t`hLd$IWh!us-b_LI7VB)Pbowiu4c4KjdTZ65lzEct z)y?QCn$ENW_IiL!-B0=WI(~**`fN ze}RU)AG{~%_t?JzYmjPQW|(<|X&vlF8VLFr(@q#ex=hexOz(ghq(g$<&b9j*=o|cC zpPsJ1#M;e0*oO&EoeQ{b1;MS4}vC{{uT6MKlnhveExv0vIIB2Vy|zAE%y_V)`t zd`f%=`rG{OhXpNhwnv4YXMG%o+x*fAL7!qeE%fkj#A`yYWq+3TRrQd6uS5_)*o zKKi7%;=S;(ra- zt}$QwoY0rB-YfJB>wT=#v#3Tb#Q$mhR9Y_v4Dx`jaG}$O105-Nyd&PQS41UYti#U_ zbL@zq!1__R)Zqum1l`H>ImmbV`XtSx&q6=;zlV_yU;hz?JN;l*j0&H?7h$5)-|`PZ z!thigH}|+K^k=5NvxM{s#SD5xsmV@bfnR{ny9~WU=#zbho)`L5+R(XD z(x>|keTj4crUs3`IMWw-Lq8{y&YV%y9By>Q;Cmc$-9fE6M7j|#8v44c{_fpWR}83k z?;+_IC0zSRxyHmaCnn)3?t>)NgF@1PsG7&e-K*CvkZTx??%zoIi)dR{nV5|Am82AU zZbh+y+e?A!F(Rr^=dKoU9iDUFQzlMZ=I>P0m$1r{YMBztXh7V3mZX0(b>6JnLrPKS zEgsSL(XUmxNO5uHBEILTffVLFbKaOkQH-P(5>5{u@cN4lS;VVN&(kMMBKF+>67KZ~e^2BtO9UlalXee_HbG?4LLN%&q(4VQ@`a@GASo{90L!X=Z`MvD# zk$m14PejWz4{^?3DaZKg(7Sb5@*m;+yyU;Z{uRmpl>H^i-)s6dwYWrdokagOkD+v9O-$3DWh&lDaldDo z?#6DS?@RPL)1x>P)8MSA09SCFGJpBsE@Jy%`6a)JKg6_qz2f6a!@7f4xn&{A|B?NA z$-lvVD<1GzM`+OCEwMX%fQbf8 zKhBv}-^TcPFW?rU*CY!3>9~Qz4O+C6|BYDPu=6f8lD{H1)1cWPiwp4#EatYYwga@{ zK%&K&tup)BkK+{muA0#XTuQV+2S%GZY|r=*{1y00Qv}j@gbbw-e{Na}8!+130fV@W N<}4neS;d9s@PCq68&&`S delta 2649 zcmaKtZA@Eb6vv;_g0!TC7T9jDBfz#m>B{?Xkcfkhpo<2Tuw|Gn0kTADTpY{~GbY** z{N|Q{Ct0#g(YnR?G80($0&c#LnYby4+cb2^3`DoYEc>#=WJ1jJoO{nT-Sfed^x^;f z{^vaRdApaX_-K5z5=JK@y8zO-1R)%U7^G86u#gRvIF<80G#&5pK=)5UMbQj!xq!ue zPzt_RmL77E{=sAE6Rc+gg`9K2O?u7)R_6hCeyp@ReOx`C`pj#(65kYYZW>OnF3BQ# zMj35z#v1Eg?w_@vahdfwTN~M=&nvs*2-M1(*O9X9^XgfazK@TKgke};Tt36 zOL8;E4Kw9GLNf3nOA3etPT`CGx-GvFwLp#kHjd*tR|2cusau6_L26(Xcwr5`R8k9#c$C^^yh3eD zYPqBo%oSQ4$8nl7M=t$%bLOzV>@duvX37S#%tqdIihMadCutgE<-L%^WVwMKlzU=* zn!iEn_Go;w@Yghc5TU}rx(bgusyRrY21|j&oy2s{H(@Z!e?xr_;0yhF&4CfH-!JC@fzVC zd0m}tbFNcJO6k{IJb&KH^P0C+wJ(+a>&z#z%zDYW!2-w>5r5_+8=rKJx{f;0vo% zLak^86>`%&8JyA6k{`<8oZl?@>n+}HzctJbNI_UDXpw@3 z49@7B32n;KsfUZ(MT!mBV=Z6sPW_iu6Ag*)qVcC1UwuazC!mBAVH%a^Aw zgY%JeNdC(<-(tPl%q~g6UaerO6uh3n89gQweUq1A9un7??zn8$CpbjzCC!}|cL9^t zM(mE}7RXFiGM>m&cgajv$v;Eq0Q{-tYQqI_4Av!JDK%D?15kxW>zlj>im8mE2X9dC y_ki7d2F->hsKKs=R@jbX)b`-jhE`X)8VfdVhBoZl*b2|%7`1V{O0B|RWB6YY+6>+R diff --git a/minirt b/minirt index 1be86a5af07aff77e50f0b14e1820512535eaa64..5db9c6afeb25aa51f4af767581d2bc8516932778 100755 GIT binary patch delta 48625 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 P{sM}RpTb}xiVyjJ+S9X^ delta 42910 zcmc${d3Y4X)<53W(=(YQGnt;rBs1B_3S=XMeG4#w009DoHDNXEJE8<@%PJb3cuGVzVSZPi*EcRuEO4qm$J+wS!mzOMm<|oqqf^pFl!T zvFLn-KOn#5K6>)LY0g!h_Kr+ERNQ;X^9yqR__B5Fa?_Rc-X$X?sdVjkCuFDxx)5>a z$JNOv)jFS~^D>3PXF3rN;$#$5b@GD|{Hc~*dY>CXHVlT0_{Mybt#e+=c5TMcc(xML_k+G<2>aJVF0cAv}%x9r>DJgs$W|MUftbZ1?4 zhthRDPE3F>FiL0iAjYl4=&LhIPHq9!t}gHrEM0mCb)D?3GxmZ}ysDQ}J?La9IG5X> zoTLjL5Q3FVs_u7k21&dpZ__1yT_Q{T)z&MrX3rOG$e}8qheDuIXS5~8VPXuJ&u3=O zlINH6x3fFT_ua%JbJFAvr93aEYtMfV5T#>F*O^vzoxD7{Z0#?lYd;O_{WBPZTLTZy zlhEq%#gmF}cxlF_(Zyp%mahGA;MzY+*ZvZSDdjtJ;^eOf@`E`YW#=^hO->8X_fu&+ zUMhuGGEWS9(MN+5SU;C%9{)5qflcSX=C+kv&f__G`FX8{1!XbZew%g3h9zp*+MfeoU;yu|TkHl; z9kO9&cG=pCfpZqVDsQ-BaD?dNvk-X$D@%DpUP-soK4|B4xQ5g@I@K>O$YZwFAmYR#@zC4)DP@fhs;RKSTawHorYTIioGwi;ni9Is=c+Y0~&S z!P+>7pUh8YH}OyMv*fZlTyB%g3VEA0B`MLf$q9;Zf*Kft4#7@$QK)V2{ih-oQRF%HAI%^e_)q!w6 z@HN02%6!r~-A3u!uLFCcc>99e^UuuG8_@}MSW7olXLSwSWfHY|sU>9_jtN6$YyS)^ z;GY$YioYbJ)z5_5bQPupZa%PW$F`~c_3D>Wm0Q8TI!v#AC-7AxMD?Uj4)zAx@jY#a z%D+l{eL-@^;f+&j>jO67=bN61cUAB zE)@lX!ILka@=2Fk0du7C9ql^$FO`tb#Jw_wZj*mc)9;MYxN`$%F+uOFTRM>NI^aDe z7+yhB#2Tp4Wo-oU7zu-@%bx;T4RBqk3gWJiaAg+N&;>P!X26L@2AEN(^p2OU;`W|+ zY4DG5Cu$psGR13O6UGMsU;BzMRYdGlU#q9SvX(^t5&25-+5$59)l~jK`yT!PZkd57 zwDz^YA5-;iOdhzdcfbeF!Lu_5uJc<19du$G2sO}3Cx(#LgJ{~S?rzF_g_wSDy-m3_hH7$C=0jog#fJH`rsCyBnXIPFnFcevDRYFu z%nvdB)cKxa^ZzvDg&{eKTNuoaO_`Afvuji4wM%+Gi<&Y&15@|SouPWhUs?uqMgea3 z*E?sho&1~5i`aEOxyxPb6&~pF1lz{%>H0c*oR94`m{sy8x~*rIdHe3gY&Wm&Ue2=l zE8Tr;0Jrq;u_yU}9xvS`R_6v{cIXvl`_7tU5d#BX`A`JcDs66$9W2~9;Wjzz4 zek~Myv$UFT@0pu9svV{X!sk*d)B8?c)>emc2k*d;KFTlm%$6hD@wi?+(6ZsZda@II zW3QHI$NpYjVm1kT@V=@-o4lyUfa7& zPHD@TZ#>(?C;A4XkGp+?*uVKT-{06>d`a05krIwe>;4%G4q4Z0;D(iIz|Xh$nIm7D&7=CJ$Sqg#oW8Btv%I|TOwSW8#O54Y z_}1Mag74HfOJ`rYz|ZyV#B#V&QYx!1KD4A|(k0x5G-8GxW@=eBCgoVW-4){|c?ZOJNl{J;~QHMalO^F)6CV0YxP ztX*`k+H5>y&>;D0G`!F%A^N{Kp@Ba;D3h({Zx70pE0^-02W7KQdFtSeY&(B`a5B4{ zpB>yDcyRC_Ov6EC^Vxm;P+11MnSWfC6L|>r6g$*=PILQ^rR+6+*N|eipPwGmnXTl( zAvtUm&l#E=KVY$5HzsM_42S!p8IG|jv5WcmpAge+fR z#Cv?t&_S5}zYHDDuJM7xR%%fw75`>fuBdi~LtS^8rsg(J>;Vy$a>DG@S*t+k zY2h)E)C9gpB&L$(;gY^kNnSqO)9EY7e{@U|bvjKa$51;a>+LY%&S^(kgM-&0YpH?h z@h{DAq^?F5G<+kQT$?=N1|~-?PhKUETVORU(>N^*#HLW^*2_WD3nDS+ShvdCNfe; z_5FZ!mg+0KJTc6>80HNmURTn4$KZ9n+$qdE5ay*5FProp1@E%mAk|9qLxv7=_s;_N z@YKp)Y#5(Z`HS3R7OxoFMUF|}o5s$OANAH=AKQ|#8+pd~68U0$?X2;mnfzHCKRKZ- zo5a7H;7wlqaxiG5daJYcp@XPIPhSJS@yv;>vfh1FS8!CAFH9HHYjxJk&Geiv^Z648 z$Vh_^O#DXOjYJY%H*CD|B0oAkE2ZBnVIza48Aj;NbYz>C&E(gor^=D9@RS)@a^Dw) zt;AT^+Q?(8s`5TWrH%G}uWQoWoz0rD>LtEvW=q@Hm%>#|;%`;O%UT^jGqZ@_Ke2^8 z-YLw!Gx-Vv`^hP7eO_w77wRw-AfKje6%s%cMN;zy>pOzwFiY_HG6=8n0U|2{oUMnlOj zJ&qby6J(DK7MF20b5!mxXhNfJ5{@)!eRJPz=l+?kY)g)XD_hQAm>Ew2YUUVuWfTma zkE}%fSi#Jj_#d;1JeAk3kK|m_)W9py!VS5A;lzx6jver zjBlSE&t~!cvwK@-;r^*H1#aTkXSeUvVuENd>;(EAGz{xSao4Ek;CK>`)q{?1F_3hS zPo0zQ-Fnzihhn%L*@4gbwmBJ?$tUMj%L(Ior@2{GnFkEbQlW_}+Ef{^HD^>?@5dsSk+;kN$KKi-7IbCo zE57x{HS8EqUsx44zLspL6SAx@Fe*z0ZvUF!zpxM?^0kE@)!u$9Q{<^a4Ck6Lm$;XwmwH;pYu02dD)k>7dO4k+=tL&`ZQ7d znxDA$L3W0Z$v|n zCTDKu(OZYgwVU|(t$XDio4DhFG-mUn&&hk%bNS)H@@MO6hdrFd61uGm2G{kwc1Ims+waRy4v;I6&86m zN6g564gA#dWWIk#ro29ff3zc4R@-vR&JB^b7hw3@u)*y+lWGs{>>|s(?y9}|=qyD( ze|zn?rz~jt?R?6v+zEBJ!}NxpYg?hfmxN=}h^(i~aX>2SUfpkXU3GC84jvL9!ods< z{Yuxq7#P1Q7=%*m!;$2|4LwJqbm`h}e|*xR)g?u+-06J$EQ_|OSos5OR`Iu=E-xIvl5F6fynND;O1rwR`?dQruo&FSFQZ8|=m%!5Kx)rW zL14uSKKz+^@{KF_$!9vq<5uu%&*XS-SWXpm%z|sti_r@Y3)RS#ywjdmvU4S$xTme$ zu#(@ir>lH%1wXx~y*y&_!m$M`ac*eaoL7xS=ioQ3_QD>-}G!>Ik21`c=j22 z@Nz!&x$W{pw{p|-IkLKp7d)RKPq>Ybc;07!a2bte4>&Avav9$N!R2NArRS^V_m=T) zHQnUy%XoE7dX5Q;B{c}gccph+u^#CP{G^Nvyzy=e^yz)rdCmOE9DbsvyZq&?{I{AM z`OH$@@`X~_e=EQ7g%Mc!l8U!~2 zJJ?`3PJDv>uszRTfF3JhL`WzGpEn zuPu|Y1KwWSx%DBKA78e%VWPghc!@@PAR1Q~II)-}r5N|x#r*f$>+%z~@PF^?B;Qlb z3-^zfwZ;7J`#Z_fVt!(OOL=!S|7!n=_+^X82a9PV9=M0_wciCgFXBrNlt!Ed8Tfh; zf9=3G@}ZmffrGu|r8n`P4?ZWaS;U__lr4XH6R$tiHEZ9Ebll)WQq|(O(sjKrRWEEt zxBL0h%{TGlVv=<%_xesTa!>@*e;0#mU~%>GS5@D3#BfykL6T>;=`+Z(cNg zDiU#tm%o(ee{YPB6s01ZZTufVzcl3kredSR{{OR{>kUBt|4-M?{x2R{VemKq7y18Y zNU8q+X9J%2O9hAjLjSd*(}w&vV{WxH=nxF?2T#A1Uw)-6uam93;MEA8{_0$Q;?)s6 z{6+l~rB(1+8 z7%U=K6%1AbmQ4-@4*^~Qyb5@I3hd)JZ`;&ha4F!~X~E#jR>?1In;r~a2ji0&!C*%$ zU1hUi0C3xER0Mbo@HF6_Il-VCr)A6MBEA5g1)K(W9dJ3|ym`UkHo!fAHGoC)gTYS# z&n^fCe+9e_=#7RR;zU=#V}NDR7?&$RW`R+JxUdg!8{lccD}bK>&O-pQ+90nE2Fn4< z5IDC1o<$U{1Dt?}e;qLSHWj5VKUIAPPn7lC!3eWY3c@0C*PgWxy+d7XXu=!XyJM1C(M>5uh7z4`4RnCxAtOwp|z+z%syT z#0OkW{M{HTz#_mJz+-^tiT`vkcnxsg)5v+;ZV15W2w3zCS_pU@u$uUL;Bvri&th&6 zAMiZ!pMwFSpGWyPR9J)ZfVLM<9&jFDHQ+YDEkxI%Jm3|;^MGfO#9t%6A3FngJQ#o- z0q0?BF$(ZHU^UU$+H3(#J_G}RHtb!_11<-=2DttR%6mW`MR~w{Y|BOweH`ThKRJQ& zM4v=?q5;nX=GUP-p#Llow-*(if&sv7FTw!PFTnud6~HZk>#?`r2bhfA_j#fLuaO+k zoq##=D#`;M0~`gIe;VZh_nbj_z>bPnz_Rn0?F8RLTmW1TxDD_u;4#1} z@1s26ybn-53HSfJ3owuj_#q|{V9`gIM1b2q#v}r?{R5K_FdtA#LB*e}kO_d-0jmM?FQQ-? z3Vw}{378C630MX=4{$l)D!@H}TL8}j?gF$0g28&gGQeK}mjl|;QT`I_02TpO0+s>J z1DpUDwF<~QAY0P;`)_9CRE`M-TS@qoM5u@WQX#(8;F*bs4-$B(1m8lQey%n9l@C0Z zBqvw!8Rv3wh`9M&7j}rBIhTsl)l28vvQnP#Ru@?v%SXJ0T`9lstu8oqeDkf5tcIu8 zcaW3E^D*^B*B&wz)CQTk2W2Nz# zhUHb|#qV{%bB4w54Pb75{Jp{Qg`0TP`?<`G>ng0=5=VdebP z`(0XQV+pGuKNrWS17hmf9kOW%i&2YXupVQ^OFpc-(|F1UsW@Bj`9TNf<2QZKB`$kK zFqjD`eMqYTS|$8Aw5IWYe2_Z*Jmf8fR3DL!SbeX8m(zq-3Z88xQj8|N3E*XeH=+q| zA$Zl`h3ZR#Y&CeB_~Z+jZMOM?K@6?<&=4MjWGi^&TB(1GdILH_bK*SsHT;DOu_=32 z1%n8CqQ`g0qp71(8omk^`WpWEh0M78+hLP@f)Cj#f+U+Ke3(ZA`C%sW^4Yk)%s1d# z#b3bn3V#pM2F^Z;O`$dR8Wk;xS;ge}uZn*U3(FyCLt6Nd zb`d07|6-vWynWzx6k7V&QXPL#j$m+1Gx_kaoHE-@kZ)}!=l-z5C@82q@$jaZ z!pg9`8uC?;&uS(oAL>K61@d~xcQ=zi9+vNeyy}r)@T+EWe?wT|JQNC%>dtPaFfA;< zMh$>GvYCsOu#4SDofjfSzSyk%=i%}lA@@CwHNUCcFFzJm7zKrTDD-VsL9cKH)sRa_ zu_rc@SBB+VsDh`0!H1hxAa4!Z-v@aerBiNGTF2^YKuc_HNg z&9ECGu?F%j&B|{Km+uI9;ci5-W)05{HQX=J?!t#${>^3vPKOQ9uH!1?tD4Dg3(L1a zUXI-VzGm`GVfjAD>mlFNOuo*LBL(*(8uFUw;DKiH+rsiKkgM3uywI$IJ>drI zqw1HXQJg8Q13q89q1=OEBEnn zK(7PcwT~|YnvCt5^#FemXc5pu2l)}86MzN|@sEHm2YUK2{|)Fi;vVLSU&1a>>k-}^ z=qH38<>P=}2RiF0Uj{T8ySUP0{J}2^x|aiW9}fo4QOoh61z{R^_27-9?jogGFPkJ5 z6=NNQv}77st07lUa`~$%iC2Jn>#&;wn?8kfK|+yL$5(z;(77Yfg{Oi+Y)!%+QY{02 z>0kII;75!EPk?5>$j4pGZDB*6y9?XJfn;u4j5-b34mBwY z{Dv3#qZg-G)&pJhGLQOtoaGA8(pUJLuiIO)5->#wE#UQED=j8~T#9WZHf7<@7GTxj zuX=_5@b$eG8#a30SNYw6_H#;r)?t%rHgpk8rAqK< zIPg9JkFq)X5N{rM7yiOq1>Sk^kRgZ(D|K}D;1N!#uo|Zj&%Hjpp zi__Y*FKAa#*rxqrLAG1jzI{Pq#~i`tYkusO+!4Z#e-#!MfQ|J3A3x4S;@|IDyMkfZ zZ^%hqkSkcr;Qm>H9EF?HdLPKUFe~LGLB0WU9)JAW11z2Q`l zI6VCY<=E?z>s2ss!UmSTVRd}~{Bgq1sDM1M^QJ&SkUMpFmVm>9-1* zWWNqfjR0#a|MaI;2`?yE2S`|yY1k{>KzM@J<>$}-JeQU5gkL%*{0SWme8nZXROkpi*6PaOvwrC-Ec{4~+bFp% zqUwjK%1vI^0{-$ZY5unbb@JPjka7n%pD?QQJ` zfqJPLz3o)Fq`m{@rzFo#puQ%430l#wQqt?-SR*3pTKb@hm%Z?172{A&&KDtop{*hW zB<72oeh_F819Wl~$a!4-eXk=GKDAr{nFl0N=5PNVmvaGRi%1wV<(g#^HM0kVUaktaB6_ZBoahwUPgZ=(DhBw7iHW49q)Q z`%n@?2KDwjE29}pYS9@DVDC~(Z4Q*Mk-H>2P0HwE{^#}h*r$=uDAH~)tR#|b(rvu; zAFXUu(6pitUGLyy|7cOVl@uSxC_Sr?%9KYzO%e&MTFw`6CHaPsG{^z*8ocDCR~|Hb5)k)Lc?W0 zLBc9lQ~T34z_KzI@&+(XX`=7@Kt74DDeWxAL-_;f9fI7&ZwoFluLpkVJ|~M~Z{KHU z3I4C4?KsIv zi=p!SDTrO>M6oEHj@k^(hYihT-byuJ`Br#-X~UI#~cUGmUEcndnN zykYfx0DL#$XI1alz#lUM$3p0(h43N~SO~qe5K@f_ErhWQ`ZgObTj?&Im=MJf{JSb6 zJr_~$Vlp;b@_ZY@$5=hIR8rHG3RN^j=u~<=vr%5~$EJCHhQ6p`T(;-85I#QNL#Kp- zKcP@cwA~I%Ip8R_CZqybmBk(v@KHb2xc!$aqCY%BIH6q?a zE6`Y|MtCI;EydFaPw;yDzy&|C&@&vm591q=RO*=zxQ%p@%RMVXcuJ*beF*orsPa4j zLKIG&<#`6UFq*c?b0CDLZ}reCIf9>2<0*kbfoGofycFVRHApsMmV#mN*lq+`OlVv} zcL1+N^-zjHZLzo{52XkK_s3d286m>0O7;%WR;;$?p!jb>?@jm~AWhjI`u;K4%0|gU zNyMY%rA^*O*KJPLoA5D&7H{lj=-Ph9g_atnE1C*yo`HV;BO6a-`Bj3C0n^k5+kTjoL^z+_71nI_Nx4 z`0<5}tvgZUq5NVn@sVHHHp1ZdbTDZ3CKw4uxQj?IJd|Ki7b(H89fdL_7|J6FBEe7| z3hOElH)-JZChpi#=%EBd%&MIob=PEoVM(w>p&^uQC{OznM7p6o=Am>$xc7-B_MY^H z+o3#F=%I8&xP4d0#*QJ~u#JO3N;j1J*c*VRP^GS0fw|VwWj|erC&jJ=YNK16vJEB2 zZ`%R}EpSR+f{|``DBYk5iFCt5=?2X!N;hJuZrdv;Kt|q+ zT~9Y+FN0{D1G%xk6K#P>%AunY5;Pirq#GVeH>gUa8)7J_N~9YeN;hbtBHal080kiM zC@I~rje$W*H!SH18(}Zak`yjyNs&C04I7pgRu3g2V&bQ&9!f;~fdk{t_6H(g6 z?f{xXEzr9~?UHQtYbVM?l8Z{R>cDi;QT_~d zV!G%A{qk;}(v!p@WN!j37R2ehuzH$51S$GBlU5(g$5C*tv9O1dfynQ*zeTX#j_)Cx zX~-;pShe~H^h<`3yBZ5nb|5)v3uB%}2KAMbDwdoD#ElpIpo^5&jTmE$z7HfKDGlaC z8Og3^dCrlCgIrc1vG4BHGQ6zL*4mw==E zD?BSC8=;g$Dn+pm!+7H@S|3Y`iPVmwkI2YF3D^OccuKoyWy6_Q>l(?j#3qnV24$BN zK@ncyvDSzTZE++^Po?$VM z%{~5(^`Sqr%^`3L6{WvILf( zBbhT#M^J(w@T>;OY(_JugAw61tJ()PmRdm3$uva_!|S18m?DOODit^86q*OI6F{ET zvh1usJEP6DvmwToNBt2t&Ey-geXVzgj!+^fa~z45;0Pt+Ra8TJUL2uBQ0Dk=!q2L4 zUjtX5M@J}elsOI{0-0kRWsc-XafE{3!Jv| z1NBiJ#O}3x50J(-h|wsbW^9xqC=U`QHhCi!Xw1Pp{xXQn6}affDi-5d#WRzN?327W zR*9fvm9L22FGWz+wF~|H982WLF#mH|W zD8HfG2Kh|{XIjI@ zDHh{6C4%xBsuKB)7&NL9`Ar1nHxwC=--LUN{3bkRl;4;S!YbuAa=K-sw$RP=^Ar)? zQ`HDcV+4*Y#{4@}_45=}!rVxpdi2Iq?O5Qz)X!5Ask2FKKr8xHO4iR)q@l!<_QGsv zsmVv>5%6OhnDDjnNti>D^oL1%Hi`ML_$+h%kBiSi7fbI-35Ut?1iBk}FYGtKfXPt| zEK)%b6M@FD2hu2ca~cH#laqFu(eauZ%c>`K2gh3ALm}jrgF$pOh#2hgH-qWW*DbQI zl9|xD<$M8zlXgW7c`Qq0KWNth#){?Zb6NmY603=*OmdRCLo8p{ z8%07+63NjM4pQ<3<1@jatcQIy0fkkeVGNx8F1R5)aN0IEOYBNXmnoODB5#2!8eq?q zD?Aejc_!EJOjqHVe8V%}x>*^UtM!Ou>3(w1?QMN1YdGk6gAfkF!ySiMzCNRB#B!!m zOT;C#dRea;Md;lwRzX>xsh?=pI3y$uFl_24nspYW7_fduv%KF$qk7W-qg@x{ShgRB zlb2v;SfLLEu@YkSMrg97Lh(j}XQPvo#|^?xk>_xuwrMloaj+eSiC07FM7$d!&VguX zO8jULl9~4U`l0qI5q%rj-q_9HA^N&Q(Km_4$B4dStc>VOr?DdXjs`;GNzs=g@j4P5 zDHV~JjyEX!QY4;?8;+tcMdCjQNAN`?_Dd;XuoFwgT}@s@^c8pY52RFAhd2W(6p77V zJrbMUjSIaIiD`_?6p2Sb_di5px~D^tSTxXx#7{77kB7Ce(E0CBS*!Q36u*!g@s{j{ z;;q1qcq`gT@%DQZ)Z?v_cJOgx+Nikg)k3sbggJd)JLAAKr{N-&{~Y7sh@BCu?qcxS z8)EtQOWzT3R$u><5KP#cs)yG99|=EaWgeQ`6mi*G*~~-hzi3W9PL7<*sFpi%XNQ^hIu&R{ zD`hlsnE6j|{zHl(#@0wNL?bE1z*vYz;;2Q$M{^JO>p!e+)S|}K4L2SwZ%#5}o`(|p z^5(n=Xxv@6s2k`ahW24#lCiuw?*$=lC;e%G^HHLo#YNw~H(TAP%Kx&u`NPW_H9oYw z(TyOMH;R(_@@BT;rqP!#ryXb6E2Ge*PK%GhK4qDN#p~nHv{@^vv$hUD2 zjc4kLL=Qwl>)ANquR~3&XWHXQY@k&?1UCD$pORQ7HdD(>MpUIbWXC^Hb0n>@IvQG9 zqN>{YAi=YDd|3r89CFfdT%#}AB#ClpIcWj97Twm4w|!BgoHPMU+ftCLh)kIcsqHzC z@kF+udhCzmlGWaaE1r_Pk<9Y_ON?q%gitkK6({7QCC6$M{(D#?j>Vn#fw#rr31Vkc zqNXWvyeaW!Q{p3oa6AcXm)cF!+k$#&Z|$lD(`>X)#n!VEH476=RA)B?f=Fmegt{b* z_6V03Hl^4_+D9p@uoJD}rV4U{n_MHs(tgU6D;Ud&;h`P7X^bH?wv)aVEY4qUm^=e5 zRzbTsxtAD=9WmGz2~v#3pCHAitk+~PZ4>djn-~k97z++kj72fk=@^MRmxkL)-j|%@ z_B%p7`vUW06A^HLXcO(^TO<>b(^EDKVxfxVnWy75%t3D$OWJ56xKxr3!Kt74yoQt-@VZ zGr)^(txD3}G*_#36Ilh4b|`X{pJ*w8awGjoSR9p(qe2Nc;X+5kiZ@|7&|*U462+;s zq9)O)G_?m0u9N7@Lg2C1Bs!E9I1Z(a?X}dJbfr0{F?1u}gT@?0I?|8sWcuqv^qGbl z1KzFwb@>PsyP7WI?nOJ{M@cN*$9 zih7oi;WSatKT%Hun5MMeaEv{{X;hm*)y8}TgGY^`4mO<5L}F+^dG;^7WbnT3pdCqP z$#SrRb^$OgqN5LXQQ%2j90uXg?`$c`YSG*otR;)nx@RCE&eBF_uq=NYG)x&A?h9To zFv@j?4Oa0tYIj>J{qRWmrY$uxmW`ruHMJG}SqvEstxm?W5ws!I3HM`Eyxol`BSn-O zhF1&2_mQOA(T)&VpM!-4a82EWM>1VTWj(||(23e&qpUb%+NkAcvZUfC3?95>Qde0V zY!rZ1in$;9b&WE4Q9eZSqHIjq&eYjV8Z)O9)mvMW$?}qi60di79HWIR=psc;(B8^q z*-o1Ba*^c?fcW=u*{WHynEs*%^-Qi%y>u8tCge)5ceXYli**}D36uPGf_`2ipAjn5 zANdWuOa=Hj246mF_0oCC2ZX<=CQ`oiEhd+Yd?}IgrFO6@BVS7VNqZ}c<@+c@pti|K zV~pD-{tFbQY(_5hh!Z7Cyq6Al{ti`SGhRATx|i?-uh*~jXvy$SiS|@WroUA3IwWS7 z*}XWTe#`4&r6y1V9XBrNU4|3Jm{QKK3e6aOxuZkK|VIiOPTgX!jCWXBGZ;E zpyd-w8>>Be$V)Sfk`=kGPKv*XDk;&9^m@dRN2FWypPC*SFLn3Q&V$+>iA+1*g_4wM z%a3@(nTPyPSXq8pYHZ+k^i!MLnzfdZU~g&7dWyFpgzJ$&$G-qGw`l)t%?f&oan6aq z3=U;#a-K(=Lqxf}bPhqIfV9a=rw-&R912JlYE67HI4@{Jvss#7f0|@)p^Rj`Moyuz|)fI=(RMt!Pizu(zUd*bqkD6%);ZUqU%F3ueMdbVbqO&g1tnY8G0 z7rMzRPQu@EJ4=5UJ}=POU`Kpu=qv$YEyN3!V!7`?$u{Z+Z#nc;v|a8*Jba=ScJ>J* z2Uk{chHPb5-iqc#%bN?y)v};0yJ5{vB`c{WTPs{PX*cCEFRRn;&Sfd$cz!XAV5xJ` z?IiG6t20BZgV?X1A;;+siP~w@I$zZKKGix=RBGCMRT8y^$Tf`a0(s)|Xu0h@)T(sx zp%5Blq>54uJykWO6hY>=Oc%l=^<{8N*jyCSF2t_Is8>l< zoiu+0j`@@HChC%>kh@tj#SR@$rswnWlx5V^s7;1#{b=HA?fHC`(vyB!B`@p%ms_+r zNuqmRUU&pvu)GD5j!5N&H{fdZ#v2LvBC5o?0c5-u*@mUCC0gq?EQ_UTWo^*V#oD|! zEWvrWs}E|zf1;aTX!k?u2IFA+jFV#d9&`XZTPFqT_GmLUwoVGvlL&uPO`||fp^i4T z;yjBUa?{2(jW)KTue7msy#PD$$8g!IB@`HI1|1CG+*;JrlJH8ebGBAlz$UN-+WrET zD&FUdfkA|CCx!0>!V|nszxGXm2;XDzN1uciO&J_iJ1IVsEAiH!bAeXhmZe$6p6-BMOU(5Br=Hg}2juI8y4QDEx22k5)M;3QvPWao*vixI(uK&O4km|I!FQvD8Te zD7ts@kdsE_C(^I0lj4ccqp)g3VJ9sh)Idbx3@1flYN3e2)1j=Ncc{k6voltEyO4R{ zflGyY&~>#lg085Jg06zPZqX*UGlDM5iSGrDzCBirpzEZdOTI(UbyCnJ-%-$YQRVSB zg7boQwp}>ry6yufehZZJJ+SKuqHA!`gRW`>T_@d>WEVkKIEU;a=sGFr(o{##4Lb)x zH|!h{bU#O9gyp$8#^7FS1B z?0>XJs7a&bN@WlkWNC1fj7LXzLV0-y-GKBA(Zi zGb9(ig&$vmaS>-zZztuF+8i+>lZBTAo{W3d3qB2!6xCof#Dp7|Rs37~S4WoLT~u|6 zM!t1AF7ibhTzsxO50#>v-r< zc#yxPVkx7cx4W12Tqo8dZfB7XEE*X7w6qHApGo_?6LZIR?HLkbSa#uPbRI@vo)+Di zC425^D*F{fMzVuFwO*a^DCSyIVI72Iw7t%-9g)WFe{rfuQDn3VK6rt%-mWK z+YG{X3KR5Pqq=zNE}m#AdEo(;VhGhPbY>n`Z+KqGZz3wySQl*Dhl6jMPIsOoe36pI z(l{NbL1y|m9nXxxfX@5+d5DR-(TCWwut?pRRJ89o_ zXI{%V=}YE>gpFVLa*S2PN^8 zkhw5D*f19MS21r3uVHcA*H{k(FW4GK3bn5mQz4ZnGc$|B!zNGfyY{vj1Z1v z6SID}V?mh*idY+eZ`hI5x2aU*(_uWa3(a@I)(<%aDw*|k)RNZMhXQ!d4$Z_vA()T& zEDZ-kK%z{WYgi_6;?gno2^kEe8<1$z<~peai0yW8h5@mUOCs_~kkbh{17snPn8#pz zfmYR%<@v|=^?|@n?;yjgEe7GD5QU(oJ_6=dgDD74iLNfi4o7cHZt9tvSmGkZjw5bt zn4xnm4MwSBP-GRE2xJkRGcXNhNsH=*IWtzv?ZuM)Q^`U3bTrK(8=xxZQ{oUQqD?-X ziNuSQrhqi!#VXL2>c_ST<8D?wv%r@Z;X-SVQt#EXN9D9a+2d*OmDeSOvPXK67cbN* zlszsZ{H&VrwF!3_O(S}vHi7o}_Yr~jA`&Qlq&meLwVpSD$ro_hs{Pci3( zDap(wlZSl@C7C~x(veDqlFUi)5nk$4D9P-AFo2gj6-qKk5`KK4f{e$nd*MWl(hW>{ zwnT4r%DrHPvP_)ki!9UXRw&D)e&F>6g_2C_2ff}P&w(x_naU$3kz^_lg>~^#XJZ4m zqt8$kUf)ru&`X^YWW;g>Z*|JgL4p&23&pIbKdgmhRHo+*v}`DN6&bBdq2lfoU~ZZ{ z?y+rgRf#-V z@oC@oVV;(u{^1Eu*z5EJNB#}PDSc(>rj1%|U*iP@5tC9?g%(tSW3wms!e~)?tF-m> z1)4%V(VI$@N%ABxDd|sZ1%=l)_eK*Xj71gxjfhQa-PD2!lE0Sg&g94r4ve=V;UUh)^=s%U^NR}VpXT!=UW zVx2)qv9$d#C6JyG!Yq zX4qT8EIED(RU1RgX}Mv6mN$7C-fSCbtgTliT3a1rUG0l<&DYf#;OOfrlx*ujiDmUU zAW`9Ub+cAA08bE?8dZqFc)8KT!tG*is)O`y2%?KYNEUUl&Zft(tRfDNHL>PjmC|)& z4a)~&OKOF|1>*cR8jF@u0ylveeg%U5H#Ra&n@_`5tb(Ctt;l%O;iOk0SzeecS?R?m zc_D=e7CA^8UW$nzX6DVrk}R7HyM2W7|3p<0^k-G05St@*0Er{yPatVP(DHhg2PB62 zkyS?3;8)D}$}62D40Q{~YfwN2vy)M`BxeBEZ;Yz^qGMh4&W<;Xh&z4_rZx3;Wg}DG z+!cL2g-%2wN}{h6+1>MjN!HWUwWSoOnLa0%5px3FVj4 z>Hpi%N5!=y}%wJDv%WohNlYaw|{+4RCB#ArV9-?E&>-P@z0o5Pv$y=i$`a^{V0dtv# zAc{>g24Gd=0JIsVmsx>w`T*20V_wyZd4&O3C5r*jot-m;3SgTeyp7G0`a}%wEx|>0 zNW`N}iL(YFhVP2eLQytg%+>iu6Lh9Ae4CmvQDbar1pM53K2Xe6)UU@LsY@glCh0~y z#u84(eIR+jS?$sDbo!4#^mz^=A%_V1V@|AsUb$l(5+N|nhNBvw#X97YHH;XeD9t+1 zZy`;OLQ1iNb$F4;3n1eibc=|>X4(@D)ovWjQbvy?lU*DzX>sOA(ikGU<)CN;t$C~~ zNvzM8`%o2rC4(;tZ)L+t){|sXWGs~LG!&xf0qUi4?eoDbHacmz4|05L!?oaG7FVS2 z3mn~{<29)&ZA2ylH@PI0HX;I#wW_oc5jZv?F~*OI#%bkc^sL@6sYjKb)QWyPFmKWS zs}iMutlt)$T*Hch=%l4njwJr%6&paxQU5}v_ZpU>^=K0%LGXMdPY*UW3O1%zIBk{e zbn%NTe#;40n)1SI$ysldd<4B^6;H#KYd-2cK*(Vrbm-yo=HgK+kXX~^2I&JJQ4?{= z9N{A$;U#qu_V7Bt75(uFOUpbXpWb%+ex>{eqnK9sf2rd-z_9mYgJg<77Fb(#FY#R$1PVRN6S*Mfh2( zN*kxWgukiMQJ&r z9H5lmlINk@(oH{WenC4poaKmplqJ{0;9ocWsa8D=cNl57O8%ibk%o)05_3P!t5RT~ z34#}g!()ZKJUmvEm%Hhgwv?Bf(j6ONBh8c)E@w)SR9YRh8%8i|3p)N1cWbJuQr07I zr0edTuy9bja|BX)%E~R-EvWse?|`l7*HBh2(?33=PYdYbj2ffQ#?f>(O~WlCrtvr$ z4cz55VqIe6M3j3FQZci~(ac6*x+-2kW)o<>n6ZRXcx4mC!3m`Gk_dK_gcSE66A|tP zF}dntO2ob@YGnE*GzKM3>w#`6sboBj7L$O-lWWCfF!JmE#*@jHfM(yAPrzbSz+bTe^ch zA|*K*R}uQ5#orS2Rb;1OFcw;Jh{!~{SjC;N%p5bH0b#;RI&|j997HL(dHPb$9FK!E zPX&1kb;(Im$x?6F^nqX%>v4^cH>+C#@$i$3CQvaJDJ&+4GEo<_H%8%Dk7E6|5aRbm zc8c`^kG0w<)(af5K1z@EvO3xaO++JnSq1rlwIE|?Y@skMDDy+1)}@iqoRhCVt!3%d zh!|>}*Dy4Z)?SuralDHnqPcL1A!`XeRzZ6NmTOdErEDflrO~9;DRUX>5Dv*FRY|Tl zjN}L-bZEpnHZu~U{JIrEnpcOcbk?m%V|-*y{8=AXK?hQ-7xjS#M>M6EVN*9EDD$z9 z5ua|P&@eIr1zE*h8nx0;Q)Wd_|3hS&@S&ja&V^A-pBc1=WWz(nMBReIu{qtf(jQGG z+X__iW1?}iXjqwri7V5;fuj#S#by;7s3jhM4H%}+(dHKfEy$j2j1BnjU&uWm|gp`7zc-$v|7Blo;iL;5s zQ&H^{jHoSmn?eL5fg8a{;Eln^{Ri}>!&HRVZH0&F{cB6BsL=pc=1v5M-oKXbwUPhQ z6n@?0_cl6~7IkW%{$gWv1(e-WaG~T&uCs|#QF(9N&17Vs6z`Mw z+38gDD$)BTJDrLqW4g)*BzrgDa|y?kw^O22MZ{sBol>@=gdeH2Q_AM2=ks_Q%1$}k z?}Q(lWv84iiEf+Y3maQ^qQ*`++dxFU8GY{cWczB zzW`+unVkGkNY^jn4XDNzZg1j_9fkHhG(^lfoQew9&~M$91ULOCWGGPiXB!kLn2e90i>PY~Feyq;z@sZbG|qwC=$S;{jEkPp*^G?NP8l6liHuH+BvpwQ z5bTuE(ZoeY7wR#+D<2-oC_kliFT$YyrhrYPbV^dVAl`GgQ%Wahe+#Slt&zY}RXeSJ z0;i;o{sIG?!OCr;qk(!vr$w)*U6PyLjH7H%&i0ZU66n}MN$5(6wIU_H4v95FrhfxU zAGnqlcuYywliZ%fM$`Ye2@&E&&=4`4vW5^bqJc{Gq-7)7bhEmH4jEYQM3C6VRr&xh zaQL!{$I0IC8j63W-B@6R{oz!Z=?jn)2_PmisQ{6g?C9hukPYCo;Z#eCSeQnNg^8A* zbfXd}+5u_fM5&La_$-~nbWo(}P6`qrC7WNWLrwJf9+gUkM(HIg+8ZM1HDFdj_auv( zi}JMk(|8*c8%3|8vAF$YdIK6qKMP>KL?!06!1Dt^H=-4cKf ztyGruw#bfvM2rKH0K|F@3L~_;C$SdnEp7KCmOfhl{kr-Qd8ak4h0GZc_;TRRLl{if z`X-<*(WV^IkYXuSrKgdmVQ%qym}zhvy&g6kY|{`a?vR#x18WhhFDYJqCd6Jv!Q)!_ z4J^4wmC@)2z+x4-G!lhmI8oj#iOSp44{DWr(P~j^R}v;s=XPpO-N17FCkz9Tc=U?> z4&H;z_W`S*x7t{*keh`){0C1+X_p|pE`-YKs7*N9Cmbyo8jda& zj+WK&x>0h=1Xj_V8a>Le(;yDT!sIR{@<<`2E{QtFkaLuluv$q)E6JzIM3D3svzhoQ zz3Aa=ZBG@;Ny;^BD!scD0Hn$6kiN<&@}4=w~#!Rx)qWQYW*dw6|gN z8%&rMbTs)Zkcg;u=q-5|wPR$Z56aLDEv)nf z5^)`GOl9f5;;Bt4-in)4y+-N_N!_?P1TJ1VU<+w_ zxFoWFGud}7)IObx(|rqZRyQdlaPdYbTP@1CNaHTO3{|k6lqHqU_1V@Y1qJS;-4oj? z3T6@dU}M3ZqM*FVXt#%=MgNK+q_vMknCY8L!apJMf@y}3zDglw0vs}*$OELD_CAW& zp&{&Wq-Bd%Hw}M-YO?nJG*-}h>U7;P4?~R|iL@LOhTyU@-j-oaSJk}aT zBPwvWDw*nM`JjS#!SH1jx1zApxq~F#4kUUz5XzlxLm`xB`*6jn622@sTDcLzalq}< zafzV_xDbfspsma!q?-nceh#*|0f>{1Gv&N{fx75|if3zI&17v`?w;c#TKrOI5ulr+ zc^G?(Sa9RE!d%2-TDMs&Q#|q~SD5f8GiXCV-8Ch6qx{<9S>k}}^I7oy(^Ou~g^XGD zhH)vr&ZuY(QUX>%?+CGU&(G+Es3@H(!taR+U!)>gWZFwd*l!To(jXheuX|W4A`|v^ z#GhuxjmI*nE*rV-I;xlpLV6!xmMzD!k;0J^p&E81DbeS7e94jd5H>mzEf9W`L=O0m zxjs^rRD4-(hVnUd#l#S9e&+r;IOAzK&qpf4fq10ph{l3G;xD{b;N9QIqmE&u!2GZ& zvjM|b1ZLKJ9~sm~ZznW~x%970s^{tXK8?>|F8Ry(+Ea5_p7$`^C1;0+*+s6wgQp1X zUvpSut3K|=+k*bBLQ1BQtSs=6p0o&aUM|#f=d#2Skv6Hffn#D*MABpsQ$<7)gramZ z4oh5=yi0PqVMxzPx@l|X;%~9g=^;zhElm?Eq#%@{P~qgY=!zsSGzz;wu!_M}TwA^g ziHS`XjcM7mF$SSGMi5GM$X;tIg>w(xo=<8i4AN_-tSz-OeCQIQ^g|axDSJXz+KDci z>lSG9=iwp!m*D54ur;N#By|zJy=pW#N7$$52&`{2`yooVFDPX+ii`85e!9!jZuFrz z_Urhv3h^{)i0EkOWN3&m*&cuRK=@9OQsnp4n{FgxQQ{Cs;88-Q8&_kiQ+-M6Wu&jc1troOmDqzG0GV9ML-(e@Q`MNOTHTFEU`o&&V@o6b1eZRBKDI%< zHAWkD1D8WYYtbO_yvflYcInodN<-?nS*Oxy+swq@dQu)o*YvYyQkCQe!{V*N2t5;H zEpDbv2Z_s7@t<*63(_=yf`ZfoCLS*+ad>Vn?4(g8mjADaBlcn>IoMIaDxP?iKl*)<$(AIBrdP>Wy- z5-b&z9-C<0PPK+|Tr1jdyWv7Rf6RC1_xrwYmOFQwJ9q9UU>=;~Kn%T*-moRgloLNb zuME9J@pD4pym`G!=iY-S6&fW=RY5#5XgeGT;*mkyaAdUSBO`z(53B2skVCt+NYUsQ zju`mTlW4@imm0*%Q`OT{u)7&DM|U=>m+CSz=_#EYfBq3Y(HaoezT}`iAUH4xk8d56 zFS$I7iGGmG^dw;iMo2Zts#zVC8MRb*H7P4}xbM&iyk~iGiB=`y4P}uOsApag_(jzo zkwFop^98VbM9RYmnYF8QhAE1|mn^*(>ATIWl{)E{Fi9k8PP#nYBVs1R^f=S}xE^Dki|T1Zz1nG)v^%jj`1I!IZ4AgS6DoXY zrOq{xsP1PPV)|lFTUnWx3L8m>vTzb^_q}bE9shi>&S+;Q*TDO>@JihW794>iw>#*= z%_T&jHfrRrq3)q(%iV-Asg(7O@#XI58e!C-JmFdv@6E-!oz zG`y!Sx$*B;!sO?8-*q}MQNJD^^o%aII*+$~{yMv`*be$f`hAa7+wf8Hf#`T!`+Y6y zRXfo)*X-P+op#oGJIx;`@@+GToApfX#OH3-@N?&?`1@P+kJ@VP8$VmGAF{2+viNN; z=p{b=gK65W-+-wHX2TwxU*`9XuzG9T^7{r%^ZS0W)%N>+1E<;T{nKp!5;> z+F5?9cd8Ab&wq;@th1B-)ld|88ye_hKG>skN)AM)*?GQ`YLFcnZ~I3=S&Qr>zweY< zVz&Eq-&u3bUR@Zd1GBK-_mP>jSLgI`os6_2ko`zoftzXU zW~ANzesFUOx$*n`zOJ|1 z@duCSt--WHI8S2GYVr`-ylC=&(phH6IUO*=PU%6NF6rFfrsFe*kLmo{SqXvop;P*X z9DS#$IIVN>Z=NRi6P=Va7J3PVJItvwI*Weu*_ebsZp6$+L%*SLr#AYG&Pm!N>F1T% z@-Lm0I~5Lm4AVuzuX)?H&zh32b+$SAR~;zq1E(bnT1{~`=L?jeV0K=en_6u0zk*t! z(O`d@(KvULZhpznWOviGL_gy^eqyel0vazPqp|L0b(`zk-Oc%yS$sj~YYS@=xikoMEz)Hni=xDeh*Sncb?hlkoN#!}tVq_;1wkiSbu} z=wL$c!XCZXvTiQ?L97!+*R{!(^wlEk5^4`v=~wv}OGek(JAPbwC?NNS$zPzeuGtkkolqj$16z~T^#w@gZ+l@0f1 z9aa5&Hv7AnHM2%5i=SC^G}{ub4Coysda>xwVmOP@EGDy<&Z3${jKwMvQCxamt1MVd zy_E9I#K$EF`vJ!iRjhR=eSl&ZpcTAwHRCg-^BxhrX$|8s!CN}8pU^tSkBFa>pr4@5 zo1KYPivF03be@IJEN%z&>&PO9MRyi`NJLIcGq-MHuiuE*;jA@^#Y7gK(ZeUTtVk(PAS!^U>8iQ7*X@w{fhi(SzW2>sq zxujB17-u+@U}Z#(P%lhXJC0sXpEaY~TN&lJ)Qnc?s_Ek8^tXVg!rt-DYeLU9TzV02 z*va}YAPC`)<^Z^xf;Y`b#}+sQ7f=jCgmB72-1`)V6uy;0+&hSec(LGBD;!L!^%N^L z$dq=lGOn)>x_FgC#9cy95Zt>Y2~xjC9FD?pG$tBN8y&Lwlk_57;R*{<@eIJkP`M1yh>_% zmEgGY0u^K#>*Mqu45J12zHUJrzrR5J(Blp!)g2VW_xOybs`^C^LDPj;K;_a)NtD!z zdHp`t>LJ8jV2YI*#(1GB zma^9fF;WbQr3F(3A7xrn;WRTv=&HvYBGw9x>yu$V&O*kUWVg)|+&kkQO_mE@vy$~U zAP8X{WmAIR2ctXhv?ru@3*H!YFsVMK7+wIAnSO&r1ivjo>&iI}@uNhmh3F{0Q%Bl6 z@`)O_3Mb+r=^e|(4CksL?wu@zRJ!0bk2<9JKE=@81+S7b+Caf^?lJf=iD_0!$#7Bf zPOC+|QLga|4w>Ot4u*;5a2mA#Ore`*I0S!4F+X=>8S@r1-cH&-Ci<1tjGqzx6@q(T zqan4HvWaXJ+WpT}ftbB&&O<4pZweiI!XaXd(D*3{mcsch<0k~aAb6gf7}p7&ET`Ja zxvc-F;1R)VRxy6R;P`1p3M`(mypxqOrMDDp~$yW6F<>jn3INrIN!1^2!>LVS;l%eCeK1R=a4c&x~wG)|Pl@CM<^BxYDC z(bKMR%pr0H#qiG_!RsGp{P%)?F1UAkA5z~4?wxRp_(fNLqJv4*D1~U(p7vRps*y9X zdtpswLU{)t(J))^=9?T$s@Eunub|AF2;AZJCQ&|Aw7g&Aq2d_9y>kH&zX$LXE21jp zAp$WBv&mg_k(d=PaS&CXPz*mP6x_Q63{uaEyMinF{Z7&MPU}Q{{D(80*Ooe%RJ$mK z8CHxJD)$e3U4(d747`&Lkothi8~H|P??OFDCz`cc(Bohvi4PPxQGqsvYXuKUPkdYO zn*^^caR~WLaQy8v7Q1*K<2MU_x9dkP84Co*C6hqEOgZAnz3k2tgQ{Na=(rdx6FeqI z&N#u>P(4bX5!$;r8)|HK@!k#@yhSnG$&lHU!$Q{=GF>P1JAzlvW89HGdQR}x*^KuT z{eKAFu!He5!OwH)z5_Z052jc4sf1*1wFbFvPZYCcvn>ann2y0E7#r0)$c-9lVpcKP zAp=}w7(<@mdCMJ2kEIyCc_(*~a-kc$F}+ymF{UIJj+dFF1tS2McQh)>tuL{1z9_GE z^LUVPw*|Hc9vaB_5z*f*xFctc(SpA$xOYktQim9iD(}Q1B>pT0-objr-x0k2SqGB} zr%Yk^Q1C|CRc-~o5WJ?RLwbJE|5k9G+zdz87^2~cU-m-tUN&&McF43`1((Y%Lf6Pu zc88b^6x=%j4XF`q_Jwqb72#4bVDT&0>^g@4TuKVVEHW!!Aawmh4#ABSE45VcCh33= zi`i3xd*7&`$p&&~oU5%s)cZ0DxfjL8dCtM4a)(6@30@=j4Y(8vhU0>VZgePJO0iNc zg2(nTo-OzV!7Eum%Kw-JG7#ea-X#6kz01OJ96S!Zv%S$*7r`5LIha)V**t~;uAik2 zrH4sDhYMbFFXK2-1zwuKrxxaL9vlG^OnyF$V@wyd=5?&rAGIJ<6Rnq#n6g&1ygyt+ ztvc7b*1;tFql|>wBX~?IH-cdm7d*7cA!MoGM=6`~_g#0lGL4^8VrT&z@29RjrF`bP zyTu{Bg%rc&Xs#RFO;S_B8&M+ig-$WsI>X&|j?kf%Ovi*S6x_QQC{ou8uF4!tsz!?8 zZ&HFcmN|sLU<8G+l#QOsVhM@JdQo<+aY(61T5Jc?FAE*2XZmYW!f~LIE>Pr?Lg!U7 zeMqd&3GSWPf|majyg^!^ueihCiqpyVMfO8|1Gs=W4B5c@DiQ@O`j99Y4p%L-si|d~ z3h^~c@VsG+2X&6=U(tGin*zW9E@SC;o>2y;u#L7(Fb%Kkr z>jaa>vrY3UogS|lVij0cXQ=skSkU#PW929PRK=~8kj`MoQUI;x42HWgI10f|`xyLB z5`$|H4B@IQ5N_)yJ`tSs6@z(Ne3n`HonoyFX6AF5;GC}}nc-#DHAx#&EW*yFif7PI Os_M#MrR!vX)$YG&a6eoC diff --git a/minirt.h b/minirt.h index e75fb27..7a25212 100644 --- a/minirt.h +++ b/minirt.h @@ -6,7 +6,7 @@ /* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/07/31 15:37:19 by tvasilev ### ########.fr */ +/* Updated: 2023/08/01 16:40:14 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -247,6 +247,10 @@ float sp_calc_hit_point(float discriminant, float a, float b); int intersect_plane(t_scene *scene, t_ray ray, float *t, int i); bool pl_hit(t_shape *shape, t_ray r, t_hit_record *rec); +/* CYLINDER */ +int intersect_cylinder(t_scene *scene, t_ray ray, float *t, int i); +bool cy_hit(t_shape *shape, t_ray r, t_hit_record *rec); + /* ERROR HANDLING*/ t_err ft_error(char *msg, char *arg, int err_code, t_scene *scene); t_err ft_warning(char *msg, char *arg, int err_code); diff --git a/parse.o b/parse.o index 7fc1dea1205cce536bacbf0100c32ed2c8cf523f..6e22f073f0042221656f47d5f4ec1c6781ffade8 100644 GIT binary patch delta 5296 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 diff --git a/parse_util.o b/parse_util.o index f100891811d3c6bbc233ed843184068121b947b3..9dd9b084a2beb25f75286399015ad7cc9753705e 100644 GIT binary patch delta 1084 zcmZ|N&ubGw6bJA(o22f#O`5nQn@v*F{4$LPp&&GBZESnc*dDYXy;w=KAczQ6L=a4k zh!;WHzKc*0dJ`2P<{wBQ_| z#j#pW=rad|%Xip3;>kKiYs@J)0FDQ=aJ$niS^$v{6sosLAn^aN z-94-~V9UHFJUHKLJMZXSWfOGC(k}~YpKvp3J1y4T)FU@3bN+@R zW;;8IHaP#n5z<}!B|3BCoJ}l~h7>)+If5&sIZmBZ<@r=cu}OMT(NnB*_?>h?(Mzn0 zm>9I3ilTQ}@8fCGhl;MVKEo<$L(!M4@3BVul~ulPA6@%cf8uA-KK_k5dWhAFfxWg9 zRrDNd4kt(tcBw2|yi*<*Nv9M|az2jhq;p*=Pc_3UU&c++8;Y*6R#3!k=boYuSXXg` z^pT>gtWWFZcwE!;A-t2Qh-DPX*J26ZBu9Y2RUV=^-?Hn5t>{syt%fQ+wO58h*DzMZ%GcDFP8Xm&Y+ znN}8k2M53kdxD4T!*?}Yob3W&$?yk4befWunx)l=l3T@XD6YO%gG zv@80N)>*%a_RpIa9iY)Yt_sMP(nWou_o5M+V$F#5d;4#4KUG-^hOS8OG(BKFV(4?x zd0J&XZRkVM8e!a3ONQPSy-s=7hM~)%_o)(h@k#qaJZ@QE;&eB03G1ZBU*Q>AA20Y% z^!{*w7A2Ae%+axA5glss`kK1QqV+vUQ;9Lkr83rLkjkk^?rx@v*r6`3??|PKdfRe( K5}#2sz4sU8UV^{? diff --git a/plane.c b/plane.c index 162c18a..d9833f1 100644 --- a/plane.c +++ b/plane.c @@ -6,7 +6,7 @@ /* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/07 23:25:30 by tfregni #+# #+# */ -/* Updated: 2023/07/31 20:20:05 by tvasilev ### ########.fr */ +/* Updated: 2023/08/01 16:40:16 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -55,12 +55,10 @@ int intersect_plane(t_scene *scene, t_ray ray, float *t, int i) t_vector l0 = ray.origin; t_vector l = ray.direction; float denom = vect_dot(n, l); - printf("Hello\n"); if (denom > 1e-6) { t_vector p0l0 = vect_sub(p0, l0); *t = vect_dot(p0l0, n) / denom; - printf("Plane intersect\n"); return (*t >= 0); } return (0); diff --git a/plane.o b/plane.o index cd75993b037ac68118fed5e4d673eb0fed3f9e96..c50e918578817017497c9ae5d966f6b177be67a5 100644 GIT binary patch delta 5126 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 delta 3790 zcmZ9Pdu&ui6o+TFT)N$*-CMWq-3ujYwRE@TVOQGl5N%75W&?>dPsL__A38)Yo1%a4oDKGKWCPaA)KB-2qf{77D8iElp;5l>8g>ok8>^Z;h%$d1o z=FV={HXU5rng|@M=qQg5Oo!v{1h?8%Dq5)mPDal7@V((wRH?kE&d3Q{kOr|Td?!i zb()qKAwO~h5q9uHR(<3Sn#+nurcqA25k`h8^;K9HT0Y1!HBc%uX4&v-XxLr1S7PCX z+X}OA6{e3ud3cIG1S`Tb(w7ih*Exqikw^24)%sv28Pjp2^kHS}V`Lu*8v6>_N9}xy z888s-V?k}4dUB2@Jcph{e^sHCJqzQlN3f%&=V1^{G97cpl{!kv8of!3{g5{aZJVBH zn+cD?vO#0U7g(qK9IH)^pnk?+s+3;or7*Lu8lbF3F2Am@BG5aiAU%N=_o^3VMzqGv zXfvX%P+6;KUDyIKdn(3SGtDG8sLL3q^iF3n<=CZSHF}pB`y2VYy_~tI=slkOFxh)? zS14a2IUh}}G0unN?4M=qAwjf1rdXvelKsgNW7~L=^{2~>ZC3XgjZ*4;iurt>vM$2$ z?1FLhK*0iU4tk)V6H`{9iNv^ev*@wD|6>@GB20+Aoliu^%c0j@nlnzGNJZ)M*+bY<4% zO!zjZyq?lpr5Hy|kFtlO>DJJ=dg@G?nS{-84QP8RI=6PI+@4GRVt61jIYgxj#cGtb z7haFl)m@`u*!0~tT@x;CwU_lNlC2?pcj&}mTE&o&=nwFERY(!ROlZxEcTTkDWOTMi z9ZiR;b5GvRuwK;pc+pI)|Ag*h$Gu7qh%JPFbV=Qd$*5V-hct^lpUz=F4~p+}+?b$? z_^pgX1JVghX#%XDI!bxH`W=Ux|~tAZR|*8$#d3GlqDF{p#&t zJr^2=VfFl58F!g>`~=fdScf#(Z!8_&5~fwqG0aKV2>K+`N&R#>pZ*zpu%AxZ_Hg|4 zemcc3VSgciQW&l6EXS|(bf_=Qbz4M?U#m7~E_K|^f>v{_I-wou7lQid`x`h}>ZE>W z>esD`$Nnqy7rE{?gg%e`ASC0Co5x=&ezwh=tq2w%9U1070IP*N{M*66r z>v?Pw^dVg(XcN;GC{8%KmDZ-;f`)|SZWEDfIC2-PL)sfi8EFErQNw+9vcQ>zg21?xeO0x}WK8p&w_xTj+(nwqx{MZjYcp@Tfna59jI= zw2s#~mtYis>*Y9`5KQ)Q)iUeb9lCDG^!6k#nFI=^{a& zVcG<_BOG_RpmUk7rTp&8g8D1m0L?i2yEJ=xw}|&?{kqWC zvmWxk+tWA8w~;{+f9d;W&E_qv6}o@rHwfK7rVE7b{rn<6ncmkxu$;LH)DVA@uV+YM;>0vfd?hf0m;{|C!@YdHNGK>w1R4IWeG@ z^~*w!a=r8U$CbYi<5?di^wQ40QHuk*2xceKdRk{svR>=?P&|4})|dR^RKWuDHVpM% zmjtw<_aFTyiS23V9X&=b1-G&~us#oTvH+G +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/26 21:31:05 by tfregni #+# #+# */ -/* Updated: 2023/07/31 16:11:24 by tvasilev ### ########.fr */ +/* Updated: 2023/08/01 16:40:33 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -92,6 +92,10 @@ int validate_cylinder(t_scene *scene, char **el) return (ft_warning("invalid argument", \ NULL, INVALID_ELEMENT)); } + shape.type = ft_strdup("cylinder"); + shape.intersect = intersect_cylinder; + shape.hit = cy_hit; + shape.color = convert_color(shape.trgb); scene->shape[i] = shape; return (SUCCESS); } diff --git a/populate_solid.o b/populate_solid.o index 13e67dca26dabf43b1115722ab5988da728cdaab..70de473dd34dcf499c1ec998b59f4b916cafaac0 100644 GIT binary patch delta 4916 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 Z*F$`=Uc6bnV`A&0yIX9l8~@dc{1-f_w738O diff --git a/render.o b/render.o index 3cdbbe9afbc0db9ea317c36a7d79a55bec82cd30..24de8c5c7541ad295116551dedd45cd159505844 100644 GIT binary patch delta 16 YcmbR7fpNwM#tk)wjQ=;+8qRhD07Uo)vH$=8 delta 16 YcmbR7fpNwM#tk)wjK4S68qRhD07T#it^fc4 diff --git a/sphere.o b/sphere.o index bbd2f131ceb255378b3739bbf29031a8d6c94dca..f658638be8b7e73dbd43fdac71cf9283e553f39e 100644 GIT binary patch delta 4775 zcmbVPdvKK16~Fh}C65J?T}Zk4pdnclNFt9!29rQ_S=__~BxDn4QGyto*z&MV6eLaUJ{T`JBL}-b+9Ty4e8*~#d5OPTIkXw$ZNkk4Zwqb` zm&eS;Kk<(yLr+>(qAc|TE4^0;5zh2K-=CQ6^Ld=@!&EDlTIxn-nY`Evw49w=kwi7Jz4iBu1|hXruLzQ z5Q8xE#fh=d7{p(7y>1}6$CZzed>lWdx|l-ze32s;;@*3*(vkl~N~a!l3o${i#EFp; zWP|5p*&qTVa4eWVDHSJ0FGu6B6oGHUXz&~3C^g64n%o2%r#%rPV47C89-^uxZK-}4 zG`xCsNlc+J#V6}{lCKJyvs<{QuVYLXU$T9}0bI_;MwC}dCwy*8m>Z3_^oBVH905pQ3oq=+K$ zNs>O6(2AGdbPP|t-HUbg!`SJ$6Czl*tVbw<(>AMh7kp`Yu#SevEq5ywS_DahmW7u^ ze#Md6Y4C2;yq#|3E!b5oJ?gdpcZ1pw!O`hU=TqK#g{dVk`kb+%GGK402tN4$mtZ@W z0E%X)$z0-or^J}>cFRc^vx9~iS+(66+N}`&|G6>CN{+(1&|Le6%xyAsTA@3%OKwbr7hUw& zLrfmxyQv*DLUClRd=cUi1s##Jz^4YkANnFHc9E?!oqK-c7#}b`#lTDW*fR~h09!z7 zo`HYDej*0WXS;1Xq9{4=eK zuAgiHh$35@#8MXHxf~0i4cSU&by4)=Wes#A+ib8o9Jd38klk;vFERUL2rN}q$CBbw zeV*pHzcFxN{2c>-h4Bxe1-)G}*kX<~hTlXecgpS@Tcs!A6#WhS(8_{=r7D(fuzEme z8n~|H?MXOAS;*1vNWz`p4vt=K;Okkx&czG=^FY$K@PQ-)3eds^4?+B1Ww$V^n-u29 z-E+`~Y?r~l&1?^h+^b@58th`e(SJyaNJswxAAQuof690oRT!5Zvg3@~2JXJI3o+fr z;hANDSdpQl%ev6ObsH)Sd(6&t3uO_inTb*w&3{)%ojKS)x&x2g9?6(b8=l(tv zBb&;vp`=7{@8DkB(17ergWbk#5yX+blUbeP06$cgK_9Z~4fX_AU<-^O`(1;rVcUHW ztWov>ljX~L7NW>rFxcJ9UV*k66}!$XWkj`lkNXnfw_lA9Gd|70M;V`E;QC=*X5ji& zF5==hU&R_W&}Hi9<9-#wQDtvTaz_o=&1KpQEy(UPY#aG9oq{f8&l~K^%>D@mqAKwB zB+pcc&md5%f*u|$#c$iX9C~P`L2<2$%{JHoTa_BP9>fUaI>$V6i>ubqkFuXNNjPPF zC%3=B#i67&U^ge}(D|?N@7}jyq*hhM3|61;c>{lxBkoJWDdLYf;(mzMDf@5|OR)~( zhgJgGkUeg&`l|mLx{-a|VE4GD;sOlSsj5FGu@twAyPwYgl<0~*!rfY6;On@O%OSi% z+4TndKC|nf1=+_9b{6~G30*5xL8rm?Gy5~f^(1^DF|^`{#}Z$L-K)0A(nR3CXQVs} z`|dAE&tB-}_D^^hcc0I2cbmapT_PWY=<1Ms3F7$O2?MJ`mVYHosJ~0LL$p35hap}c OBB#GcXcz)(X8s!^!43@o delta 4818 zcmbVQeQ;FO6@T~b1~y9qSqQm2a0yEYB!TduwMoRXEQBSg5V8poLJ*7%T4k`wq%(&4 zu|(9;G739KphG*w6j46LLb?@0j6h0fB>0u!jHazjVQ7&K1BBX2k%~R{y>sz#^snBT zeL45{J0JI)d+vP?PIroqPO&*p6esfkDEiwkZ55&)o;B-5Uh-2js3s}iRXADgZNf?N zR7xTKNn9EY2Ys2zlED|u)DFWiBEvFXIG!x@`#tvb!C@I2k0)oRf9@9@P&DdXMVj9* z2BV%a3I)F>aX{o~WU3ZQP#EG#95qT&NK?v-P)J{ zyMAcP)k=P=(U$GNhY#5DWuWV!9FV z!fg{;3T_~67tfzg!bmNQLjj%kipeMp9SMgg$T{SHz)=42OuZzOeuu|Sz?l)k+oX3Kgg%MDFb?co%%MU~J9kw?SCBO{imnYm#-Y|0I? z5^vZJUAgzfRWf=+REdA#znL4>T4m-JD=4pZl$XoqNfqF!fPIZnroDD0G1GOXo$0rv zwN4lryN06aLW=FozHP$m zvhWv&`mhuiVQqMt^&8@T%ygQeJG@Cel#I>(*kgS{}DP1Y5psiHGOQpWR zRmPu$zET-FN7lpWrqI^6)AGhZXr8ntG4?W96+;Z!Fk`<*?0jgQCq*^1MWtwfcGO(W zH0w#TS!r5v##Rx#(O$zg#?}$L8zNC@?Pu)M#J&MdQ5iVK*eYm^N;nYp1^&XA$DtjW z>GOQ?|1jol@;FJgG7eoSy-Bw-yqok(82%>V5r*$2e4&HGqWP)ucEWzZbaQBTo?-Y$ zr2itrb&tHv@GSDPkKw5fUSK2{@iz)^gyH8vl*#x-Vn1eVJ|12*&N5uL(Z3ijXj#`8 zevSNl=>4F#fa1covViq((iy{au0nU2gn=?&c`;-1DcVwoR}$XD@Vg0bfk?Tuo@1;< z$1DL&w5oz;WecHo(s=J-_O$8`W!rdvrCtd!6(dM4;h?x z;p!S%N%|KU{uOQI=M2}^Sqi<9mD&gc-&3zsfLus?Us_X%Ry(KGt3JKdxEs2Wjoo5w z7#oRgfGfy8!`LTii3teZBjdkj>^sEnc12W)wUW<641a;}6Aa%*_-W>Ufc#%_@UJU9 zg@|h|M=I5K$lXvQKo&^rUdHM+SOtB^wi4@XIe=6a3zE) zWO*H9cTxBU8QxD;O$^^k`cFb@g|s#@b|!7!R%ow~@$HP&sqSI8&h+;#Ty@+D^48(P z-5qz#g)4pM)88=OcJQxDsY~+_8R)*)O!xV9=IFcB5$W_@t7sLVmhdsqwn$nN7~4kd z4Cq5P!q^MMt^iSqA0EW&m3Zm;S_d3KU_Xlj#nv{uNZy|4S;V{izUL(7miE)i={w#Ay(9MXCRs=*$`+QdcA% yfVFjD^JkNxerXo;*5!%Ka1DX;i{Y;2vqTH5T^<%k;n4E1^85ut{ZMk>r2hf`G7I1U From d056ca0071d21de334227e01ab26f885e68d5013 Mon Sep 17 00:00:00 2001 From: Tsvetoslav Vasilev Date: Thu, 3 Aug 2023 11:55:18 +0200 Subject: [PATCH 33/67] infinite cylinder --- cylinder.c | 19 ++++++++++++------- cylinder.o | Bin 15832 -> 15784 bytes minirt | Bin 148184 -> 148176 bytes plane.rt | 2 +- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/cylinder.c b/cylinder.c index a0f2406..a4ebb47 100644 --- a/cylinder.c +++ b/cylinder.c @@ -6,7 +6,7 @@ /* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/08/01 16:18:37 by tvasilev #+# #+# */ -/* Updated: 2023/08/01 16:47:03 by tvasilev ### ########.fr */ +/* Updated: 2023/08/03 11:48:03 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -41,10 +41,8 @@ bool cy_hit_record(double t, t_shape *shape, t_hit_record *rec, t_ray ray) rec->p = ray_at(ray, t); rec->normal = shape->rotation; rec->color = shape->color; - printf("It HIT !!!\n"); return (true); } - printf("It did not ???\n"); return (false); } @@ -53,15 +51,22 @@ bool cy_hit(t_shape *shape, t_ray r, t_hit_record *rec) double a; double b; double c; + double t1,t2,t; double discriminant; t_vector X; + r.direction = vect_cross(r.direction, shape->rotation); X = vect_sub(r.origin, shape->cy.center); - a = vect_dot(r.direction, r.direction) - (vect_dot(r.direction, shape->rotation)*vect_dot(r.direction, shape->cy.rotation)); - b = 2*(vect_dot(r.direction, X) - (vect_dot(r.direction, shape->rotation))*(vect_dot(X, shape->rotation))); - c = vect_dot(X, X) - (vect_dot(X, shape->rotation)*vect_dot(X, shape->rotation)) - shape->cy.diameter; + a = vect_dot(r.direction, r.direction); + b = 2 * vect_dot(r.direction, vect_cross(X, shape->rotation)); + c = vect_dot(vect_cross(X, shape->rotation), vect_cross(X, shape->rotation)) - ((shape->cy.diameter / 2) * (shape->cy.diameter / 2)); discriminant = b * b - 4 * a * c; if (discriminant < 0) return (false); - return (cy_hit_record((-b - sqrt(discriminant)) / (2.0 * a), shape, rec, r)); + t1 = (-b - sqrt(discriminant)) / (2.0 * a); + t2 = (-b + sqrt(discriminant)) / (2.0 * a); + if (t2 < 0) + return (false); + t = t1 > 0 ? t1 : t2; + return (cy_hit_record(t, shape, rec, r)); } \ No newline at end of file diff --git a/cylinder.o b/cylinder.o index d4715126773eb04275cd7cf5cb7b2a47b7a991db..f3f60f40c6dd3b00dcb26d2520ec9ce31b05b831 100644 GIT binary patch delta 4444 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 diff --git a/plane.rt b/plane.rt index 3bf4f41..6b5cac6 100644 --- a/plane.rt +++ b/plane.rt @@ -5,5 +5,5 @@ L 1,-2,-1 0.8 # pl 0,0,1 -1,-0.1,0.1 0,255,0 # sp 1,0,0 0.8 0,255,0 # sp 0,0,0 0.8 0,255,0 -cy 0,0,0 0.0,0.0,1.0 14.2 21.42 10,0,255 +cy -5,0,-10 -0.2,0.0,1.0 4.2 1 10,0,255 From 29623e83cd8f37a3b7ecc30a4e710eb50dec6b54 Mon Sep 17 00:00:00 2001 From: Tsvetoslav Vasilev Date: Fri, 4 Aug 2023 16:54:03 +0200 Subject: [PATCH 34/67] finite cylinders rotation testing (miserable fail) --- cylinder.c | 33 ++++++++++++++++++++++++++------- cylinder.o | Bin 15784 -> 18584 bytes event_handler.c | 34 ++++++++++++++++++++++++++-------- event_handler.o | Bin 13312 -> 13568 bytes minirt | Bin 148176 -> 149208 bytes plane.rt | 3 ++- 6 files changed, 54 insertions(+), 16 deletions(-) diff --git a/cylinder.c b/cylinder.c index a4ebb47..3f1d63e 100644 --- a/cylinder.c +++ b/cylinder.c @@ -6,7 +6,7 @@ /* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/08/01 16:18:37 by tvasilev #+# #+# */ -/* Updated: 2023/08/03 11:48:03 by tvasilev ### ########.fr */ +/* Updated: 2023/08/04 16:39:13 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -33,13 +33,13 @@ int intersect_cylinder(t_scene *scene, t_ray ray, float *t, int i) return (t >= 0); } -bool cy_hit_record(double t, t_shape *shape, t_hit_record *rec, t_ray ray) +bool cy_hit_record(double t, t_shape *shape, t_hit_record *rec, t_ray ray, double m) { if (t > 0.000001f && t < rec->t) { rec->t = t; rec->p = ray_at(ray, t); - rec->normal = shape->rotation; + rec->normal = vect_norm(vect_sub( rec->p, vect_sub(shape->cy.center, vect_mult(shape->rotation, m)))); rec->color = shape->color; return (true); } @@ -51,22 +51,41 @@ bool cy_hit(t_shape *shape, t_ray r, t_hit_record *rec) double a; double b; double c; - double t1,t2,t; + double t1,t2,t, m1, m2, m; double discriminant; + t_vector olddir; t_vector X; + r.direction = vect_norm(r.direction); + olddir = r.direction; r.direction = vect_cross(r.direction, shape->rotation); X = vect_sub(r.origin, shape->cy.center); a = vect_dot(r.direction, r.direction); b = 2 * vect_dot(r.direction, vect_cross(X, shape->rotation)); c = vect_dot(vect_cross(X, shape->rotation), vect_cross(X, shape->rotation)) - ((shape->cy.diameter / 2) * (shape->cy.diameter / 2)); + //? maybe normalize the r direction first + // a = (vect_dot(r.direction, r.direction) - (vect_dot(r.direction, shape->rotation)* vect_dot(r.direction, shape->rotation))); + // b = 2*((vect_dot(r.direction, X) - ((vect_dot(r.direction, shape->rotation)*(vect_dot(X, shape->rotation)))))); + // c = vect_dot(X, X) - (vect_dot(X, shape->rotation) * vect_dot(X, shape->rotation) - ((shape->cy.diameter/2)*(shape->cy.diameter/2))); discriminant = b * b - 4 * a * c; if (discriminant < 0) return (false); t1 = (-b - sqrt(discriminant)) / (2.0 * a); t2 = (-b + sqrt(discriminant)) / (2.0 * a); - if (t2 < 0) + m1 = vect_dot(olddir, shape->rotation) * t1 + vect_dot(X, shape->rotation); + m2 = vect_dot(olddir, shape->rotation) * t2 + vect_dot(X, shape->rotation); + + if (t1 > 0 && m1 >= 0 && m1 <= shape->cy.height) + { + t = t1; + m = m1; + } + else if (t2 > 0 && m2 >= 0 && m2 <= shape->cy.height) + { + t = t2; + m = m2; + } + else return (false); - t = t1 > 0 ? t1 : t2; - return (cy_hit_record(t, shape, rec, r)); + return (cy_hit_record(t, shape, rec, r, m)); } \ No newline at end of file diff --git a/cylinder.o b/cylinder.o index f3f60f40c6dd3b00dcb26d2520ec9ce31b05b831..74c6a5ac7757f8a15b5c3c3df320fdb2289e9a69 100644 GIT binary patch literal 18584 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 literal 15784 zcmchd4Rlo1wSdo^n|m`RkeN&f4F7|UFsMutKpI~K5(qGaR8a^7L?@GECYi-#W}LYR zpj9#CDHKt7+G<}_M4!~>(^vHQSBf~eEtgoUMaz5jcRhtxeXA~gd!Mtyrmv3aael9aKo+Jaoi#X43An$7jARz$A- zXeXd;uPxp7S!COvpTg?*@GG)?O9+fb+Fyty-#^AdQ^*_H))WkRyhR~Tc|*`2+1?)< zz^ZKxL9Zv&AKV88PkB)=vg5nKjbx@jxRq2|J>G`kM$hzy;BstvlrY%q4<6wy(I&SA zHhA-s*iWtWWqVVog*<2oMQj(OA#cHuvw7X$(R@uqu&(`1IbHWo^hoJ}0E$%t^zwQVb0o*nT1&Tm71;sNh9$JH+T(S5yvt$Lwgf!o>w@sL61GwK2)=!)xm!3jb&+igL8&2F z?J3unZeI*rU}31<<6R6pV4)v`>jt17$ZvcJa$t3y@@32SX^}05BjDztngJ=P{;n1W zKmf)iwtr;%60nX-+PkE%zq;@o;OhZ4Y6}$P7SEE8{lU%9b7Wh85LMCDtfyS4Mz$}6 zLxWq??Jct0HV9`%-Cr<>tC(Ax&X=jMPv)d6L!23FVa~+4u}}_Yp&Sk#K71^&MIcak zRvid_0`A*m!86qE18Z!*hYSR72U`k{h5^rXaR|b&zgf?Cc2UpYu*E>3MSl=y-1Ze~ zY+uo+7${5{_JU*OJ;74HouAaOE?45g=3NGRY0XH`VURxyyXzp11@wLeI|)ACGqDcj zcj0pkcGf$vo1i{?*mM0>oW9j>!iM@SfMd|;P<{q{ALg427y7>i?}OI7YcM5Bps)^i z0XhKoUIBX_L-YU6Pv;&vKv86rNT@U4^9alzxl`pRLgt&4@wuMj&Yq-G^jvam==!VGg(c#6= z4~3=M7Q;U8=M{L~EZx4u3k>&qF&g)Shg$}?OWy4`^9iJN_67VC@^Kp6jEcXf+VJn8hwxL!?g>Rke z+>}EzDc(&;XB!5XEd0sV>nIoz(jlt)gRRo0s=Py0U)w4%jRG;k4oFOGwVbN%DX2*C z4}^-?NiDWpmOd>g4ri;^R%w>v|Jdjw@<0+ zD_iB1<@+L4jj{uIiq9rhZM9WS@%fy;uA-G|XO>kMdYO03__A`%2mQLj0DWei|JDU# z^|F5|{dVcJu}drFk7Z0Zm}`tcOW~j>f}+1rG-eMfnox8o7jNs+w3>=?I5gbf>(fAW z*8)FdrvYXHmxQ%Kcju4A4oeM&9gV1fn$l8qg|U$%nO?TE0t>ZJEDJ($UTGt22vgC6TXR*);)1$mU0m7$3ux3Dzo(ZQBPWf4v`PkZ27TipyZLMR^Z9d?lQNra$lq>zr zhXN*jj1Sv#u@Y7vI261Q>aQ1RVMrp<$VQ64iN z9{ngF^AR?t&U{3;glpze;Syf$%*TZMJj##5=Ecq@!1^|STE}I+$o5CL976uHRxabY zZyxC4avdyo^T{liTT%Y`MlR!eHJ^Hd%U`1YzyORNAST1loeUVGc>Q|7#%R$$PM$Hw z87sfYe^V*So6=@?EnXp&!fFgHhyrU0S`LTdgziDOkPN zVRf&tijJ8-7FM}@-|RvU|6a=~r$B_bZBz5j5~l<+ ~h(T~w6y%?lYoVilm+oi}@ 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 diff --git a/event_handler.c b/event_handler.c index 4c96e72..a595c89 100644 --- a/event_handler.c +++ b/event_handler.c @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* event_handler.c :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: tfregni +#+ +:+ +#+ */ +/* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 12:29:38 by tvasilev #+# #+# */ -/* Updated: 2023/06/14 17:33:35 by tfregni ### ########.fr */ +/* Updated: 2023/08/04 16:49:45 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -40,17 +40,35 @@ int key_handle(int keycode, t_scene *scene) else if (keycode == RIGHT) scene->camera.pos.x += CAM_PACE; else if (keycode == Q) - scene->camera.orientation.z -= ORIENT_PACE; + { + if (scene->shape[0].rotation.x < 1) + scene->shape[0].rotation.x+= 0.1; + } else if (keycode == E) - scene->camera.orientation.z += ORIENT_PACE; + { + if (scene->shape[0].rotation.x > 0) + scene->shape[0].rotation.x -= 0.1; + } else if (keycode == A) - scene->camera.orientation.y -= ORIENT_PACE; + { + if (scene->shape[0].rotation.y < 1) + scene->shape[0].rotation.y += 0.1; + } else if (keycode == D) - scene->camera.orientation.y += ORIENT_PACE; + { + if (scene->shape[0].rotation.y > 0) + scene->shape[0].rotation.y -= 0.1; + } else if (keycode == W) - scene->camera.orientation.x += ORIENT_PACE; + { + if (scene->shape[0].rotation.z < 1) + scene->shape[0].rotation.z += 0.1; + } else if (keycode == S) - scene->camera.orientation.x -= ORIENT_PACE; + { + if (scene->shape[0].rotation.z > 0) + scene->shape[0].rotation.z -= 0.1; + } else ft_printf("KeyCode: %d\n", keycode); if (keycode != ESC) diff --git a/event_handler.o b/event_handler.o index 0d11053a50a90e5e05585aad9d6a57eaa1099fbd..ee51b83dab5f6948dda1fd9a14c8cf62382519ce 100644 GIT binary patch literal 13568 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 literal 13312 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 diff --git a/minirt b/minirt index 2f9aef347ebf0573d86e61579f024228e65ee3ad..4ec04d583d1608d43d2cb7d2ac85ab67022c6dbd 100755 GIT binary patch delta 19412 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

&QKcnWrbC*+yW6MW24<3e0 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 F{s&ykwzdEO delta 17317 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 X?uxNPXEhCs9#L@$nc;{SPTl_xVJpmL diff --git a/plane.rt b/plane.rt index 6b5cac6..5eb0bac 100644 --- a/plane.rt +++ b/plane.rt @@ -5,5 +5,6 @@ L 1,-2,-1 0.8 # pl 0,0,1 -1,-0.1,0.1 0,255,0 # sp 1,0,0 0.8 0,255,0 # sp 0,0,0 0.8 0,255,0 -cy -5,0,-10 -0.2,0.0,1.0 4.2 1 10,0,255 +cy 5,-6,-30 -0.5,0.5,1.0 1 2 10,0,255 +cy 10,-6,-30 -0.2,0.3,1.0 3 12 10,100,100 From 2de01f339bdddd5956b6608cb73d74cf3b8a9b3c Mon Sep 17 00:00:00 2001 From: Tsvetoslav Vasilev Date: Mon, 7 Aug 2023 15:48:53 +0200 Subject: [PATCH 35/67] cylinder normal vector fixed --- cylinder.c | 5 +++-- cylinder.o | Bin 18584 -> 18584 bytes event_handler.c | 9 +++++---- event_handler.o | Bin 13568 -> 13800 bytes minirt | Bin 149208 -> 149200 bytes plane.rt | 8 ++++---- 6 files changed, 12 insertions(+), 10 deletions(-) diff --git a/cylinder.c b/cylinder.c index 3f1d63e..7ab7652 100644 --- a/cylinder.c +++ b/cylinder.c @@ -6,7 +6,7 @@ /* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/08/01 16:18:37 by tvasilev #+# #+# */ -/* Updated: 2023/08/04 16:39:13 by tvasilev ### ########.fr */ +/* Updated: 2023/08/07 15:44:00 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -56,7 +56,8 @@ bool cy_hit(t_shape *shape, t_ray r, t_hit_record *rec) t_vector olddir; t_vector X; - r.direction = vect_norm(r.direction); + //r.direction = vect_norm(r.direction); + shape->rotation = vect_norm(shape->rotation); olddir = r.direction; r.direction = vect_cross(r.direction, shape->rotation); X = vect_sub(r.origin, shape->cy.center); diff --git a/cylinder.o b/cylinder.o index 74c6a5ac7757f8a15b5c3c3df320fdb2289e9a69..d8972bbac2826348654bc7b44e0a155f86a74076 100644 GIT binary patch delta 426 zcmXYsJxc>Y5QcYlGUFLP?o5Ireh~Ex8YKp+R2ndl^Tfu+1F=0*`U8XwA&rP&Ok))g zEG?8niH%=XP{hVk&_Y2A!5?7Zp18&CywA)#J9AKjgBqM9s8IBr?SgHYR?#tgBDS-; zWp926eVm=DT@K&v1<$k!_NLjh;Fwm`Zh{czWYs?TFKR*H(RVMb1&f2L4CUZ(v_q~W zq8K%j)FrcVvW$0Pxe}L4amKuy21+vC2%n-XXJcf@T#VSoE9H{Ocq=M2^Op!Oyi_s= zw2rs+AA4x|Lf7afE#VStOH*YC7@tLk@kq7EV7$}zE_SKI#d9SmKm(&f6E2N3G|-&! zUbGm`)LXqgKA_qdAB4{sD47Myh9Zp9K<$i=Vox{Q!&8;fu^a=M@@d4QVg0=uQtD=W z5=Mh!S|2Mv6cx%gDCN=E-w+yxW2IyUD8Us<`qb}hw_d(Pog4e9xgeh^Mc}huOZNrW S>DL5&1&8x}22|@8#g|_(++tk- delta 364 zcmXYry-R{o6vpqlr*nE$Oi{_DLetDFOq!g^rs%drOA@udLw`gUq%~09#Yu2z6r{Hg zY)Pl=gO9?m&WvjNQpbQ9!hPI_mw$dRSfY*+YI`kaOXe|u)1 z;lyvxhvaTFhyf=>VOfb&^qW}j#pO<%aZ|1Ur5O9dr69|-7&)>WBUV^Z6k!~Q8m*4G z9eAf@8R!TH-fwnR-)cqX#=TI)W}~Nz1dMN@$at=Yo_tX3upFusVo`BBFUT{K!|fR +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 12:29:38 by tvasilev #+# #+# */ -/* Updated: 2023/08/04 16:49:45 by tvasilev ### ########.fr */ +/* Updated: 2023/08/07 15:47:30 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -46,7 +46,7 @@ int key_handle(int keycode, t_scene *scene) } else if (keycode == E) { - if (scene->shape[0].rotation.x > 0) + if (scene->shape[0].rotation.x > -1) scene->shape[0].rotation.x -= 0.1; } else if (keycode == A) @@ -56,7 +56,7 @@ int key_handle(int keycode, t_scene *scene) } else if (keycode == D) { - if (scene->shape[0].rotation.y > 0) + if (scene->shape[0].rotation.y > -1) scene->shape[0].rotation.y -= 0.1; } else if (keycode == W) @@ -66,13 +66,14 @@ int key_handle(int keycode, t_scene *scene) } else if (keycode == S) { - if (scene->shape[0].rotation.z > 0) + if (scene->shape[0].rotation.z > -1) scene->shape[0].rotation.z -= 0.1; } else ft_printf("KeyCode: %d\n", keycode); if (keycode != ESC) draw(scene); + printf("Noromal vect (%f, %f, %f)\n", scene->shape[0].rotation.x, scene->shape[0].rotation.y, scene->shape[0].rotation.z); return (0); } diff --git a/event_handler.o b/event_handler.o index ee51b83dab5f6948dda1fd9a14c8cf62382519ce..d7c23946b2897dc9d5ae5b8c5924618f34485490 100644 GIT binary patch literal 13800 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 literal 13568 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 diff --git a/minirt b/minirt index 4ec04d583d1608d43d2cb7d2ac85ab67022c6dbd..5b4fb7deabf7eb602404784e563cad066a887665 100755 GIT binary patch delta 14564 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 delta 14512 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 diff --git a/plane.rt b/plane.rt index 5eb0bac..1d6024f 100644 --- a/plane.rt +++ b/plane.rt @@ -1,10 +1,10 @@ -C 1,0,3.1 0,0,-1 60 +C 1,0,3.1 0,0,-1 55 A 0.8 127,127,127 L 1,-2,-1 0.8 -# pl 0,0,1 -0.1,1,-0.1 255,20,100 +# pl 0,10,10 -0.1,1,-0.1 255,20,100 # pl 0,0,1 -1,-0.1,0.1 0,255,0 # sp 1,0,0 0.8 0,255,0 # sp 0,0,0 0.8 0,255,0 -cy 5,-6,-30 -0.5,0.5,1.0 1 2 10,0,255 -cy 10,-6,-30 -0.2,0.3,1.0 3 12 10,100,100 + cy 0,0,-10 0,0,0.1 1 2 10,0,255 +# cy 10,-6,-30 -0.2,0.3,1.0 3 12 10,100,100 From f40ae9fe0cf6ce3324dfe5d76ccf92a8a2e7db49 Mon Sep 17 00:00:00 2001 From: Tsvetoslav Vasilev Date: Mon, 7 Aug 2023 18:11:36 +0200 Subject: [PATCH 36/67] cylinder caps --- cylinder.c | 63 +++++++++++++++++++++++++++++++++++++++++++++--- cylinder.o | Bin 18584 -> 25624 bytes event_handler.c | 3 +-- event_handler.o | Bin 13800 -> 13688 bytes minirt | Bin 149200 -> 155616 bytes vector_calcs.c | 4 +-- 6 files changed, 62 insertions(+), 8 deletions(-) diff --git a/cylinder.c b/cylinder.c index 7ab7652..c6fbc90 100644 --- a/cylinder.c +++ b/cylinder.c @@ -6,7 +6,7 @@ /* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/08/01 16:18:37 by tvasilev #+# #+# */ -/* Updated: 2023/08/07 15:44:00 by tvasilev ### ########.fr */ +/* Updated: 2023/08/07 18:11:14 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -46,6 +46,60 @@ bool cy_hit_record(double t, t_shape *shape, t_hit_record *rec, t_ray ray, doubl return (false); } +bool cy_hit_cap(t_ray r, t_hit_record *rec, t_vector Ce, t_vector N) +{ + t_shape cap; + + cap.rotation = N; + cap.pl.pos = Ce; + bool result; + result = pl_hit(&cap, r, rec); + printf("Result: %i\n", result); + return (result); +} + +bool cap(t_shape *shape, t_vector p, t_vector Ce) +{ + t_vector V; + + V = vect_sub(p, Ce); + return (vect_mag(V) <= shape->cy.diameter/2); +} + +bool hit_plane_top(t_shape *shape, t_ray r) +{ + t_vector p0 = vect_sum(shape->cy.center, vect_mult(shape->rotation, shape->cy.height)); + t_vector n = vect_inverse(vect_norm(shape->rotation)); + t_vector l0 = r.origin; + t_vector l = vect_norm(r.direction); + float denom = vect_dot(n, l); + if (denom > 1e-6) + { + t_vector p0l0 = vect_sub(p0, l0); + return (cap(shape, ray_at(r, (vect_dot(p0l0, n) / denom)),p0)); + } + return (false); +} + + +bool hit_plane_bot(t_shape *shape, t_ray r) +{ + t_vector p0 = shape->cy.center; + t_vector n = vect_norm(shape->rotation); + t_vector l0 = r.origin; + t_vector l = vect_norm(r.direction); + float denom = vect_dot(n, l); + if (denom > 1e-6) + { + t_vector p0l0 = vect_sub(p0, l0); + return (cap(shape, ray_at(r, (vect_dot(p0l0, n) / denom)),p0)); + } + return (false); +} + +//first check if it hits a plane +//limit the plane with the top_cap function + bool cy_hit(t_shape *shape, t_ray r, t_hit_record *rec) { double a; @@ -56,7 +110,10 @@ bool cy_hit(t_shape *shape, t_ray r, t_hit_record *rec) t_vector olddir; t_vector X; + t = m = 0; //r.direction = vect_norm(r.direction); + if (hit_plane_top(shape, r) || hit_plane_bot(shape, r)) + return (true); shape->rotation = vect_norm(shape->rotation); olddir = r.direction; r.direction = vect_cross(r.direction, shape->rotation); @@ -65,9 +122,6 @@ bool cy_hit(t_shape *shape, t_ray r, t_hit_record *rec) b = 2 * vect_dot(r.direction, vect_cross(X, shape->rotation)); c = vect_dot(vect_cross(X, shape->rotation), vect_cross(X, shape->rotation)) - ((shape->cy.diameter / 2) * (shape->cy.diameter / 2)); //? maybe normalize the r direction first - // a = (vect_dot(r.direction, r.direction) - (vect_dot(r.direction, shape->rotation)* vect_dot(r.direction, shape->rotation))); - // b = 2*((vect_dot(r.direction, X) - ((vect_dot(r.direction, shape->rotation)*(vect_dot(X, shape->rotation)))))); - // c = vect_dot(X, X) - (vect_dot(X, shape->rotation) * vect_dot(X, shape->rotation) - ((shape->cy.diameter/2)*(shape->cy.diameter/2))); discriminant = b * b - 4 * a * c; if (discriminant < 0) return (false); @@ -88,5 +142,6 @@ bool cy_hit(t_shape *shape, t_ray r, t_hit_record *rec) } else return (false); + //check if it hits a plane and if t is smaller than the plane hit t return (cy_hit_record(t, shape, rec, r, m)); } \ No newline at end of file diff --git a/cylinder.o b/cylinder.o index d8972bbac2826348654bc7b44e0a155f86a74076..c2d458c6c55e85a3f6974c47211b43833c215563 100644 GIT binary patch literal 25624 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 Awg3PC diff --git a/event_handler.c b/event_handler.c index 2a8c313..ddca3e8 100644 --- a/event_handler.c +++ b/event_handler.c @@ -6,7 +6,7 @@ /* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 12:29:38 by tvasilev #+# #+# */ -/* Updated: 2023/08/07 15:47:30 by tvasilev ### ########.fr */ +/* Updated: 2023/08/07 15:54:50 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -73,7 +73,6 @@ int key_handle(int keycode, t_scene *scene) ft_printf("KeyCode: %d\n", keycode); if (keycode != ESC) draw(scene); - printf("Noromal vect (%f, %f, %f)\n", scene->shape[0].rotation.x, scene->shape[0].rotation.y, scene->shape[0].rotation.z); return (0); } diff --git a/event_handler.o b/event_handler.o index d7c23946b2897dc9d5ae5b8c5924618f34485490..1616f0a17efbd95e81495562d06f704e4586a4e7 100644 GIT binary patch delta 2283 zcmb8wUuauZ7y$6|-P?Pc1WdF3ySXl1Z|am3Y|^yNI+Qla9Cp;flG%-cf-SRSD9AE# ztPpA9{Iem$hHv;FitWSH!oY<1rb40*u86w6iA-6ALIfYyDk>t*bMBwq!#z(Pxc8p( z{l0U~mvb*|>-oQ)TZzHJ%J4K?sGNN;d=v;N|GW1dAul~}HKkmm=-t%24_$bfu4WR?keYy|Zqr`bX>bJpPh4cUVG z%z2CTXjf-P-k^gB3(&UCP9_@+U6Q2JK_BhNk3rB!NQj0r^kU7~xR>_L^64|i;PGJS z8Jhex7JB~dRU|oaN+GKJ$?~istMUf%ox$_H*J9Eog;W(OAcsI9e<*4otjcdM@3Nd7 zvZBgwEx)2js=SL+eMWu0?;;GFMbY(F>D5h7)p<3 zdeQpZ?N!{=GF#okL->mJ*F4!s@dVQ#-^$CDq>UD+G@}UYp(8aI%*-O z(fi%G8A0=$<^(NsIxlFA({qAuaa!`|Rot`Jt!l-iMa*)#DrkYzs-SC}HU!<|^p>Cy zajUu`Xp+;rf-Z1s9zV@+-%*9rko`Tl+T_#_bcfSXL8Ak1%^5-SoaO{Ab2=|*jZ^0f zXGzvKxy5Non7e16Th)r7Sx#3ydIJlbRy|t8HLADm({Fgxhnw8oTOKVU47yd_5j4r^ zT|pN(b^g?|BVoP-!QlWA-uedrrI z2qDalrTvW#E8{*a^!MPqWBdKz*pVB!F*XTH2;*t#_f9-CJ`ESKJf4OqHtGFSgo(8D zb2k>Gek}EO;L{WP{jF|mwX=9-Vp3X-;};Xt{#=h0{0{x8NvRdbL#b(6W;vDi8+{ht I#EsP8e|tbr?f?J) delta 2416 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%0Dr?pwYxuD{n=N!oPy3MP|K4Hx6%;Sx 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 GE&e}tTozjZ diff --git a/vector_calcs.c b/vector_calcs.c index 94bff74..13deb04 100644 --- a/vector_calcs.c +++ b/vector_calcs.c @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* vector_calcs.c :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: tfregni +#+ +:+ +#+ */ +/* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/02 12:48:28 by tvasilev #+# #+# */ -/* Updated: 2023/06/14 11:05:38 by tfregni ### ########.fr */ +/* Updated: 2023/08/07 16:19:48 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ From f0675481d3dca1d5753226dd29327a301a11cea4 Mon Sep 17 00:00:00 2001 From: Tsvetoslav Vasilev Date: Tue, 8 Aug 2023 14:01:29 +0200 Subject: [PATCH 37/67] cylinder caps overlap somewhat fixed (some weird flickering) --- cylinder.c | 45 ++++++++++++++++++++++++++------------------- cylinder.o | Bin 25624 -> 28352 bytes event_handler.c | 14 +++++++------- event_handler.o | Bin 13688 -> 13768 bytes hittable.h | 4 ++-- minirt | Bin 155616 -> 156680 bytes plane.rt | 2 +- render.c | 2 +- 8 files changed, 37 insertions(+), 30 deletions(-) diff --git a/cylinder.c b/cylinder.c index c6fbc90..d860d8c 100644 --- a/cylinder.c +++ b/cylinder.c @@ -6,13 +6,14 @@ /* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/08/01 16:18:37 by tvasilev #+# #+# */ -/* Updated: 2023/08/07 18:11:14 by tvasilev ### ########.fr */ +/* Updated: 2023/08/08 14:01:08 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ #include "minirt.h" #include "vector_math.h" +//! not really needed I think int intersect_cylinder(t_scene *scene, t_ray ray, float *t, int i) { double a; @@ -46,27 +47,34 @@ bool cy_hit_record(double t, t_shape *shape, t_hit_record *rec, t_ray ray, doubl return (false); } -bool cy_hit_cap(t_ray r, t_hit_record *rec, t_vector Ce, t_vector N) +bool cy_hit_cap_record(double t, t_shape *shape, t_hit_record *rec, t_ray ray) { - t_shape cap; - - cap.rotation = N; - cap.pl.pos = Ce; - bool result; - result = pl_hit(&cap, r, rec); - printf("Result: %i\n", result); - return (result); + if (t > 0.000001f && t < rec->t) + { + rec->t = t; + rec->p = ray_at(ray, t); + //rec->normal = vect_norm(); + rec->color = shape->color; + return (true); + } + return (false); } -bool cap(t_shape *shape, t_vector p, t_vector Ce) +//make so it only takes the first t +bool cap(t_shape *shape, double t, t_ray ray, t_vector Ce, t_hit_record *rec) { t_vector V; + t_vector p; + p = ray_at(ray, t); V = vect_sub(p, Ce); - return (vect_mag(V) <= shape->cy.diameter/2); + if (vect_mag(V) <= shape->cy.diameter/2) + return (cy_hit_cap_record(t, shape, rec, ray)); + return (false); } -bool hit_plane_top(t_shape *shape, t_ray r) + +bool hit_plane_top(t_shape *shape, t_ray r, t_hit_record *rec) { t_vector p0 = vect_sum(shape->cy.center, vect_mult(shape->rotation, shape->cy.height)); t_vector n = vect_inverse(vect_norm(shape->rotation)); @@ -76,13 +84,13 @@ bool hit_plane_top(t_shape *shape, t_ray r) if (denom > 1e-6) { t_vector p0l0 = vect_sub(p0, l0); - return (cap(shape, ray_at(r, (vect_dot(p0l0, n) / denom)),p0)); + return (cap(shape, vect_dot(p0l0, n) / denom, r, p0, rec)); } return (false); } -bool hit_plane_bot(t_shape *shape, t_ray r) +bool hit_plane_bot(t_shape *shape, t_ray r, t_hit_record *rec) { t_vector p0 = shape->cy.center; t_vector n = vect_norm(shape->rotation); @@ -92,7 +100,7 @@ bool hit_plane_bot(t_shape *shape, t_ray r) if (denom > 1e-6) { t_vector p0l0 = vect_sub(p0, l0); - return (cap(shape, ray_at(r, (vect_dot(p0l0, n) / denom)),p0)); + return (cap(shape, vect_dot(p0l0, n) / denom, r, p0, rec)); } return (false); } @@ -112,9 +120,9 @@ bool cy_hit(t_shape *shape, t_ray r, t_hit_record *rec) t = m = 0; //r.direction = vect_norm(r.direction); - if (hit_plane_top(shape, r) || hit_plane_bot(shape, r)) - return (true); shape->rotation = vect_norm(shape->rotation); + if (hit_plane_top(shape, r, rec) || hit_plane_bot(shape, r, rec)) + return (true); olddir = r.direction; r.direction = vect_cross(r.direction, shape->rotation); X = vect_sub(r.origin, shape->cy.center); @@ -142,6 +150,5 @@ bool cy_hit(t_shape *shape, t_ray r, t_hit_record *rec) } else return (false); - //check if it hits a plane and if t is smaller than the plane hit t return (cy_hit_record(t, shape, rec, r, m)); } \ No newline at end of file diff --git a/cylinder.o b/cylinder.o index c2d458c6c55e85a3f6974c47211b43833c215563..e2efd8aeb4a22f385e45afeabb0dbf62aab4529c 100644 GIT binary patch literal 28352 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 +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 12:29:38 by tvasilev #+# #+# */ -/* Updated: 2023/08/07 15:54:50 by tvasilev ### ########.fr */ +/* Updated: 2023/08/07 18:13:04 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -42,32 +42,32 @@ int key_handle(int keycode, t_scene *scene) else if (keycode == Q) { if (scene->shape[0].rotation.x < 1) - scene->shape[0].rotation.x+= 0.1; + scene->shape[0].rotation.x+= 0.3; } else if (keycode == E) { if (scene->shape[0].rotation.x > -1) - scene->shape[0].rotation.x -= 0.1; + scene->shape[0].rotation.x -= 0.3; } else if (keycode == A) { if (scene->shape[0].rotation.y < 1) - scene->shape[0].rotation.y += 0.1; + scene->shape[0].rotation.y += 0.3; } else if (keycode == D) { if (scene->shape[0].rotation.y > -1) - scene->shape[0].rotation.y -= 0.1; + scene->shape[0].rotation.y -= 0.3; } else if (keycode == W) { if (scene->shape[0].rotation.z < 1) - scene->shape[0].rotation.z += 0.1; + scene->shape[0].rotation.z += 0.3; } else if (keycode == S) { if (scene->shape[0].rotation.z > -1) - scene->shape[0].rotation.z -= 0.1; + scene->shape[0].rotation.z -= 0.3; } else ft_printf("KeyCode: %d\n", keycode); diff --git a/event_handler.o b/event_handler.o index 1616f0a17efbd95e81495562d06f704e4586a4e7..f76df091d227dbed5ad2f1dd940f163e35e8b66c 100644 GIT binary patch delta 3950 zcmZA3Z)h8390%}R*0t&Eb&U|O*-TBlxn-NzCSB^Vn5I$?3k$Riu@i%>Fp){LBC-`0 zol~?zgDnrfn3_>xzSxWCq)fVDTt&p;40Lq}ioqfZG7Qwe6lv7w@_cXR`#dl1x%++Y zclW#J?w-5#qgS4sjTqA(>}m2w_Sf21mp!$%mc(}Q&C^c1==PTvM!ipa#kjY5VX0xZ z&FB}S0V~*LI9UxIpUS?u42l;6R&yJ)T|6WA4c}C?@=vX6@I)5g2^=zl&2`*`b+7E3 zglSnd9dkBi8&aJ|X+mn7jBNa?+EaDfC^AyFAmVf{W4%H4ev!8~qCrLA!o+Qm{I!jv8be^=T>3LGSL)H8pMt_Mk z4Rzn6Wzw9ctE5Fu*GMax*5-%*@9!Nvl5LnwoJ06TO4BfDR?{eHLDNCfvZf=XW>{6# zkFgpjO+b%8CrLA5OMDq_FGndNm4FoDV_IJ$1RJ zusbdBwmjbh6is(p!CPeH5kwy%&B>gDT`lJ06fMdeXD*#U^b~qkMFskkDpP0*$D}E!`w>_n%|f3?^ag1GI)kVe=U3+~L*IaIBQ{(meD*=%!6-(9}qlpb2Pzvu~6!cT*H>6pp`%L~yT7U+S+wA<~$%gkA>OPYpQge^0>OSQ5 zktU#S?l5Tv>Q*&DnuqSik+Y;F=)=$%(kiqQdY07Qt7<+3{fIOTJqz6+%|XvVTQ}E_ zRT26sw2QO?^8bGz0bFdhN#gvC2cYLsL-awepD)^a%6`%B@1(dE*qRZL6AJLGBsSv{dIC z>i%6VlIEm3U*#*RRL|$6McWd;*e&MQ6s;hqA2Y&Fq@iwg#Al&@kfx+Me;qTZwY5o| zSdBs!`T|BjjH;YXpD0LmuEhO|93w4vTZV7p&+ay3OP{Cv;Lyl$^wGGe_DqT6(e~!S z9<}q3I2}FajacH=*!@OS9F83@#>8AKX^e<#vE9LavJR(|UL4x(mW97JX_UpNT)rme zdXwG;pIGS~FcyV>f6|DFQMtS-=H&7>aZN7Qg+HD&R>i1Xj*Gc?(i`a!EAatiQ26_j Q{%AlQc^!jfh>5uMA9*j4_y7O^ delta 3932 zcmZA4UuauZ90%~+v`rh=ba~0rbfzY8Zr${*N!L0Zrl|9vHpM_Qn8+kr5!nih zjw!l_1|tW-KV+n^J@g^E5hj~1S`oDr z=lpW+-z-1#*NNhY^}yxbz3#zx-%;h-r>;&}Phme*&AOj+i&?j~y3$?rTO%SH2zvdN zI;z{%CoTtq;_ZOn`%kA^w`;K43>>yXy`5cM#jx#`ZI?&~gB?Apc4c`)H!iJtsRJ^y z@vkn=Zqgo6k=lodYF@>5w`{kHMlfjgRR0L>w=AEqL&1J28YgWTIz<|ea8}c#Y3Kp0)eLDKdK@}ST9JAOL^b``RbxAjC9OeULi84C3p$Ue8}sXV!*}a> z-+~U2rlGGu$4T?hE6`)473ewWNzw-NPv{$@z8yNNzY$#|O+r6H-)~5B(3{X7NK4QL z^mo!a^b16LaK-AiYD3%T8zQyu(K#p3H$j?#W}t^i3((WhENKn;9(0bh1^oc}CTV!5 z&gw(x`=n`T0J=n)hg#4Zq!nmCv_;y0J_haT(u<~7(zi=zm4pUJlh9kx9i%zvPtb=* zOVAt83~3!YiRdZPHgp)jq)2Ly=$xIW*dl2L`Xc&%Mp}S=4*j0A26e8<-$+}~0Q!2> zx1TJye|PJwoNF>nnub1%z7wQ*qwgWo3e?FeOWJ_$!N_@1-yWUS6VQ3mBs2=WK$?Rd zhF&KvK`%fzNbAt^(1D)KYt@Fn4vmr8_v)P8SpCOIGtg`3J4af8u0hX{)}YSWFO#;Q z&N^Qu4d17;TE)mKq-p5a(4R^3Q0KngAgw_A@Oy2%GWB)UfNqDTq3X8s2%oL9Iu3oB z`X-^ybK@*&4*DAUo+m9yRRQO#>ndqos(N=X>(lD`inI-N=KYS;-mCi_z?0z@(hT$k z=xx%1RP}bAN6rKIx2IR527MW4A%g7Gu1B<_s==JE%%h~?(V*q2PK^33aU}k{_%c4^ zb&cvH65`kRN%z_|aV+tu6%mVx{nkOzOr$Koh>q9n^is*RCS`%4Wm&Jmtr$uu-ViS{=OJpZf WBawg}c^NCC8udTZ`CB@OiT?xCB7{Z& diff --git a/hittable.h b/hittable.h index 56a8e0a..25754e4 100644 --- a/hittable.h +++ b/hittable.h @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* hittable.h :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: tfregni +#+ +:+ +#+ */ +/* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 17:26:52 by tfregni #+# #+# */ -/* Updated: 2023/06/17 16:15:53 by tfregni ### ########.fr */ +/* Updated: 2023/08/08 13:44:21 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/minirt b/minirt index 9754ea6de6c02f993dd107d92243f1f5c5a7dbd7..049b5c7081800da6f99f428eff2ca3c478387ad2 100755 GIT binary patch delta 20846 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 delta 18956 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 diff --git a/plane.rt b/plane.rt index 1d6024f..dc06bc3 100644 --- a/plane.rt +++ b/plane.rt @@ -6,5 +6,5 @@ L 1,-2,-1 0.8 # sp 1,0,0 0.8 0,255,0 # sp 0,0,0 0.8 0,255,0 cy 0,0,-10 0,0,0.1 1 2 10,0,255 -# cy 10,-6,-30 -0.2,0.3,1.0 3 12 10,100,100 +cy 0,0,-20 -0.2,0.3,1.0 2 1 10,100,100 diff --git a/render.c b/render.c index 838b9b0..c49ffc7 100644 --- a/render.c +++ b/render.c @@ -6,7 +6,7 @@ /* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/07/31 16:00:23 by tvasilev ### ########.fr */ +/* Updated: 2023/08/08 13:44:28 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ From 9b4a2e0bc1d1922c28eb1f749a62de22027e16ee Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Sun, 27 Aug 2023 14:12:28 +0200 Subject: [PATCH 38/67] starting to clean up --- camera.o | Bin 10056 -> 0 bytes cylinder.o | Bin 28352 -> 0 bytes event_handler.o | Bin 13768 -> 0 bytes libx.o | Bin 12704 -> 0 bytes main.o | Bin 13368 -> 0 bytes matrix_calcs.o | Bin 17912 -> 0 bytes matrix_math.h | 11 +++++++++-- minirt | Bin 156680 -> 0 bytes minirt.h | 18 +++++------------- parse.o | Bin 17784 -> 0 bytes parse_util.o | Bin 9664 -> 0 bytes plane.o | Bin 13680 -> 0 bytes populate_element.o | Bin 13824 -> 0 bytes populate_solid.o | Bin 15472 -> 0 bytes ray.o | Bin 3896 -> 0 bytes render.o | Bin 30744 -> 0 bytes circle.rt => scenes/circle.rt | 0 mult_circle.rt => scenes/mult_circle.rt | 0 orient.rt => scenes/orient.rt | 0 plane.rt => scenes/plane.rt | 0 rt_weekend.rt => scenes/rt_weekend.rt | 0 scene.rt => scenes/scene.rt | 0 sphere.o | Bin 23904 -> 0 bytes vec3.o | Bin 8672 -> 0 bytes vector_calcs.o | Bin 6320 -> 0 bytes 25 files changed, 14 insertions(+), 15 deletions(-) delete mode 100644 camera.o delete mode 100644 cylinder.o delete mode 100644 event_handler.o delete mode 100644 libx.o delete mode 100644 main.o delete mode 100644 matrix_calcs.o delete mode 100755 minirt delete mode 100644 parse.o delete mode 100644 parse_util.o delete mode 100644 plane.o delete mode 100644 populate_element.o delete mode 100644 populate_solid.o delete mode 100644 ray.o delete mode 100644 render.o rename circle.rt => scenes/circle.rt (100%) rename mult_circle.rt => scenes/mult_circle.rt (100%) rename orient.rt => scenes/orient.rt (100%) rename plane.rt => scenes/plane.rt (100%) rename rt_weekend.rt => scenes/rt_weekend.rt (100%) rename scene.rt => scenes/scene.rt (100%) delete mode 100644 sphere.o delete mode 100644 vec3.o delete mode 100644 vector_calcs.o diff --git a/camera.o b/camera.o deleted file mode 100644 index 1f34c6c17a73b49e5a693b1586cd52fca4ff9188..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10056 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 q^J|ZF;j#^XVUhJm08Zx&Tj_TkuJ5SN<7bk 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 diff --git a/libx.o b/libx.o deleted file mode 100644 index 3781b090c1d912b256eeb1f2406811dbb7f90835..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12704 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 diff --git a/main.o b/main.o deleted file mode 100644 index 4e5bd3e514cb8aaea6bca75ba963857b5fb9aaef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13368 zcmb7~3v`r4mVoQ;S30jwCn2Omcr+_2E6@p#g{UYA5KNfxOu|FNrjza@J#@Nz|Nava zW*r_GJQHygJjZcnRdB|270VH-5Xlz;LFbu)T5Vwk4j;RnwYjSeE6zfG9Xtp*D|FLOr zUen&A)1lfWENR;7YxNHMPGAbcGIb@P|1{U$)b`e^`gCDU2DVeJ59rvn}+{% z0`V&jIH)SaAKNl}-nS-RrEo5%aH3#D<)y=)Y-+f3^N8k_3TSUVw79x?_^fR858(cv zGupK0qfuJ5xuvz*y!S*l4lTo1WH-Q*rlHeb@TMVrl|LB26X(%$Pp;cTXrpP*Nz3=z zP%XuA_Q_4Bj-qUjVAnp3-_R9DU$lAnvlDett|A9@dzyw%jcs{(&T{kKes9z8IazV` zM|)1zmpu5BroAs``@v-&-f$d;Mhn-6<1}y_ogBU-gWnrZ#@Dvp6cq5+XqqXrAWK;2 zh(v=Cv%9Z1mb5a0X>Y7IWex_rBJl)RQ^`eVL$tFvJBwOboRihQY_uPwO!iby(h53* zEf&LBw2sAi7PXUX)evh~WLFJwr(Ww>0;lKB8xoSOOiL2Ewg{g}~e)s8{Bx4?MKEYIeC09=C8*qL61R zaQe`|^;ON~i>ie1qKZPzpqM|r+c0LAmx8ke_v|)=Bd~vQK#0PS!POR4VYMQ+K=tAh zdGh6o7gYtpkrFrfgw3Fme>^CutPrK;V5!ip`cPI3YR%=Cse@YOwyax-aZ;7KTLC>4 zm&M2tBXm|8~1>FqjcI$S*h;b9lEo{rVpa@+nLJvgoMmWl#dJK7T zyOh%WA}mo#KCI>_F>qeM`8%@W18^*U2oC-qVjhz5ucdgZGmJB3DBxwncpaXYApJFr zit&b5%72IQn|>Tp@iGM6c*|?Z%>QBL>~xhu_l&pU5?zef1AiVb`_1F9UY*e@ZKcsx zyJ|zq>r@-qLu0)^r?Vj-Wyv=Nr7T;xeR@vbG&3jPQ7bC^f5VLq%0|6LpHz4h8{MWF zl|}|!DuynX{~4}QE316&9xto3LD$>?RV9pa75Rhmgj%U{0Ojf?DL;hr#ML=@(uSNo zd5e^#%_%)nmNtVsbMn;h<>bG3HYZ>6)0{l*yzpa1Os-1**IBHPt_NHyeCUd+Ot~)Q za<4QY<#B%Mxz~S)s^1!eOWD8H!WYhXniKNcz@=fO+$ zvO)k0{z=6>gYwH;B>y$a$5ecuhqZ4UPfPxDlwTQ;vUK#sQ7Na8pFAo2&y$nhfaE*x6XJtt7|-}bftd>Y=Jpgn``^AdA1-``9t6{CgW*o zuHJY&XYL7`xxZKDWXzvb=A``8yqxJnb;AEmwl}kQ2*d#Px9CxjiVox9T|6KY#Xkfw zcPaQw|53! zTyq%3C6LL@g&T^eVEzWwfK*T=TijBRYq7xAVnK!KJI>#N@wreIRMtrkaTp5%^}@fM z?75~&dqG#VESK|slInq!C)?J;6n{=92*WGiaKI;{ruYlW-a%n>YrWGu{v^#Ep7SeK2Al%Aaf4FVIscsv;Ku3$Jp@zJd!|H>)x^dUp@9sD+ zM0-bH(&`I#CL+o1V1LZa#8b)O>^Y&@(Ck^WZ|sw$b470?o(y%0nq*g|rYF@K%hXu? zkxV=h>#tcF%WSn$=^A`dHLXaO6*K!Irszv%;@!zuG#F1>qP2a=lE&6nv7&KBcv(Yp zi)dJTTX=2bn)c?kjZ4L{=9b2Al#{`mxd8%GmR~cD;ig}W%Enh zSBn+Rt*znqmCb9~8$~P}GfmNDh0}dj#xlcQQPJ50ZeZ(*Vis|i8Hqx}Jpx6$&{jtuuV46

B~DB%~9ZTnhB!~ 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 A=Kufz diff --git a/matrix_calcs.o b/matrix_calcs.o deleted file mode 100644 index ffc0d27378ccaf671f16914bc6f70fbc13584b76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17912 zcmeHO3wTwmcHLdHw544(+AdbB(E31KTl&~te3mM@2)mYD{A7Rsng857cXGqm zZtJ&?uk&%w{O33S*Zlu8bLN~A?znEr#{-TdbaBL0BH7ZY5C=+=v?5EzIB=Hto;mGB zK0XSURg+J9wFggmkxD;|>k>b5%B%SSuvbyPe9Egn2J{v`kN7{TSZf{!`~-m5d;qTz zk5>g1wNH4pGh$xBn=x-Jel;h&+E@hbchSbL=HFso^}hp)0(%P>el;h6y#uTm_3JS& z=OUW|~rt;pi<-Jvs!1a8p%b(inZ-ab3FS0hX>s_4`lLWF(yDH|<*1Tdw8688(QHty#kd%u)AqO1dvEjWX2{Axb%YRmirB=syioiAg+vVXJcKTb+#%0NdR@O#J}`6QL>^=Y1_=y^a+s1#Lu{p|@Z ztqr+>HkvFT_WA>g*zfOD#H0Q$DIyIe^`{@)X1}=nscTC!AR#AjdGEh0>3vUzmFDD@ zC(2hYT!krFDsC#j^F#+WBqRVce-8v`6(Ffth&6IyB57Nt6JFI}FK4^|063&3%({c8 zsdGONOjN~{+C|BsCG{w3Dnr@4DrrS3dLk`{?2_5Vf`+-L!3CASBz?SMqZol&v5)%4 zfR^vrFUKMWuZE3fNnGWV(qpyHxTQWaAfDv&!R$%!}s7Gz|*+)ol4Deds(6l4?} zMX*)v0c9jn9o`<3d7<@4CMb1OKq}Fmt7WbaNfW$9)Bda1@=WYvXp$`LbP=MlGaZrj ze(CaHDH?L?pgoVc%zcwM$@gQj9^n0Rm)bvv**9rREbrxgleR9}H`V?*!29PewST7H zH}fEpaESIqy>C(nIivQ^0p34%sr@tEzDe1k5eFaJWOVfNFAKnJ`zA?)tzua z-3beJ$!R{!9kCc9iOkZ>(3zzUa;8+)1O75u@A4^u)*dPocMP~%N@)%+(n4aP?ZNnv z-~Z+JK|76dRsLbqN6#pfx=7HA;A|1WGfafe8fniif3Qp)|J^brv%3>1OHJbc+#T-! zV`9{yk~TtmG(fO>uBKn!rDc_8r)8E7R}-W4Lo=oHpk@BJll05dgRA+Ipt?vNvyW&l z33&~q)In|qM7PlN2n>!&Ky)a=xK=a$F4vBzH+m%*Vet#Oc0{EnFJdS|oOUXA4<|S! zA-G(Vrr`1+f;lWOmTMY}re`FuF58}%%Y9cSc)EqA4<)dna!0uD#RN~c(DaJ|WhPzl zW^&*6xOT)E+o$oIgn1cS&FtNpz9oUp84?05x02-pqIkEaznZ{Gc5C{r1U758rnQ}b z`0Z@2W`8zujk%!7Xh^wFiLM{w>^c@$pBPZL(DYQ642Yp|*IJ912L?6y&WQ6FEMS34 z63V-Urr&1CbOujy-#M;fP?Ha3p3mSJ7C4(w-Yqn}mnG8~JivXABzU@ormIHkDKRuM zpX9#Q1W&inbexVjDCz8NV*XyP(=6xN@>P`(S8$z%<)5;Zg_pTb!{X#PAIZ*jgV~V@ zld^N1F-Sz95a5_lY2H28C`hFl4{ zL*Sl3#0cUeBHVkIUy~<9R-u!$Ge4g!jdTTB80BFAqdiGy&j9WD zBA9*E$dL$3#FV-^KME+vMK3u_vSa2Ljok6jq56avn+tm*M-rnD<3@vRQ7$#+qB-7i zNO;0D@Lz#;9vK`t@+y$|Go&9AF&ZNXlcvZKjR{qctQkpDVKN1YMmxn7lRY9XAPFL- zCS6v;jFRw*30hP<8%9)R&cbpF8>RART|bS9!#fp%3r44kIGl0oAs!6${lKFKEH{1;&2I2V%}69fIELO8QL1Sc8Gxzss{f~U&`Ae@hdCOcIW z$te*E;|0O~LxRGXK8}@8PSFID;R1=X3s4u?$PmUI zxEQMlfDzKsqL+U4D$9SX|=s|&~jAUTPJy_$c@Bo?nb^FTX(7Jh)n@^_PT)s=pQCfynoWIY+ zAcaU-gefy^&>_47vqU;N#-|RjlDUrJYS)$_R<=&~uaq@7*`l>R-r2mduA#oAp{uY#6t%^=iq^Ha zHgy%nH`I4Ew=``iDr@RmA8+p{YHe<7?u^&R;!T|!>N`a&Uf0^x+SB2~@vm))*EKgbwZ)s`Qd?_xOPuh8 zNvW+xLhY?l@vz*`-Xc2NKTX~7PSM`k3{A>VyuA~>t!sq%?J^}N zAd>5B`h;*cMx05bMucetr}R(er0e$}bfzd~jLxiLVRmFoU_~~~<|uwk@S{RUH|o1S zdylgv5cpztWTE6CogLJN5`+yZ1^8{1ln`_@64wxSURn0)Ex|7Yf}e7-^PuUPgpGa7 zONR|*qbIl}5d5ygMxucKk$LEzZ}2=}@|vkim=Vvrh(K>t4-6 zzLzo&?bhu3_1S$v>3pV}bp8i8tYwJLg2{25v)QAmB2oODmgY6FxF{4w-CdnUXcV=y zY-qi-WR|4mN-I(;tf;xIp{2XAN!SYvilmalb)--&DbTo=bj2GRn_{4Gub}CuP@Iqw z_nF{0#~qbb>P`+-yQ8YzaD|%}bF*UZN4$=B-`3)}7wqegtw8LtD0Nai`zm<}Gktj65%tT1P_j-09%U z3mr!PA?{Dss=pfeY4o4s{$!o(@9*z-r|)p{x`(xs8LX&w16y1tIR6x$<}+V|!w4eu@#L`{$!9pLFG@b@+Z82 zCd!UG!iDV7dr3vVlB3HGg=4Tb>Wi>m5egS!ti&7#MqTcxJ~vPy-8pwV;vt8%)kzF1 ze6@RF*3-y7*h0a7(AZ3>Z{w}F&b&9Ux zqZX{{3(lOs#RwfKd=Cl(!HJ|Wkc}-1`^+%KM_-0`_nh7RQz?^pQcZNry%`dA&krR( zZKkPZr^JnOD0e@~{B#d8%NLnHYJ#BSjO+WD?*2CGp?j2BKF9o}CJ6d(7++@L_pu)N zzQgFdjrms_7?JB4@33%c29s|MQhI~xSuh1t{B{%+OHkl7S(*|Q>ECw+)tjIci4ADk zu^|R}dKd#gBXS(-T^8YA!Y>{FtHafC@5@q;e)BEQ3E+K%`S)dlKv6Gigm?&a zy77J!IQglIK1;pM0QJ!C{d1~Zz0^P_b~W3Sv6JkIH>vGW1RHRSxw_N@c3>0 zw=+&+L~8zf41RhT(fGFve42s(Y#97C#z{Y|Zms96!Efp><1K)?%{aVd;1dl!vpIjH zpGd8LA>*XS)W6oiP5(O$J@m#!>$%IoX_aaG{$cbSHgMDK82K7U#n>Fz{RVE1E67Wl z#zj+3+s$Fz9@j?=+#J_U!{Dn7{q+7=>+d%BP5+-aaMS-aydKCO)BmONrL>ykw6wMU z&5Yam9nI_C*0Y0giUaLhTF=)Fe$&s#4BU*v@nP`OhJM;xwEisKBJDWeY~W@ber4ch z9Ihm#D7OEL7`OGe8@TEJCPNRA+RwWUoW4G3{BMWR^SptZaT~{SYbsjXo z_VZ$k|1st-vG44GjMZVtY=*Ne~jC=TKu=Lo^2M6ulKUt zW8qsF|4R$km=WZ7F+muJ{PuH_+K%8hlT6sm9H?a z?apBT9uWDDy1*M+z1? z51L=EQ}w@plJi9G4{HoPG#~Eaam5Ur=IsgA-_5x8vz82@+;8DMjQ`NWbNIaYQ%nC* zrAEAJ;d)%}Somwq{~s3q2ICn#FLWHV{})>LDdsP z3lDJ~_4AbWQ`^FKANFv>F)Udw*!zbn*!zQwqHKGk?W zpZk5@Cp7+NjL)<1Z?WB43oj&RQ9AT~1DfKm&q<%L@L6OCvAT(7%7w{X2K zzGmTi-s*i(&u5?Y|JdUH3gc1fm3r>up-NwSw~-$$ZsU-RqzT%QLuuGgbJhmx2%UiwtYA6VrFQ~Lub_uXoL<4s6y z6orjVYr5Cg)vsC8*|b3vb~d%t7si`5;>#I6c(&3PP}oTQklN7RrN!`dc5PFl)rHTd ziEqD3mD1ka7Hh{h<2K`SuKdV~Z@Vp`u&q7bRCxW;6_<9!>l@aKLi$iwSKru(&){p# zPuHf#7W#M#9rRU}NY&T0t}fPD--@QP+tS`(f7C04lkxgBqOj}MR#|tpH`d4N3mdxP zbD<^CD7oBh%@Ku5u3ffhUfnE3T&{_EbtMY9LKBy3;xbLlt1DJKb2V{=CN9^+Wty0+ ziDD4HZ<&n=!&`2Os-st_<}sd!y3=Zko6$iSZ?l?Blrlws!)X?)DVC#?w^)-+9Onn} zZG3+oi(Z=ZyxirxNfKBE<7D5w7Z84c4QYPDsAyZdzIGV-gDfAFQptX!&)P zfR3N$%|d^=_#auII8HJn#h>mAT3*NhG%(AAlsGzFR^mxZxy}0y*en()c#!uGZHMgB wl(y}^1T47ZTsx{B{1Qd)KN=u;Dz<(4?=p7mh;L5;UFnaeRZViVBy9Wt1+g@)1poj5 diff --git a/matrix_math.h b/matrix_math.h index 59784dd..1b5c063 100644 --- a/matrix_math.h +++ b/matrix_math.h @@ -6,16 +6,23 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/08 18:06:27 by tfregni #+# #+# */ -/* Updated: 2023/06/14 10:16:30 by tfregni ### ########.fr */ +/* Updated: 2023/08/27 14:10:10 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef MATRIX_MATH_H # define MATRIX_MATH_H -# include "minirt.h" +# include "vec3.h" +# include typedef float t_matrix_trans[4][4]; +typedef struct s_matrix +{ + float matrix[4][4]; + size_t size; +} t_matrix; + t_matrix mx_get_identity(void); /* TRANSFORMATIONS */ t_matrix mx_rotate_x(t_matrix mx, float x); diff --git a/minirt b/minirt deleted file mode 100755 index 049b5c7081800da6f99f428eff2ca3c478387ad2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 156680 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

)EeOUjpmRq$bR?5|@$Y zoajw`90>KD0{?&nrZ`NxDuGNpaz4za_)9 zPsV1-ymHu+l4t80G_~3)@Ul~QH+XI|y+K?pmo#9P)Jg)2v%`4x0aFdj`dC&R>H&Z} zXwdCFW6Y6vTFl4hN|{mBo{e9_fi>slMFRL$NqNPs3h!B8-;P%yp3B59jn0=SG-fnC zf>zo1`gNKp-p-okPd#9^eB+x~HZV6$a&Z&jO*(G)0*A+Xoiy2%Phn+fUyb!7vOyCQ z4fth(E3j{#&R6G}+v+DHA6YZ8HJpy`YYYJkKRMwZ$lme4+4wy^d~HO~pP0Ir_^nUN zIrvP!?@%kh{{TqvQ?%B}VAY}BV9@5%LChG`QQNJj;V!N$&;#M`qU`Wf_?7YSbNHdk z@JBEoGyFFk3gs(eF6&W08Uh1~%=NY2$Eh8oO(c!HNus^*<(ERHOe8#(A+#xh$%;JO zgIy!AeWfQW{9ayG*h<}-dZ7GxSZAz0>BfW`JvVx+zuo{mh>A1A@8Op?aRfq%_6T_M zGtAD}kr{p>;7{tt%E)Au#_7qLM}_tO#a?x8nXw!OkGDIwF+}5gH4UJy2E==;-?Cl{ zenb0FKDHwd>E01pJf9OTO<~%b+V+9@YxYKbR*3pX#9aHF<_Y4V^i1nY3ob zgU_;Z$^6Lt6tnq2Fqyt6<BT{hq@&@xFeD_b# zXBKywEu*r{#uYpBJi)c%VqZyZi!FH46TOAX7pbc;FADn2`e)6^S_`Z-oA(Cy@^`Nw z*loSYK<)jcoxf_C7@dtq)*p^5`6hsl zyVm0`l)))azZxC}Z_icjOkYTsk{*6GeLo;7Ko}tTKdW{z;Q`w({I}Swd7GfDL~{Zy8C!Z$>gEl1-S% z@ttBjB+iE$rIcW|eyg68LAj^kNLEKiGR=(b$esK+r6ERFMVcNp*lVnJ1K9S%jv8^Uhk&Q>5oX@yaOkXHwT9bw! z15aNNnLjZ%{9ZT;l~1xNU{BfMG1sN%OYIEQ#w1qtB>(JAr$VJdgP?}S10QXR!S!*9 zo9n|)__XwJ^|b8p+@$t5N0`M&tuxSRdU$Ri+|k&FnXebbWJiqD1F3i^9r2R&b&sd7)^Hr8OEHL3Gru!qxdCtV6eJb7kWbp zfTF}mMjqzVgLFABKXh*5XVys@YGj3@S>c{M>nUOfVVrJA*x~|N-3{{h z?y1+M2-4mTcv^e%*YA-n{5I$Bqf@G`r7}I&i*7tvr)~7Z^He?!gO3S z1ipO(8RRbg2m+F};0!bT>LDz5?D&TdPZ5eFG3>`t?pi}T3LuRp{o05eNH zuwV|$NU=^?3MwTkooP+yefWs=+_fAay~r61@z`m6)=0tpM!Gny;t9mS;t52oYFu+| zv=SJtyYR>5|J?x}$D0|sIx{nJMSx;myOn~zeL+s-&Mmmh4F4%Jd>}p6V~=l8{Vu0| z=Wz9N5Dl>`GAA>&EpmGRz4S=kJvregVz0W~k%|Y*;^Po#1#s=;3JDLEF)znnlQ>Z1 zle(8*o0(`lyd3Mw*=FR&A)qrO|7Q(A>H#Z%iO3!6>kdQ-X7~kiD)#E(O=?H9>bvs5DpG)ZXNFSzN@On8e@XO502?z4Sd1l;yfXC4Vi>X4oKGGAf>6cDD z8vPP+i@$X22QtDkywMr~t6h!&A`3wf=Qdm2?;xWi^)QU1LC#y&bYKe>@t)#aJQ=rCR#cUg)*kPf zUtL*IGN}I8HoL(Dra?2_zOMRscK~HgYeWk)tT~k`+DK4r~ z{j&#*zOJsK>INH!XMRn2X)U(T^rv^Wy6J7jmxb_}tr-K%HKoPDI^X%enxa~8BUoBn z=k#rJ7bGc8In^(4S63X0W2&z8^((grXruFx@baRn60qk6U$DHiuGF`zs0unsWT{kPyV3a@klV(W-NTK4>=nEGxP}Bo;yq_Z2`ASHF)=do`5$tPsLA`>_jGf8)u0`z~Py zKAS$?v*lYY?>r>%0{J}Ms^RP(|A?PQZP+*{=eWe4Soqu`hEg97%r5F1q!;#{XbYA9yPtP2y2E&X& zpOCgOcY)3el?4{c=OepLAg8+ert~1tm#P1@&%fBWyym)_nLmwpncmj z`n8Dnv#;=(SyyHG&OGx>&v_|l`=)wID(V~ZJt?W@Uohhv-@GvGqN3}IOG?XJ z8J^^-ipnYYTVDx~(%?yPS5Ln*BQuLHUh;$IRN3?Ma?%StmDR;XmF3lSLC>Px>oT)) zvKC}rwm;36AkjaNWFEEJ&Cai){wXxiS{(WjSCnHj9p31^j>;=f`4O0QW73#f~w(FczDEBO(W{ zj>RegbMnz1@EEpJ4g*fYj*JJ?j>E1?4&Xt+CctUfci9NI1n@z?eSpsZj>8V71-KD# zA|4Y@!zODA;1a+*zU;H=wYv3%wORswDW3<2%~+yFT3j#%tIz$Jj&0mrS1#d-iI0e%RW12_(6 zCzsqAi}?Uo0L}uO)EJ8u0#0j!d;vE%gI|D^cY%JuSz+)S@Yq_k$9KkTUI%^y?)$e` zYzg3Dz#78u#$xLL4}K5w1n)5B&j7dI0+tD6yAK(JO6_24kVC4?92RsP)AmHIvv}d{v?E%-dqdgwo9^8rcfU|a^J=1_e zrXNRpz;%ER0#3s_ozDR71N;#1SO?mlf^;X^1Lo{Sd%(khLBJJHpgq%o53>A^Xb-p@ z@I$~!`_TSW;C~YB0mnUs_JI2UgMb^m&>rw0;DdlU`_Z2HfFA;GKY;c)fm-=A+5;X0 zTmm=?Ul6?la3kPGz;Vw)F96p)7mFPPT+$7F1Kj)q?Cvzc7oqQfhXI!WPJ0RM0do$b zJ>WjT?Sy|ud%~BYr#NG@@fGMP;ISU~LBPt_pihA70NVh^y$(77rvZ*T1NZ>_fX4tU z0W04Ce!xj@!oHaXd>wFw1^x2@e-!ut4+FjqIO}cDdnV`yoB_D*5ZVD&9)@2y3+(`t z05=0p13U;A037!Y_zE};upF=wa6RB=z^#A>0rvr}co%riM!$ebfSUoQ0d5Bj0PX`^ z00>i&Pr|KNc@i4D38#)5lgMvkgDdfXtsdW;SnO-8kvWEMXL?d_%|hO2=HcVVm5Hk_ z9sYI{Zcg;hIWg%n? z3^Ii&1XK(NVG7b*ksA~+cxCX))mAZrav>@zD%bknckO*noyrZ@@7~Yn_xt|%`g!V{ zwbxpE?X}lld+)V}s>bJPeBK6aDc+>b$`og2+Sa(&Iak{Dv6JnXJy)EX2#9Tbgqe9=U&e|=P}s^F*+yf@*X||$VVBv{L?dWlywLMcL2rzCAbmv zI}E)_hnsy#Bx*hQf0?|la`_KLpqL8(^|rlH_-AF}b24qVRs#uD0_*w6_a^c^WAe?^ zb#<<@?fC>D2x_(2B|iZXi+mV)s6TIBEjY~Rx_jA6LuH@l!%B4{A8!$DL%t~9yW9Cf zzlv1(x=`Y%5Zvv<$d5nz!@;&vtLB!=cM>7ymbPPkAX3){BGHN(?gATsw*PJ9nM6Ib z{<;kh&h)Q|T#I&x4Ht#lP%PPRKUs|uTRab0+Yg7|oARsL;d7#|Zim%AtZn!)^7S22 zF7tj$rTq@gY_#cjDE}6E6&*+#WFy$s41A_JO07JyTt2gsPwReYX3!3l|7^9UGeI-? z&qw|ZN0rNW{}1xB4?c?g@$PaN)2#f_p4)-T1NROwVrJ+K?W_94jUkoLo91LXS65@S zUGnJ1Pe9g-l(oBWU0*Rs+bKS*$B`qDuX`TGJLWTgdAwHue>LzEiGyxyU#Iw}HM3^nFRk-#C1>0M~L1Vl*Nk%kMkr@t25y$ta=6o43F_0NyKUXDQbi zu+Rrt_D7(7IKNyTZ{!?|p~GIL2N}|f7~tFmXybt1zs9yt76!J#bkG-oK9h9(aeO-h zxOKp>Pw4W_;*h1-J}W`H7qladE;1st&B~0MmFb+BnSO9)z*-Z#HoDdfU(PfuGabX3 zFn}!>|D^pPYct~Q<5>>=h}#a_hrs!^r>))su5(ej{2AkCuoXPiT7!=1oMHLBQIFqo ztOc&RxLp_z5|8mMlYxnMfbT+4JU!EG$S##iC@(3^8X^xDW;-ILFzp^Y8UnbB5Y z{}_1(kazIE%zI*WR&*Ns@@f>b)6b8D)4A|A} z@d@$3ef$IeBm=Iq-aI1myb!-ET`v4n&d%)NkjlNvebY^q7mNGYkXH-A@*vMjk z+Xh@4aN~$OB;%b3X6ncNgXzG>C=Y)eo4J=T?VNHMOD(a(8hfGGpbbeE`vucMyT#Bj zNLkR~deh7za~yac1&?E7vdkI4Z8;a~3*xHU);T9|N08d^SqWbEe2g{ZMLVG5IT*{f z`o2US{$AY13(DnJs(GFd^K1bRzf=EAHP1K0JU;}_JFBoy5b*5cxOs=qL)||D&-tH$ zJupWY-7&m6GB?yjd~ejYAC-dsmzK-e9*{rUb2@P61NR{@oW1N10-ss{TJJ!){BzP~ zvLE-soIe(Gjsog@(8pa?E}zE61pUwq1`*rob9{pX&33#EeEnBc;vC|(0Jj=AX-C8N zJaAX<#`h+0Hvt#++xLLm0$e-t@sIKp_I6$ZF6_&B;NIB{Hx4-W^X2kh%!5DXodH}M zaAA4fz|8=T{g{93V=I7L3EUTn5PKlju&xI?LNMpk37XMmdm$?%fiIKvMvvmHMCnx%}BM-M%o${}$*2pg&PX|7Jk{nE7ut@lT-N(*eB&PB;kq z8&&y#5YT6UK5$#PJgNiJFD{lEXcnN^dZnUSJCeY=x>4E zzqwrIH%co0bzmU>W6(D~fPb1)MehyhE!b}!dJyAOmHZ8X{28G4eHHs?RrI3+`eM*G zf_`WfeO5qU4f+nyKS};=pm%=_`=(X-uMhHXV}8*0s?vX4p#NK-4}HB{ez_|D_8|Yq zps#xf=L=Qz&j$1sOisH%|56owT|l1!dO!Bj*HzKK7|<7kJ_Pz1RrFH=`fAWSw|sK{ zyp8ffKcy=FvLOF9&<8<3u8O`epuYvWdKhs=m3>YM?DH|`-H)LDRrJpW^cI{8Z24xn z{BV{0uLbgFfZqLRWzDR|_rZX^7s9$TOMb>-AA{ccc)5If75y;KXQrYU8~Mj^U=+?bR)KE; z5&k%9SN!~7(4PQ(VHLeQ&~pXoAA#OqML#{DUjcd-&Pgt;s>eA&J?;g4^ONQBcdO{% z3Fyy*-iz~-qpIkK1@yN;zj|A_{Ku;De;btVBA8tHOu78&FnyJfb^SrV8ub0b^m8lp zgF)X6`mn0<8-wy!kdAYkbHe%UGlKH306qRJ_Rqul?Y|1W6M60h{TdGEE0^c99FgNFE0KxM z#adtmP$>lVTmH%P7tpV_=VXf4IoP^g>(0rHyEcOO=gR2Z%of{ToO!}N0y~&@forYBk@~_Oy|L&poqJtC_?_|R_CLfC%%pI9)n{YuLkaU;4TPslR9>>j&rd| zVZR%$WLJ`Tw;_-BopQO=$l;54o{JTC!!xdX5BN6V?qQ(WsDmT9}z?aGY1 zGQ!1glwq&E5>=QT+8Yh3(1EPe8lf-boJ2Wu7}sI>zQ&o0WsH4DB2%0#k-e@m`B#8{ zJNP$|U+jJ``LP7F?90G^u-;%66H))0z~A)(z7|LR6&Y^@R#t4EuK_;*yvuz7X&*$U z*E!hOGVOC1+h=xW`kL4gneO?S-Xk)73p2g5GTlxN?Tk&vs#q0uIyh|%WKIL{lmy<8q{+TuF;!CLykwJw6)DUllSX~O;vgIyU#HP^%r&6N5xUEP`PgEPHd znZ6@3r6XWa^oMZpFHSN)(>2d$o0VBPE7K3=6Ej_1neJI^i@w7$r3HJ+s#Rk>c~1HS z^!gD|;$Pw~b2B?)_J)vuEdh+-7;BC>N%pIkkgxB%m9shGhJafP+&Id@A8|ZyU9}r7 zjsfB(;6@6U=4%0N3vghUzfpL00=EsgPZ1-!VdPoEw(H9jkI)Nv^7Vr6hku8Ux(tAi zXUgrAhd-%5aPjYz%Qp}q{Uto!ZM5u*!efE%XHtLU>qkCcU#UNEtAR^V7XGCEz^&R1 z7snuSK5$qr${+P;0gm#nBBs&~hhk@UPGI`Ol7|NHq5dc*BL3gw|5@Pwe+!H*i4HqP z={JWu{(YNs2>$%^%e$q2v|D=TZt35dwBN5(TS??$>q-9bPqpNYDNFta(=+Am_szJ$ zb4cgkc0)(kls}*Dn)F7eB+wuJRz90RS45||eaXKK$&$ReWy8OfhK_At`P-X&M)>o4 zC_(}GLkL{;XV@@MXnjpJ)jOu3yy1?SH$p1?=auB`<9F2Rv|o=-&82G0+b{ob=J>PQ z@Rv>6FL#$ozm(DPO!oiJUOP;?>|Wr$ro9g_??vW)vUy)<-dCFU&E~zyytkV73+Da0 zdG9puKbm*6UDvx{-eb&rU-Lf1yce1G$>x2bd0%PXH=Fk+^WJLSFPQi1=DpLr|7hOP z5vF|e9%J77n)e~*y~w;zHt!3~`%3e^*}ONI_g3?M!MtBL@15rTNAr%3EGhmK%zKP^ z?`z(NnD-*{KH0o4H18|T`)2drWZqlN`vvoU-Mn|2_aDtWYQ~L%d5bdtjfeMqNx1#@ z4nO@Jjc+sQZu1^6?=AnE?`|XKf0zINHoik=&&F3I7B0Kstn)8un=*CM-jh1_nsR|8 zr(801>ZHzT;|*FFrseno#VKvL7ku8SXP-q{=cFlnP1#@P*;`c$?3}dEo&*Y7@xHDe zU*i@VDW%3pTPd{{-rnevq<9Kxp91hHd|Yd)(@V6|hlk~yil^;dh^OOx9#7X{&=zs- z#xv?Xgl9~-IR`H{;tQM#tkrWdii`qMm$B?vw<&F@5D!BRyLmPS&-f8QER*B{Fvh=x zuwGY%9o(!L1Bqgi`)>MtUIE+eI3vDPYylcY*jrvL$Mc(tkdkW+} zup7ZT0JF&;%6IllQI`}oQ0ZgwbWgw|YPrqOEaE0#CeywtQZ!TM$H3UNR_&0y*GfkG zHjhew84r*5f<_>#^=kI7F#dGQdNId4+Dr>S#=*ELG`R1ot8>}%tB&7t%Xo)NuK|eY`Qf+w-eg*Q`SP2d*6o_ z#dBYUldy(Xk0*KvPj4}I0_#ht3&TMg;sDe2-o z7ngDCf}Drnm0OO66=wYFO!o&U)pfmZfc67s>CC@~*GG{;E)Kt4fT~4`Dt9d= z_!9{?7IWtV7JO4@ZXS5=AilXP$9q~|Cfw4U`5nFNxLREoBZqI$&$B!CP9+6!@xD6i9H)j&8&mVwS(e-k_hw4Iz&J&o%gP-cv5`qq%YK0q~s!Fjn+<<7+v<=ooh)UUAEN0hm7nv~I}rcUs%5 zwPKdv18rTeayx+&tF9|nth&BMtM_9N-D28-fxQeKm(l#s<$s0Oko8Dm7*N)us-a{( znzMl0%=BX_R{;D&!dq2tf50PQ0_$<5az`N{e(+=|*9e$*r>v*Ca`OS7NBHT!+(D@L zPY7>YncD~OH|cuM^yi)e&%Y4<)~br4&pwfx6jSPK;s*zn_f3?#lY>Dqp9X(hJRejx zUQjvihp@8ohNAL*3f>7Qz`83x1-R+ftpTrfyQ=7SN60XDcIGC6S6px7G;O32K)8+G zBv-eTwbLgF?R12wGsJ9FI16#H+UR;ktl)0KA#Ejw{gr;3c zyZWh`p9dx$iw&BQ{4!*)dYI4dkh#W!1~S)l(4FIR@sPPjCkK#}xu$~+6z9k=1POKr zNA8x3@fbd)1ccs%wD+}JWona&=I7zbLr*jxgi-!P!wJkWQbH4$7e@IL7$+saMBxR2 zlTxJHaB~mC>X`_~h`tBj{Q%VPlE(6ow0)7u@rFPi#w&ZyL^@|`6u9J}+%&MU`0(Mh z(x+)9Gi!aCwT6%2F#$AdMr@rC%j?rt&k|-hL@c!wBKcF=CdsAexssd;4{F;7;1IId zU1CS7`;d_|n&>0Fc56O$*UCS$C*^A*ko41lq9^S(;Id;&$OymG!2nSss!(cJC(5^e zNJUf4Aj@2i-iLJZQy@9h!?Qd6LOqU7;40o$^5dop!1xT(jGH=*d~ua^<4ZuH0YJ2R zSd{a*S@OhVJ&?|2HO|tynZo4m17{rq=zQ)z7Qydp-S0AaHMk=xhTSmcy_6Cni;+B; z)B#eXEy!`VDJ_OJ{k^q7MW+GzWPqG!O;hnR!2E*{YVR0K)2X6IgY_o?9w-Qr*ym&r zJ}`tR6SWgcqAnQ_NJTp!aa0J0fGKKYKARrk7C;cWF9GEuNSGN=L_+);;8uok;1fMB z32;yydQu-D+#Dk8ht|CvmQ3=ucpa7EttU>Kb}{u$yf|%IW72xs%;*uI_HRHwg-W>Y zR8PWLuMa89I~7mclW^AiJn5ck0L88R%n2YQ#o1j^%owza(Vc-qSL z-GGNSR?j7DsJ5@5p6=wqIi1>E(jz)UW}6SP>4 zj;*akGI~A^tg)ghGI~CVaAUE^=vnYh zokd2^>{GGkt|Fsn1}L$X?joaSfm?fvjGhG^)>mZoEP02oEHZi)nQa3_&XEGQZzwW) z7I?&#BBN)4M{X}NdKP%pkV+9?^c-zS^#hzqu)ay6=crd?^voioImDPySKzvMkA?8=53QcGpVHc_-ezUKJT2i{aK4D~3aWEE+ICjuz|Q18?e2crZYA zpKFo;*?puX#)f}XwU*pRiwuz0GyRwZ>AoTZ)omONp6M?#K;B09TdOLHKKn$G0WvRHyMu!&#hdav zKyESta!^?W$VCRotSkfM)OPSPKz8qHk^tGgHQ;q`R~7y42pQ(i&LRV3@h$|&Vk8F0 z(Z*B*^k9JOKG-AyvU^XF0kYWnzL2<0#Xt@B{>~x;WU>F|X_aarKu(WIzX=b24n5x4=2gpq(KrS*sW{C)p zr5RZw0^}kCWV$E<4 zMFz+MBS22w4;c)Q-N|*lFF%Y5=t@y7mHKBO86dmk5;TI$ny!ATIyz}~JI(p}ZUbue zO=92J4LiJZTnR$q_V`#m*FvB(+dTxYAt0RDGQ-`Cq|9)$IW)^GcBsiFiQaJHRFjAf z!bLANiOQ712;y~6Zr&q>Uo?MoPn0%JkpE&RD*G$eYf6xIlJx&|NXqPf5@+`aS9@ZaQ)rne@2DromtZ-J zwkCwD`5TaX8Dw-68t$-wV;*MMD$~fEeqx1g?V}|BDSrM040K6A_vdyRm416=K#|B# zWs9gxWCeB8b2satviz0mNI@*Zhic!Oh(&th&CX_`c`t}FQ@vh5WRE0%jN}U9fE?LW zwil%2V-*sidX-(m97nTE-Qf$T1Cct}5=K5$_8ef`-vmynQUtjiac9&$2-%h4;nh0M zXX-#0z?BuOAG-4kWelDn>CE0bXhbBYNxQ`M66Aemb zz6~YZo^!xfO9hnK1N9g=c$ed0_C_-=lX1B)lBP0m60wZ+u4M?Jye)WUnI$s>lJ&C* zB$2oFdqQVk@i9wT6`C-Rq~ax`6~AL@^>A2o4i}qEj~kmEE;hRiNwL}Cfz6H$>Zn&z ziSNQC&I*t)28>JGUOXk471)RD1}|Fgq_(KV@sBVo!J;0PTX9=Scn*izt8Ln^|NT<@nwvH-a-4E9sw{l>g6K^v=wlby3neC4~o zuPhT^sY4CLSC-LN@{5st0m7UWw54>nHAYfZce~3VrMEm3PCRE4;!Qsd@-A>Lx!Tt5 z^w$6x^fz~}67)oY?4z9~k;KA_o)Mu>=sg+lL+BPM<1qp?vR1V5sEY}#hzeX0vBGkm;PD?GMpodV&l95NJR!Cd zdb~_o3svlWA6^uXaYe+|#(9G1Aw0ds7*|AsKejE#6_J#1+_)H5L;@e*5#x$TV62E5 zWCG=i$htTxDIwKwm;@ZHvA^Kaquz4$#}eJeL(7HqRTec^>21;CGbyn2K?2 zFbrceHqT>R8=OfPYl9fq22$xKOEInumXYvOSBz_eX9z#t7vtK1KfZ&_^BC6#|3Ubf z{utK=tw>|@yrSr{PsF%3c#=GWgDUbL&_J&ZqGoLnR2FN47}o}@EY}8+@yMt*&!e(7 zux<@_v3Xw6?~agR?(B?lZ6J2W+CYrNwSnCjSp{)=^E_%c&tqI0h@I~XiQ7~R)WGI> zjB5k2|K@3xYGG{<*$#Pn^W1wGU=z!%{S~0vKk+dVRjwsYc?{(%em_29gQPdlqh@Uo zWj5O(2QIgM4pE{Mw51XRMrM|bCAz& zRk5W;hCM7E8$bmp&mQi@xHb?NYl8@fXRZyb$zB>@6BW>vqFO344oJOu-b^F39DuZ| zpQ`nFWQ@mDKXK|i5bH-!W1v+G_GScCGGoy(p#Q@nDBb1$Pa`N_HSP~sJzN4fwf6z8 zxdAmAg6>Z3azHgM=BkZC{TiqVdwm;+J}0{YRZ4oOtCM54)J=F?V5*yX28lI(g5Td< zXAs}OdzaZvL|}N@jrI$_<%79BMPgBOF3r( zMb=!1<{U!d&ID;)uCb(bCz#fqF0I>9Y2Ce;O?fQ*?Lt;Ty`w@K3`Y9EXz|Ol0GUee1 za`9az3(qU89)>v19I5wl7;J{1hcid&{SuN=?>SZVKD1KruAtsyJ4?t2Ut_%wFbVNp zQ}1I!IKSTK8l2SoeqRDTeOrZF*PET?MW3CC*Zl;0&M(4=Kl%yUs%47Ni?*6;64D27 zn=ZoLjOxia&vRo;#`XSW{As$InT$^*Y$jtKtp<}Z-P1CYF%L@p$vDoL+)T!6Fc|xj z@o)?p{$$LF+MkSRPRmTjdEz-4cR?U0<493Y#*us_W;T;C+c?6>_u$yi`B8H;F6#&xiVo{Y0afCUn~sers= zP(kk!K8RD<{eX2>zg&?#GygCTgYo@4PGyOZz(PCxI6g6um!J9P`cOavoHB&USW{QT^ zOi{CDlDwfcQ#7<@iiXxq(a@SH8d@_&M-Ay<&TL?CJM<*9XS^7ZLu7z4|2j&f4a7Y} z)Z$zwq859Yh+6D{h*~Dq$P#4ULvY3l>>iwDDJ60pGU(tedn3TYW<0!a@FA}EEFeEP z%RY)kWo(#`WgHdxJ|24r&RF8#3(lyzADppUOK`>+Ob2HX_E;TbWhVnHFvillQM!uE z1yaXYO{_~ZSCFoLsumq%Wmf`M=`gRVhcJ%0Y80H?kGYOUXZ{(u_JYWbW+d!@6915x z%NLk~aI5EDJfjDu@Kq237Xf&h0Dp+#1pqPYm{;*q@x@TduKhQFRt+Os4c9O*HQ)g1 zYe0sj8uVk8#Gt9hJCxAF2*Yk>7@6FOlHQTzS*T%havF;bmetG+!qh4xFJQ9uR8Uh7 zA;}=k9!5>l_u_HI)DoVc;bTuqWOPMVXG}$o1)wX^EfuNd%IgiIjE9KL>+odfY$5(H zB}l&tNU}?s{St5=8k{7QDNhn!IMEtT>=jNNU=p>PAnh=dK(RdW&V3WOlL8zz0jL$` zT`Azqu$YU(3BTSV^VT50-rKEP2_rdEX|w!i_&5&_RZk1o6Ep#1{iT2lMAR|Hbb4sj zJaef!?jbo71VIU^f&0MDB26uZ;=nwm>Ib=1VvAAcMI@{q#+mkk($sgNEx2W2A1F=z zHzZ|a>cC|{rk2#2rY=cS--x6%^-M~YW_vTJC7VrU*z`tKf;N`-X%zZ zQ9lG*A)FW$PV8+GV$_)?!G=P62yWgUaLcQ4(x4XyIPU7GI!5NsaHy)-zmT)$9gzFVMpkDkjXwI=VAcTN!3)@BdTZS zdgf_57Y}_ou<3IExn1qnH_LXl>$PyZn(E;0Vhgvc1+I&?aJyPyZdd<+46YgrURT|N z0{szd4Rm=0K`2M89i|E^I5sQ+!nHb_FHl+MOLQvd4m@4wt9VA7t$0QqMlUIcJ4M;x zLNRkb#oYFP|59?4nPa{p6OpibmScc*>dS!Rx4>LCN|F~XYu*KJ$S7SCgVyhvgi5># zmGHwpU`XJ1{RN600@7(a2zE?2W{nmj zs72;qA-~yVt+nQHvoFIvrjFfkEx;Wb;CjIaZfkliF8b`FGNhguqMj$zPEu#8nwg-U zVyKx-)G=Vy14rUNSfz!PD*Yj-b@VR)JyNnN!Hb6Y0X-zNT`FveMv^{PAqgap5Yq@U z9UCyIT)$CdUx>7NE&|z^9G~G^XfiESXDy(UI+K|#egSCoQ=P1{j^VbLPUJT*`xIVE zQ?V^Z@D(EX3#9DNYt-?FAYcecXMbspk(dv~Cq5-U!4s(0OxDcNNPJ)tFt+0jL}5_8 z;wtl5&?5VkAP7UmZnT?0Ypc-g^E!~tK5ra)FglSv(-=R=Me zvJsmHg{bFZ|=GX-rRLzIkvg$BCxsZA~1sL=)rLR!qIqe$zZ?QsQ0aHeUpdg zx6MtSd%=q2e%Wi{l7Tl~Z7dm@-i1R?q4roZG;zrwWpK$*_y+hHxZ4*u$nLSN z@6+s{7;~RSm=U;}ajo!k&=|kloeeMI^-)ycr@0EHA%2(pG&c}7_h|%g?$f+Vytz;F zUBc!*jlkwUjlkwUjpQ}=X+);EPb09oPb09oPb09oPb2WCAypv2_&w54;0*ze=#lyc z8POy9J`IbEnENyWoBK2ZR}LTxywIV;|H7{T^7JGK{|kQxhT*?`L&IX|9#MjJao5M*kmu+}hYMaY8S*!tUbJ>PVa@$>Sq zs<0CpFhfnTK{nKD@^XQOm8~(CZCKeFtl`gKVhV`m&9PGnZ{doVjcxHaC}T1U8p#L^Rg$g@+-J zYk0dOx)oq63CSIRl0$r?P)iwVRP;5ZD;;ut;WtQg&1O$*SbfZ>|Wo)m2d*t#!ef0_>|imQ5m%@&=7M8y{-M7gRfaFxh4Te7i1Hq?_j zxopD{@oNxr*@h)1&1D<fTA<*bW0Z#=w zcCb<5A|&FS_yVj1-Fu$}?VvPptHB>Z_3eF#!(U>@z9j+1<7xGLi?VtzMy-JhquNxwv_A5aGj^^;OdcH@cmx$8XwN#?DpS;?l zHujQlpyH|5AZvxmYP5#B_o22+meEFr^^EI#Ol74%{%pN0q|b z866AbL3#u%kxAw%enY=0Y^LbhgvqY>a~N_AfJSTS6ug>FL8gZ*I^lk|%5Z&dz0DS? z-NQpQ3>tp$qWTNbN?1{NOYtu9A1RyxAoU#N{-z=qO|uY^8CSWTKLf4y0*bGGC{MbV z+nnXD0BQKLN0!?H0uPI4xi28_a4*Y^0fEuIn*Ry)wwF;`tA%H|8gAhcuf2>7sS>;P zE8&G*L8Ppnx7cX?%n&`QUI%Y>{~TzZbk+}8#|o7vd(kh0O116&r_hGc?<48a5&KWX zGhQs1Er#>zZRN=JApp5;;h34~wv+88o%^5rh8oOfNp z1VW}ZhD_1|44HBdLr!5E9(tG6Ge`Z|ozQMHWi3?M_kDO#Jjlqpu@?(VMTHL|@igsp7>z<2pljC&Y+p))gzJ zVf4kK^m0FU4Zy-pcrg01p7YFgh7tEt#-nN^PEfKINbEB>LCNwu!*PVSsw}TFJV5wy zELDy|LK^nTQkK^l?jYf*uIzlkep zi7X5K1NjFBRbhW5boAw!=qso!qOYtA8LX^CUnhZApP+aWeOb2#yf{Ir=yylRFn4xl zd7VN0htU^}q`wPT;Pj|ZP&{*;A6c3>>3sITV==&C4GJ_G*2CQea=#JLaB=zOvkcrUN4S$};+*-i*F-EV^(u zFnY&4$BPN0uEC>r9UoHEMnHb_mHQGB60h`yv5St6pZ zV3WCp_Hfwy{i zdTg(yXGBlOI4d*6S{gBa7m}}_H`~{fsv0($e0tApTn6UBZrL=vNB;<{2NC!fz+3{u zahkZ0z$^fL093;+lV6&#=S9R~#gjmMjlit{7@ZaQvtz#jFa|-6g=}M-_3NyZ26m|i zN=!8>^+&Lz&VX|J98iL68P$;^Z7s!gx>S=c3P?*M>)%l~#W@?S?^LPFk#BoITTUaP8ubu0&BB%2YrC8RQcChwTtunql2=6Aqi^;irK z4o0og02&!66^U63%t!#EUk5OWz&=e%?GFI+pgp66ysY;E&V8!cM!&LOrb}8aLqOOs zbINX!>H1~*XG=yn=%r)1qO!kF=CLv-?>GxNRF1!4SLq?IHV-G;X)y8y$u#_S@8DoU{IFTl9IC9b;?(4|^wlHqPJQ zlEC0sEFkXSw`@j}`VOhBG}QuA2k#X<_qp!~jCuWz>Uc4Y6nu4j# z4PhiN#as*I6Jg{oOHH^P$Xy0G;hRW&Y!VWmPBK#|m2rdkCvl@%_nKT}0sa`_Tlcm$8EUMVa0dv5V{6+SptQBo^&hze+0dy&Hasb8f z@r30Mpd2MJfDTw@Bpvcc(m{(Osp{k)J}|Qc5ElyZvFohFcp1^JfIJz|?*||w`gZ}y zi2m;YWJDK_-g;1pxfxcoB<@euhLm8{*Hy%b%{!g+G0gPS@06V~H^rZm!pZ!L^0iXzA!i}K6 zW3r~sfITv^eBJrg5S6+Q46PyDYU%pA;7c%0ya4*bfZl6i5;}$pj48a~9UWV{5plFCEnxE{!S5x$f@oUT;MAV2gF93N^b4}|O{%i4PgDFF1W$=p-7 zTP-e8CW{BQhzDv98YbSU5K7={;mB>B>21aYB zz=H2P;A8dh`y%$<*1cHsb^HZp90C?;s?kZae`!_;7^N=4$KKC!8m$wg5zZbC1Z{r< z0BM9@17IVl)G`P=XI2TI_9U)}o6ZB$7Y3u^2nMS@Yl=#-&F-32A~XHYzQlvuWe}~* zDiK9Cp6f`{{oAY(QGyFM-KC(j=~ATSw=}p!nY}UG)=~(BHq}SNIRA)B9I# zMwb!j&-OlGXDn?s+9iN9A<3$D4#2Buc`o;G&IH=ZDVKXV0@uY|?%@cGJ)DUCc4yQV zdjk1;?!hybZo>sS0*3&2iohlS-vOZF)1Z;8%+w~N&LQw3 zfYksp)cTc!OL*d&ocP$|;<36Bx)La0NGee)74Yt|a9d$^iLCg>GZHbAF~_kB6RvP{ z8>A#IG6_|82x{!)S^Ip+f2g{niLDC|LQ>Jv9Aa>34rnc+vVQI zX9$}wc5|B~_+s~$n84nKe6gEF$``vEUS=U&XmD@CUE;{zhCAQg2}Nd7)UXGbh)=7_+#5#?rlg3$BlFU;={*xxZK+iJoYx48V-e&i2eq=eJo(^ zZMYXZvbW)0;Bs$+=D?S{T`qDYBlb4z&x4nH8*Zl~dm9lfDba~0Krws+$K~DzyBxlO z<8p69@J*dA_crz+Pji>cy$yCQd;`bj-iE-fy)O4Q1RmDsa&JTO4qxeh6|l%`8*q8C zSm5>zF84MB9{+CazF{ObD=2C< zMUCEyvlNkh8c*&DkJw0&}Qte(>iEp(SHne)U4R0?XWyFtAl_3E30@`^*?I^Po zAXM0Smp*)0KqHOl0#)X_1?(3v`wr#O?2BmjQP}6<7-IKGBU}PrS?2e$oa~Q5S!$FJ zLk(IvvvHLDEoiq^XxuN7P~rC#oGibyu>=-dhm|0YRz&;&!)Di@!pka1SvuE!hGv1I z8#{?9RNWQC<|B}f^#9grA5IF2*rV|Y5 z)>tO3@dl_8ax9}FBhsTy<4E2N!@ey>FoQ6A1sr<5i2-*h#(=dF|IJ3e>iF+uU@Gz7 z7mH?I1R{gj-QqtT-o0t`kX9XKa{3J@zTa<ER{k*#J1+D3x~arkq|p`yD?F|(u@6KTW< z^PyUSz?}fv3H%K}2LRYUuON4k#53{C#Kqe=kv z5)J=zAa)2?*aGl<+CO2PV5~n-vHselb)L^5pSJ!M%edGMaWNjk+G2fe>T67`#f7o| z;ys*E>U#z$3EQY4i4K#HraQtECVAg6Ui)$t(zM;KDkOBPldqPHJriKaZPkA8Ojm7A zGXez(*Tqx7+}fbmvEAJzBGq+h2HQ{UFD^O)Y}VdQAULPOOhe$Z_Le9O%_Sp^wfEy_ zALnjRInr2r^I+R~6G;wxI&XxVOtUF!pIV4Qa!?ep_BF{N)kW%lOh&Wg@w;G5?$5PC zjI%Z_c!CoDvr+Uar~x4xtV2kfL7J+m1M@EpLxQ(&_n%h+9#b8sfen`CINcysiYrGu z&mz*D{zGN-`nXos?T+Vh-M$1=Cx_}_JQTPt?s45NFxKrE^Q%l;blP=+ERm}0b*4Z) zKJixpt=V_N>s_um%DEsh$NB%@v95g?Lz4w)0bh7Lcd)Q96%LV@r>1*gZY z6vr)R%x+qwIBq!;11x&}G1@qH!9Z5egAkP)K#^MsyaeDm0uv`-YaBowSL|;9NHB(7 zZnDa+I&{LBIAFL%5zcjNnubxe685?|k6EOKdF3(emC7UR%@gRNZ5#5;JCk62y?mYQ z@Lzyt$!gg;oZ{pw`qtsU2D-pe!8)A(;JCo(%sQM7h^wfeAvWfje*Q0baB&oUu2vRD z(MO6LJfi&adh}6`i=&&EeoT2>9Puh>bgS~XIBKU0VsYegal}2f=#wRnizD&Pr@A~Y zj(CGS`gEVi_WNg)9^JOmV{3g0`b3}U_qaHEjPSQsd0f@914W;G!sFs-9`S>Ns6R^O z;wVzAmBmpc?{S68rGBKKJT8vto&3I>*ovz^rUA3}KiryMzi{7p(s@_qo z6n$r>$90mZfpwCI<7So9n9;is`3`8vl~eS=+SwqKqW5_8Mk*7%FC=wSF;Faef2YTl z6P1i^o>nOhE2jqj5?n?v`}0==<|-=M(XbX^6V*ubcWKgWxikliG;ykd`=t5D@fg8! z$2aS}km!pZ_d-%IWb}K=qfS>6ekty8FXR!zFMD$Sbt(9wxaZNriG|)0#a>7YeM0Ka zdmas0@aMS;%)OB4l3LjdiO%{@FG<)Aof4<&w!WvAJNX* z7xDTiR*+_9Pr|R;dEEbC2g0x0dEEaHd{d{#{f}i(48LyYasPvz2fuD7zfmJ_Yp=)s z4}pjEdEEbyyu(*|-2V`nZ37y;Bo&$;1OFq?tch8a=XX<4}nJwAxc1@-1Mj^ z=2rparbm2CMsIrLxk<}SkLV4xvgr|BTk+ZJmB&pFvCF!U&tlUG>Z( z4j0MMNeyoRY~nDHeh-lLB#sHH;kS5JMt}(o7CKx$g@;}p*P7L_$JHULj@7YrURDLG zV~^7q&4bl(&?HzL2c4Iz<2--bj;mv*y;fGoPIHjYX;mHr8Om^m#XYW$1s?8sjPwP@ z>Nvj}Dshdf5#y+ia2O%IamGbG{C$jHA7@8RpVmO6KR|ILbv32Qp5uj+Yc8O_`n- zo8*usbMg`y5q|+mGFzWO9oyGIafsWlr{<+(8Sx+#=my?emdrIx)RRn|HJ?*Voppkl zVAffjU|{t|)?t2$u>Rqo=^8h)g2QxVrt|X*QYQTGhB>wyj*oo~&O=u(2;^dC8TzKU zva<^^ck!Vb_{GM`5cH~AgKYR!t=dZHG!Gn?;_QDfun!r5b>Oo7#7GdV98QV)Umf^UDpX5q2mJzrvo@Oi~Fk+d6j%Dm_ zqr_D#s)t6hhOsDArBe!)ROBIF_cjtEGdlF;TC1HZW~h6w5wrxbH8NVe6FH_GAeey=28PywtN|NNG&#_S)IuZ``Mxitq=obwA;*Z2KDKC=uL%#6gH)RsP-x2D zVRC7o;oglk&(9@AOA7U4-&gy36*oK=CG2X_Zm4=nC>1BBY;iyF01{TuU0^kz;@4PEeK_v2rqXwMj&e2Km0;66kPEa}goV@0Zz* z#d2z%ASIy#i{vwaQ!>Tc^V2(#;7w?Jwq$r(+HKMNxnzz}Ilnj5S^${8Bv4Sc8)ozJ`G$VlD5p|JDGgg$$hyYBdu4f#`K)~)yy@(h7 zNkp1q;sZeAASBH|;8DVj#WVu}!8diL83_EI_~x!O1A+Glw{)jJ=fkbNX$As0Z(rH>4z_u-A%Ny4Via ztMpDVi&fVZD^^8FA?oRip~+tG)-T6{O9lJ6lq?nOM+)qp_*zZ_zLt~bQh~p&Y(J*b zTq=x*r{ZflX)YDeNbMN!c$#oE)}*De!4HsrNZ8@8NQa2=29U} zhj^wx&85OP!rxj|QS{j-(p)M$PyWF{{6++XaH$Y4rp!4?P+6R#$S<(4vOGtrp9Ws8 z5A3^AvOchH4S4O_@x4o5zdJ&PxwA9P^?|q^)(2uFP9$z){Thhl!oYqoB?|-lo-`K* zV(0rp;x-inHSGI4(-->o-#o2SEi4S`{{`~67_d8%Zvrez_xv588XL8(;s2zlAxDbh3Ow9PbNUk)L1TR#e1$=yJvqsr zCMimlrBYN&)$a`?gGPH?BaP5B2WeM7{eKc+Z!x1c%D@b<7S3WFO`Eq^3m*z4ab)Sah4PkDxU&rtjEL9CKOo7F#84+q z!uUinntBS7LzJ+bg$$F4=_Hw$IQ{(0l%bORfs%@oyqe^Ypk9G1xa#3-WwLw>1wD&f zUno=UGMO*JWNQ0~81h*??2K0Z>B!EhpKWbY)&hQM$f|#gk~cy({z`+@Ku-5fB>Ck# ztH=>bMbvR6ybwy_gP&`{Gx}GsaGr`zn~b;!KuRo&zu^ zwHQwhB|BBT?BX1qe-cj8iK z6uF4jcBez=k<8jlgS-7m&SO%3YgUXfeu*xoh@z}h621{!F#^uBv<;@BL;u<+gnHwa z3Y-WYrL8m5$RLgsULn;UhqdJpTHbEe{>8>rk#562C^dT>{@#LZT<7NiqHjaPe+K~j zZ?rxF5Nn+R)4`;oZSDlE?HFqNnT8e@Tz6Kr+K^Rgwdsc2_kR3>*hWj54XeC3NBkE9 z4j$+M5%EscCA=cawWDBBZZ81Qg-~TW08x%#7>`{C%uxVDxgnEv43)d??bK&%YRRRBb}JD2L>#!$Jt|DJN+G2EZ5 z+@fW^`bIf>qrq$z<)+ikHW`QAWlK-=lTSF(4K~s5n|Qjqkj$HE{< zjpX=BCF4fPXm^|HG@!RwJ+sL4C@C0k);VH#Kl!G^lU3`{7dW|`4MQ(uax0nJ*bN6! zCF{wW==~s7bwcr=_LH>P#*=H0eeWIJ462#kX5`75{dP#Vo~ns{7ecE#j|hFoaJ5tD z9{Y?hw2ki00mOQ`Ci?FXR^{v>?6Q@*ND;P2ANPgHWkI6RNaMWC9WqT#XA1hHkUgQ^FQ$-UOfYx zhk(Yf5Y#ie5x6d1&pj7`vD~TEdoJmxz!#cmwP;4+kw$eiLO@q8p2krCCVq7aBzztw zWJJ?%wE7IZ16O{*8h3nL7IdqJqp0icjsM&NKt=kI**ah~Nl~8HTL)YPIC@0@%CA~m zGl*4jKDnZ^8{#(rWEJiD8ndmGU==3-jcug_t0-_?Ji#goj4C?ojD{bAQU8BT_b_O~ zSRwf^0Ioz+M}hcHhLPJ3R!h>o9K_=Qr%%Eo!#2J7n>fePAK>GRu8}3WQ%G=$P7Vh@d(I^~ZRj)>6I`MTzNs_8x&KJChtu4Z z;1YcTd0M&?T%rry+MA$Z1RmCxxCOA}9lkQbCA!FL8%QuL7Px&wf=hIPM{G%O{Uh+m z?TK&u_)$Z+vWh}a0wPk3F9*nB%N=9ug>~dkXlQvX(~907z^X7{EOVLzN)OLZtoDYQ zY5KI?YNut2*d2VFSw^wgB2Rq>nH+7BLvmx#8pCAcc4U1OgM~GcWu-1g{%xj+*ID>D zeCuJpI7mM@0|)VWzCj*1$Uz`h90Ur8f2b5a{`NCU;6h{KV@(+0eh6Oa0MgW_`&7Em zfQ6tBo$QwtBxGq^?#vRU(9Z-n27HSuIGvfuTf)d8c+?Ca-wq=;q8K8lpH-qn?Ycy= z?9;-??S}K-FcO?9I|C1Uq&PV(mkS;$`w*;cj|==?NGi)CVS7vkD_ujqh7w(MT^{}m zfgDm^MDEK*nnjW+_B@!;-enRwuvtAU-;!^MI@VHI!FgOnJJvE;znR2x_J2zfZo@ui z(>BK~1Z>)#UBb&>A#ta}YPtsMKpxl8R+EvpG?ZA*6|qlQA)&OexkvlLTPOnCWJb7F zwuC{|8ZAFSW|SQrR@Nl6vXXGG^5ucqNN@SOv z@j2SaLsdfLUdWMBb$?U)NF!1Uk(8?0$-?$0#Y)Kjv%m?l_x{YDlrlagWu&b-p;nP-rA4JOIWdK#PgYMWv4NS#)qzaLKlLtcs=m!}c4rkF6 z;FCv@d_rv?Pu2X40vCq_E*60`?1R=ZAqxtuEqDys(Y~h4FG`tmr)()R@N`9tE-8=7 zJYiTn$-2A{8@V5j+kEAoH$|>ZjYO6dN^BqH;D|r*KxyUQVJqJKw+}3kSpkpe- zCot|!;LyfB&lp$PCBrz9j6M7|p>?v+TAz|gN*ZjoVI5A^mAb*|2K3)Y&sx>ZmbwZ3 zjN4*%ds?=|?B)!I0r8ermEkBL@UVD>gMh%py$pR)U~G%Y-lUFE)aSwPs&%N3Kd}88 zO%g-@-3#jU8`T~FZ2O6^QYE=fQhNxpvu|^6(W*UHr`ou?Xvu$QaUX|m^no2&mA%nO zyjX=gK)b2DuSC9LcWCSO8QZkVJ$DoE0C8|E#dx(e#(nF=g<7syaR(S_+Wo`GcMS5hFcR@u?4OZ+ zZ3QW}RTKL1nONd8peI>Lr4I<)oE#9`3bbnu2>27UE<83zfFA2K$p2}k$2#>1p4r>- zf9bSsX&aT$cLXZNt{pN;Tnj3^6+Y`7`YEOOFL1pZ0ep(U?*JSE0Ja%Y^8koRCSMd( zpRpv49nmGMsY^h&@+`ud${NU-qBV5|(0RG1G4(^*A z%^_Cwk-`-~;l5i#DXI^#_|MRB-%Sp&<`6cASho^>9Q~bh`EQsohgi~Q%pn$!VsPJ0 z4zXsUbli87(~nx%3-{gR5Nk4FbBM*Ri~DYJ`oSNY;(fPVBal4AikL&JNL~)64gebW z-Q@I$_U3&zX&!ywE!PdYzVD{bv!ePui`j7BP0q7KRdb#tMVs?1fpMNC;;QbuO5m~9F32ryv;{^1hq=6ePWc z_ub^DAVo8tLDzqgh1`q>&!D4A^kIBdAI6t~#(g(Aj2GA(#)~7E!+61)!+60Ts}JL) z1alZKusMtu7>DuAxg-kYWD_-~-BEqoEe15F-NKB6)ZBjH{Q-H+F?UQKbF=f}zMC9# zv(Mtbn;dfs-W+qkg{-*mCdb_DJh<;BGm^mOm|I|T%q@A%F}KJx$J_#&V{U=XF}J|x zm|NgcLn`+x6v{PpO)>X7fLucd_uXceUAE^|07MlgrdVgwvc=Qx6K z&W%p2Cp~uryunf@c5#4$nDpN?l`1ej3&S*EYVV-H7{th#@6$*TBA zmo$%mbV+Ueqf2&P9$n^M2cYk}>7z?WA6+sZ?z_p+rNHLsQebm*DKKKRToXD!r-10> z`r!bJR6y5;YN^}-K>Dn7v6<=tddLyGDVbVQau@z=m`0&Fmu4tvqg!X(Vi!E7P0NJlRujvR^Jzw@KWlV zsEXCIADND1InG4XT8cW7MIqK2kZ<`}N3slODX20P9ZBJG{a&sN9!;r84pr*iqbPiE*DDjs%ZO#C=W#RorKZai2kbpt`ULmU zQ6IR(DY8aOvA6FjJz=EZ{?{9%G~~Ns4!`}|O^u`>?=}e$JY?Gc&$}U|{ihhsCEF_| zq4h!g*A>{5qxFa*!^~(IW~50+%itsJH=6CI2cOY0_{c%F@G84)KpW>4Oo>*{d`di9 zoMY@k#yQS5&ap*1$Jyc>{h*5QvyF3Xu@*D$g{Juj^*Zh%Y5pg{Ec%^K{i1o4C@SdW z%}B}~$~i*)J(9A@J6DqPW|~#rd6GOINm=DxAjuyfxt!%{QHfbfom@%oh2*J~WH*v$ z1j#n8kPiF2u6;lBvTjLuH-m)>CX85IE@4%3U6QisrK21aU-IwHs1~nnw&W#%%A0IX0T1ru}j)OE{LB zglKrRtpxd{Fme}eU2|FdvO!8>XpNR33Ga$f;*fCSLX!~pe88AeirS8Wl|%5mVdN7i zpA~DnQVSH$9R}GOMxxtD7rZ2lgiMv-EnT}l7~J&KTfYs)s6^$jVt2tBovDjB8Ly!^ zleKd2ZQHdDt8+5RthW;L>r z*j}iHw3n`X(yx0eZ1!};Nir3i)Kd6?hGXr92!eXpcXwrN`!%d}VOpq1KV zQ&k&ak9{g^#%NgESg0nbSbPs^={{Cd-Oh2Zyf#%S^zqgi`hi|=)<74Q1L$Ka@R zu`(Vd*$e%_=|5YYeJK-am)eRAee+|(m*&rE^XIhreOrh6K|XA~`ik`mzV$w_qrm=+ zv_F2_jU_ev=56^uH*d&ItLF%ROoJo)-HQIp@f;ppFTnf4eO!A4|?N3U3989Xmo2b_IzcoAiqkW}nzE{Hftb2-nldd*>refgQkbyn= zA^e!bI7W{>j;eLl_Q3#BF;=~=gs(y&Y(4GVX8zuN76=bKO(Dy|@tecFrlrzrTK!%# zOm~Xmey3>rhjt3zr8%WY09C1PEGag^SYK`48hkIk0TI(4OsHo7c8rjdanLbQRyx!i z|HVKbcEoJRTyVskcA`3Ml)P`0`ifDiTP36<`(BZKmVk5w0!>wYt=Vs59Win=z(t&j zO5u#qSta=9iI`wjSlT^=Mj}T8#l9A=lWj2aY4Q zqRe<5(@lU1rk_j$7b;SaFSFC)g{H6k&1_%dJo+n?i-w8LD!Gq2!c`jr2G( z)gVxq9zgLmoQkkL4jtj1eIpMiXJ@U)$>Mj^K1h=D<{_0U4@^ z!N9>+CR9aEjj6%2(5oyrm#s5{?mjK399BKE=(;JWF zOO|YGY!3MV+kj>H;7a5$z5vUYY)M82;_*nDkp}A+G&4R3*hU;7OAZl8Lb6~Pl0Xi_ zk~=XFyt&roV7&=3frKB27?REPJM2P8NW%YBcU8YP^JW~g`FFt6)zwwiS9NuDzo#j` zvJ|_Cq%8l4VSqarFmGmUPPclXPb)KMZ1h~|>`bc`I;+*uD=j&bWovQ@Ya;jGR};Da zzHG!Qpssj?f54(*hy3opHys6DrKg%=r13{hG~D_eU=(SbU*D<<^$lkMJ8+}{I0zUe z(;EX}Ciqp?ZV8^bIK^)+WUl?|zNBC2R|fyq3(IjjDZ>difoaAZPbVF2oh0YIw?0?C z+4wt0wW2Yig{arp-(85_Vjkrm#nJu=8B;hRrIx0dk+6(A@v8^iZ0ngpJtq1`@*lb~C|sbY7cS5< z{44UU54~TxiiW;Oo4i{bqN5eZcL4eVz-M~le;Cu`ox}@#LNga*&!+MArl`u#Wp=Ca z{uNv8?`MsFYzr@Fe3O7}>J;OSOcHlwGF519Voo*A`IN%poLao&z{@a;2p2V{jiYX3 z#0|!GL1WaR_9T|N*JGz>fc4_03UGhs4WJnc48CXX3yrXUDDYEI-qjp_@yqHXhJrR( zJ#C|ly9i56)sB^Zl{*Ldn`JsI*D*3i6Fd^rZaE0~x++~G=Ldfh;=j+DTsRk}Qj5KA z|8Fa|HkF?9BEvP(>yw;AEB&)kc#ika#u)!>j4hlEzvdUu2lSri0~&Ai3|pMhy#KEw zP&o8|$GZBCxME%Xof}oyxzV1IkMR%4TW`N_`rn$L;<+JFpK0#GCdS@Gy05MSLJU8U zc)qbM*|E?RcO-g~0|^7?c4m@UfR0kxTxYs3H#d*3KE`CalLJXZIFQ(BfbMiImuT-{ zw5q_foN(1yF{({D<3etk$qj$^C09lJfR4^9#Jl62tB-*>7rD}zIS8VEb;qNEagk$?ns+0RFfmf^h8~MJ zkL|8=zNPSY_>pJbk(Fzx%=z-}I=3?7d|#mv!|oVRE9VQqjgL5&Gz6sJhotv{4L>aH zd~WwE?x=|KJr&&>alW+sSj2e>p*x(^>+BF+)j79N3_dKu$dp?-><2Pf|&Cau)` z;#Cr!5=>;#lmL@S3}lmLZtaYt5n4~or13lhY3CVmR;CiLnMwe@sYEW-(UeX1IP?OxyE7vD-4S(An|bbtUU$05ji=nZ+-W9Pg1I^v!(?1r3)(7Z3W zBPySLQfnOE4TcUyBF^uiSEC~-cU+x|AAlGUxf#mm+yUkh&i{obo>m7b`G_;L`v@u1 zZxnujBI0~#ca*rCKY)2!Bixhg_IWf{_fEV~PFI_Ij&o|GJFn4wTb;W=BbGR)4q_x%xiy%Aa~jfl--!%E?d#mx zHg}$$^@nyhlJ-2MwAjz@CQWvJsG=YXpHtYaF3nC#`8^H$>8|*xVSpVm8Dvm0x$U z0gl3qTyq3N<6?hNuxcLbYYd&g~*UQyA8Q{I#-Kv9(2#9aX!zjbVk=f*#`8Y z?aGm9o4waP)7gH=orJ-jIOJAEy0EzSLQ6NfV;*(SdKB8d7s8@1Vb6@#IalwcNjewS zXiVjE(!_PTi3@ELNkJoMh677Mb8Xr{x_Vwc)Uq++T&MMNwQj*Tp=%?YJnT$(c8y0L zxz=r1|$ya3!?)KcQ3=Y7La3yk-}8Z+eT5=X2?vfTDU9)A(Kc=Eq3OwBI$l zavlspgInF;*4DYFHMnQhxnaHGj5_9yt^7XREsS!5TLTNDOVwxBxq ztOob(ZEm#9t-@Z?=)*Vu9lUa`tb-ME>cTTa*t8nliw52LM%0!^1&wHx)86LR0-{zm z0Oy>JE$SU^=-n`gm8fb&<^9m52IukJDd(Gt(l%(W^KI;qX!TTMnkS&WBOyGRb0^ff zBO401ZIsVF7N{*uQub7f5 ztk~+vVx-X&yv9{V8IHLN0ghhr6H=rE{{|nPJR8_gtj}r;aB#}%%oM@9 zp4Zc}t#|JH1@j2*=t=Z-&6~fVuD))*oXbvTGRAlKMG}Tl3ASWjXs0A7b`4|>sWF*wRGe6|kRIbIYJxG?Y zVyNKTfnlt<7lnmrL->yshWBBrYhflTv0|}F(0=n8XTn$Gf-LfN_q57-938MMp)-wc zMWfb%iBOUnxEZ9Wt6;$;R~fksr-!(EYUNMdv#|{=gyzrGFUJ5Ku3xMl1+y=vTr8{Sn zy8wivBby@5jl08VhuqU>JF2s7)~zJH^;#KdbHup^&L3RCzp1u}GYA+?{LLW@2aG6A zvz1r76X&^O7rWywHirEGxs~G}l=cNsoRK3$6sz`hEEfh(F<=;2$Vp-G{*3lQ=cl{K zf;$g{Qabyb$v$YZD4{i&LXV8};I1>V&8@DCZg$5%6MlP*J2HF;{DJV=8cIXqB@-|K zm*AL=qt}>KGTfitm2!R@+V6aJ7bbfYKuikuF1-=M>uq!|44+-?Uef3;L2l6bG!8mA zsXQOTw4gI868%P{^Uu4`(UH!NLinu`vh1VsC~Sa85`#JLM6teS}PN@x%s?XKuv_yG6`wIiTtbl$gXkX-ElMz$Wu z%bFw3dw0?7#(+BHUO+kNW8bs_iSi1YhU8wkU*s@{F=Yu%dol1`K z5cKg7>7#P)gwDZCy%yS!Om%oV9aG+eQ{xRVbj}B0eIwX@s?mnyH=tqP!f|ap{^ox< z4fPrt>MLr(m)4*Qhg5h~D7*+g`27tuCYaMthK>vmWBxi;ty<-dE-`@-xc6`!q8C6L zo^U5pbYBQYbD(eoqD=J4#0J1gSMAm=ORF2prW z4m%*!BjQ{gUI2xPIA^uFb0egR7w6oiDfg^FcUq%+CX@>XFS63Dc?^qWuXE*oS^=}* zjbUD4fVS3AgWR!uOL4DDdMrsRWp8^8~qY_<9HuY*ZoCj-oMztHJt$S@9 zEyG3HfI6$GrHhH2P zWksIn7YT>_`wCZiU))W6uo^#5sR*tDAq+)Nk)w$b{ydJ_IJ6(e3FCb13zdy%%1?0D zJbj`&qw=RHiXL!B(`cO)fhmI_$hq@z0STiVURVvO;aH6u4$qtDDx9Y(af}Ja(3f)a z&~&o%kbO(@aHPaM%yk-Y0zz;B>=Y??V&yF~Zg0a>M8b7=_VF5SZS@t1b1Sy6TIbIg zk5h5XY}9#-)?d_qcl0KAqO(1GB@{9ezOb6^P%FcWL++%T+)(tci1XK7`<C z8&-UDHtr|ZliArtvx`x_GlXsHce_~g?xNgpcVWJryWoW34xzryJ$=x{T}vf2ZxY;z zRZzYI&Tn8GA?Cv&QmRJh*D%Mhm3PDHp9XL4S1{~%hYlcZqm*tI7SJB&w1?|M`kY-0 zdhB5&w%Z+zlN>s+U3Vhp>%<+jF+;^LUmp$Ch3OvtDAsF*!k;hyPi>3Jz)|Ge+JGtX zTsrHK`3=SY$kO;ObkTOa&1oaj@5F zxIou>lE!HwI?Wx2hE(ICa$NKdEcUapYnc{d!UvuEAR5#EbBLM}UR;B#EovAhcx$+h zCYanGslJhC+F*18aQN#&16JtXfR02@N7lIJ z-n7y1%CGX%gO8fZORy&3xEw&T8jA$p3prKK!4H~-hGK-^mZs=>VGc~>0VkQFs~+r; zxG>Ys=K^@7&UJ(Cgva!mxBh@TXV4uvs0m^4lWopay%b`zVxfNIjbpyT**YFY;?36nm<>V0-mfwo)-&db|-YWHEWQ?H6&c?F#K>8`7N5X82MxFv<7zqu6-KAAuOct z=>dPD%z&HS_#_^ksN^=>6UVy~eVsk_)Z}{vCdV0Uzut_M+Ohw~x5$`%`7wNF5;4h3CNIx{)qB!p=Mz7VJQDy@zKDQEWh8*?oXG&eSCdxS!Y) zFF2yN>*9G4+m*%sp=6th$F`X`$D90GE6TXhN1Wm3f}MsK#F6>E2>dnczi?q zU$>N;PBWQrOvP#bF!jhAJP!I(duU|?xU%8xG7UB&3i7&Zw!af0WH z+dVufNx7#rx>KO1jdag`UdlaZh#VH&IV>8YJz_kp-8eWo(+-dqbm{?jzP|aMbHIIj zBke5^LyLPFgpS8W5H9xNF6C&`B0?-!+?9cF2!vSs|UIY=F$0RzHa{vEVJM0HoA6MG|@@9yNTt}b^*2OJ^{YviVzZgOYrb|)`(=>~N&?qmFE zRpervcQFsR3vzMHG38!r%G-edFOJbA@eH~0VHaaP8Vv|X-lXg9Fr3_pSVyqEBO+0Hv2y`#eD}`UM>+ z76iwhrv9PfI^<4w4kETiD5OQ=nbjKXCU1Gj z7GvyRR3vO}_$!{QEd{d5kD7DEkTa*@Cg0GJz}Fx!>`Wnn;j!41Ue}w_j*?c4?bnG< zk#ZQ6Q{xHVv@piY|E2{SF8NVavb^JQ1w9#SGmNVw+;z>YbY_#=d=XaVl>PLqxeiK! z2W~J7Q*iM%8JZHrps*5~#VF@0XlEFHR_HM(FFlbw1qXnc5r~*_goIs$JCV9$ERXKY zr%+izEq*M^4Z&km&K4*Zns-{bftp7m_ZD(aiM&*jVxTxZMyTqu)?b-KxZ z48pQGlLxU24!Tp@$Y{@jRh@`uMb&r!H8ni51`aJQ@Novzw;dzH%WBBgyCB?B1EY7y zJ$1j^8VPTxahGC*-qq&f2;zPg|HAY<=uv(Di$5TM2Y61Ixi_0j(X{GqhJUuw9MCUW zwMn0Ke}%(3V3WZ!4a#uA2_3ZYaL`6Yj_AF`I*zaXUB8WPx@`xW?icp!Pet)(l^2jLpvWcIWQkrd)v_eh2x$4w4E~^?gK7;-04^r z*m~=5pOG^+JxMx!uXCUx^*JX=R^-MI<=S&@f=*I%>6X|@;sOcoDqPY|BDoZxJ1b{0 zeU!N>=WYt0SMAQk-Ur{K(dmSjdpeHr9dtE$t^?(poI?h;F6$}t4$ds5%)|pOF0W7r z^sWYO%T(;{@Mb18I_-F>3jbH%F~i}Yr?!JmJmpL~;KbV;C^epG!^J|CEzNqM+Bkbj{By*$tVJGI{pdX%Jjq8N)`Fsj(+V9lsGw7WV zXAZHe@pRi+B;t^RxC`_Fc2aoJ1ao*@Hs~xSHaya=d<{2gWN6Ne;7mCS*WL73)%hA$ z3QnhsXxM3W)YkE#v=Y6;S#(l(DP%e0qj09bynDa%U40aO&TXQT@VPKkRgiWXZdml4 z*CALsIuVbBXpm93MMq-^o1Kk;md1q4P35$ zxDlY!v$W6Q4(kK+r10_y5$7@t9_~Y)qZUT*lCwH4m*JcgH%On=?=cN}SvLqX;BV08 z@bVCB^9dSs@d+Drnb#n5IsJKeLZvebelfksf(IeH$%meStEvXTuu6b1A>leaAkqk2 z8vYITs|p)UghplsnBLqKo)yA*$Qi`52HfA#%>rHJLBIco2Oi@hxX~KKZMMD(!51#M z!WV_ycLIIPO|`jO2i<D2;etBz?TC=jbIo`T<<@(kYDj81>45(Btp2_F3xq*19 zlQSLN36mR0Cga(TWM7h=n8q`?0ku8dr_=UK2CroHCF4EGK85GH=|rE(#?!rBz;<=# z(tTa=fkZCd4`iaZJ&l_Tm9tQ1e;%*bqKMA5z;lx6htIfBrTVww^~`L#t1sDEOHEPn zIK8raQ9P%%rIXt;{R6lbNm4aletWtz*9}&jtEov{$n^AYPYxi14tDep^d$#WcmF{8 zy8gagq6bdTKrRhpwJo1f16o!VmtgeTFdAe5-K6-!PSvhy`jXi!nytGCGLvRA3f=Eb zV%|_@wm{sAs)7C-jXTct|UEQwq(tU4NKJOm6u)K0_DalzSriV<2@t}`rXl+(KQaBSt&CY z^g^bnr=A=_@Z{UPnPr>h3ATANnKo-@k}A#gp!4lJyl<*fur+#?^lmu4 zE3|HHeAS9g%hw@Lg#lsj0IXTp+Pp%rI^)ByS+{Wo5v^!zTGy|kgAc8$XOOY!dh{;fLG+n>)Sy{yIe^!H~p0j&oO^d+~)eNrgv zRYUXMnaCyLiOx=#Xi^rkt<-|vM4xWV&bYS8=^e=)GT`w}v($);I8|qshKl|7Uhw66 zFmCDVU?}hfTbktst`eC{&rULCxo)4`&KUECX-THATwtk<2n}WPy#|%dx6@1ZR?T2` zbUx9yQ%m!Ncjw}{ex774Bi*;n$ms0X+Lr1~>`*-8q&Q^k@+z0aTId=`bkZJzfgSKN z&>E{eT1E7LU?}uBQf)lGodb#O=x$~Q8B6-kkPV10+ObG&?;q&t)D27Y7G$vOwtI%y z>tAB0C@MCW42?dd^S7zB@r`rjZyg+7(O&3dsOXD>LaiG3MP?(V5P645ZPh1R3m%*nSKymNy}M z`$K0sl_K>WNTzzY;dU#Mjm>bVK5A^dN1G6y8WEfkCQr>|KokGO6 zOnpzi>P+_an?CrSNa?g_zn%5Z`$OO@tqoDz76I& zjnUt3BHuY zEwhtc4Q*=;gYi0u1|+m{u+8gLlgyH)EQDTe!&cFg(#uH$w3Mg_R#a2av}Ui(CkB$8 z7NOs(>ww#0Zv{GF_%QPwiHx`#0M)Xj+6b!B8X(+8W$58C7GK7fYp1SgX4R(pdpfa( zRBpb?El|DlRWCipG#@;b(VviN6>z>qH47;86$&9Chq>G)F^1^XW%@vtfN_HXYNLQ@ zi)v-aCNYMDJEU3!yqAkYs@ak=5aU!xLu$Q%($tXJT+HJ@8QxrEMu#Hzbjyr+#fwc0ngAE-qI9Lwt=Ju3d%$uXp4X%6Z0nZ3Hv`Z#0Y7a~@rN1wZx6*#AQ5hK zSinzOu4WN*+(QK_svBj5WN+!&2lx1?0Yi{yGcNbB|slkX8`XzC}_P1I>%NYmljb76#9fzV6jUbzp!;R2{_eqH47*LL#jzY z`T=7jJ78(Ia1s4Dydh~7@E(iWd_RK}2i8z+zKB7J*UhN43~upIrp)^eR@Wlceau$Z zEY(q54*FmPN_F&e>5MXf_x&(ae zu)tm`n*^-1k^%#6`0?{84AA;w@CJ+8Jjmc)55-U*5pG&cT=*`_)hvSU@leGQ_A%mf zmZVic`r&o@Kq<#C_yZ4R%DnG=3<@_|Bp_b@(I3pD2>Le<#e6n7%tfO37$X5GE);!W zaAXbR_ksmw0Pi~}s6_;Auw2a|=p!D=6Jem2xkVc-NnE)8*+Ug`N&XB5&<_D;G0JSo zlAG%h3iwfr+Wc7tDY_DUN^EDQK&e^=Fa-ii9aLk>u;kA12nFXIvNsaB6t3^Pm!}L*d;s#+b1oUcb4%QgxBVxbm z4}Jt%e=v^%KFcW6N6Ee55ehihnuN{t1NZdV!0vg8d6XJ|Xa%(hD0P@VO73SKp@3eE z&A}Q2eKbwNuj4R)J_=aPDAPwFEKc!r{`!Ma7SPYwB9418A8e^Gt`~5OMKu+Z*D^xZ z2ihs%6P7FfZ3Yi}D28lO%aCxR-2y(&MVJ^7RAH4ZppS23>PIbCvvB#$9v9kVHA6{G z9W`DJOQwsFE|4=q!;&5JXhXx2x!I!)fmX6I+>jd{mdt$~EglICOEbmHqdGz}kxh;< z^czk~oPC7kSC%Ah*%_$f5v;Q#*(#v8ci0_1&81?wffDdpE-I~tBK~YEzC}P!{ALkP z0fFd)85YnlKB%m3X9iDJTx30MWd-_tITvlRMM7*koG9!bFZ?PGyYc!C9#`-0MHCyb9-#`OaF8P`kQ zOlD#aQs!mL*ec-PENY{G8+pu4BP4f~or#SCb`}t_Ae;P!ArXMpWy^{HnIYd~-Ds-| za0xa2njd|%qDw~1Dv+UJ$t*R5L>V5I%oQHe8J0}KLskq+W}Amp!;-n(LxzSWv(H0@ zhb8kR59tg`MrIsMsu-5c(;lT7mdt;8$k4E4WUh3NBvZp<2Bb4AnbSRF#js=+ct|xY znaez6Xjn2=d&uyxWUlp)&ah-|^^g?-4U{=cc%4ype5LzncgT)~G*$OdGVk*0aE2vw z!itBO;}K4=^9o46h(#aL^Pmx~XEU>aQ|P9E;*H}tXC!#vdzkwDmMbBk95h3!)1x<# zcwo<1u2unmZC$ym1^lf=wU!g~O)IEHz`rt=qqZL`W>eCDr!C)l0i{+P%LMcqu)bK5 z)b?u@gxOQWl8M@eZye2FzlVB>L8(P+gJh&iEw8xJC%H0&NYS6sDyypA#An=;`KJYH zcT{%waIxG%mf{K~aMMu*wv-M{VP>;qszy=A!#8Nk9!g$VCrYlE6y2hl}=Gl9uAeJiO45y>jHs3mxif-moS8dycZP7`%&$*{1N|)pF{n_B*4JIh&CYLU!C4 zmAnWX$@tDYxl&L1L1y(Pr_(DmP!(T3p2;a5KnQrtXhQ;TQ@~ppMXNsO8;h(NEXz@? zcUDN|T1L9+&I+K5+i@-zZ?o+PSnmtDC}v681(bHdsC<=O5w8LvI)UhR?$@=p%Yj`W z#YH(w5-`=*aM4an5-`<$TqF&~qVgJQpdlu?$4Y4x5WoJeKX4!foX9A1!YGzC%rfvB zrOddwnB=oe@-L((0Z*|max)XzB*@hwT$3%ARD1%i^}_WzCMt0WwvUS_oGg7{M2>2} z|0RWYF;Pf$_=^dCfQz2?NCcFd8cadGz*B5L0+JqP2`_k(iYu#S?hCAxRsrR>QDQ4z z%+zvYTj;B&x%7KhW?){f<)UFu(V;~Gdu)l~)*fZ@zgWqw0{)aOM~T)x&Yt{#a9Y^f z|77gtRzRS&e_)asOoG-n2<)*1T06+(PkC&CE&F3!Cf+F)YH_EJGs)jLh2{&`Xg$C{ zn}utMYve(&fUB9Sv;`1GsRLV!fU9hE0q1Bb7m4f={b*v6AuFX-z$Mnt3G^e#)goNt z5|ub{1i97=*HgCoKqpRu|Ojz8#ef2TQv;Sm_B3!pyuE1iM z!TWHYQ`jQ`cQY4ebdjmm`~D4+Ut}dGyuw0=Z7G_Z5O4-ln8_<7_i|hXo@VFa_?eGz zmb%o-GtCZ8iBI6yEG}r0Z|1UtoZ^U3g%i7EzsKkZ(A%STMkW7zAvx!4@?(ac<+Q}^ zjUmw=hg02AhR?FN;O(U>HF;}=_ypc`0zP@1xrb>Sl?Yx;aB~%J%4lP&fC<}`7J00G zn}>QIgZHxZ66fcj>=u#TX$3Wl>`z%ifsH{fvb+|RU64PsQd$LkiBV>8OQR$`$fZBG zj4cBC8H0OVka2w}#-LRVGHxivxFK+WlP1gR@UN5+-2752rHvW?z-bBHtYY@*-Y5t- zi&3SGmoUo1EZkZN=w}R$!gv-tfm7;?z-L=raQVtU_jXH@R{|fhxFFwQF8h(C$t!_> z#Fn?z;K`Hu$E|g4mwAx%6rPZatp!~;Eb!G9w)|CLj{!`Tck^ayQx zxUiRPcO2tKG9DNC%x;q^UhAvvnr{_wr@aga>{3E<9g~bx+Yh19+Yi&%!BDUo#0Juz zF`Vk=OGb=?G+*-5nfL_F7ZPbmrP>>9)t^`8*3ouV-f=vi#hyS7n4-Wzt7bu^EN3m3 z&9F3iC9u47REjUg^visF0*iu_;@iUX9X>vRZ?U+be>KEqpXC%oAfVh;mR56NyweKL zD}jZxR6`Fk{WpDl0{^GQ1sht+nk&v98YE;S})Gj4C~x z=X0rCMN)+Ve~QaW8GJ5MH4MNk3b>dXU*ez_$-HXmI;EYG%DXndv?T3PBxg%e7fR5lG@&hb8BU51eJBsavi1 z76I?G;+q8&fh0b7N)cIiT3PJ^ewR^nVJ7fXmMkHlUw(Uu<_G5IAh&Ux-6|6TE@hM% zY00hj2xX2X6e5iCjQ=fdykF4fw5XK)`m$ zdo~}pBmuL0oQuNN$!-;Juf6kawoPLo$kifT`z%+WIcKncc0H$9kOF?2QKfDn$FVzp z5vO1i@Ghv0EqALMEguHRd(K=1q6%m0?= z?F%@DZw$H zX|a5{yC|khvoaOam(A07RH#3^Sxi9IBZQLcotQ4F)!zttjA;88IJISFj44fW zCgX>S@Cz7!xCnna@F6utZK+wJ1@L_7SJOgjqB=Cj;B_Is=GWgaq_^Zm`Q)TekGWgwP@c&c>{}JFxPhz*lFtSR0Revk> z$ujhxFN1%q44y9DON|d*7nH)&>r`5A-xt#@d4b#Wn=J;IA%&r}w!^wI^E!zq<_n_A>ap%iuo+JgwhuUcZysK+>-<(D*;{fEoYK z@%Vp>@drO{@Yi76>2sLz^`DIC{2s<%0uPSlWF9nlvJ3Qi4)mq^d%O&uUO_8GKNbe3 z6n;t>{H!wg`DO6$D1#UMZ2DYG_eY*5(`mX?d#)^l?<#}Omcj2XgTK8D{=;SP50=4y zz6}1GW$^SzKBf9gf4Ni&AB87U3V(VT{M<75C1vpRM?R(GXUgDjErX}4nNo5dE`u+( z?|%dIA>8NHzhU%5D+_;>l7ATV6yX1)@u#T6Mf-TzB`M=n z)dnNyKIWQ&nwsq5K(4f0XU;Y(uWT0Dqa}*Z0RXh8>w3-)r!9X)dJ@DOAfje7(WT&nVC@BanRg1$M!A13w<^jBz__Lq^c`Oh0tL zk+aF56+$3uIeQiw{A$L3l<}GE1}`ru+^g|S4@L#5#kL)-2Z7lz==U-}g*Lr;I?MD}f_{;|lUM{9T#&~s?!FMb3`IN?U#+Q7d4E~!U=NmCiEw3j0 zl=1r>Gx($~RqE9;az@~~i^kz-tD!%O>8luDKil9RXZ-2F*D~x+&eQaMjDZ)I!LMfd zTRs!hgygT&r;YKo2V**aCXe$qW#qhz=?`CE=;vrIrEV)j-&JM$Tg7%@64QUE4E+Oy z4_B$zS+AH}?dN(ki%h*2aKRIdKf2A}-^+M<2mC?=9IxVu$>%VE} zk$@%R`nrRarYJ&zwUn3tI6 z)iQEi-0eyqed5(*jUT5D-fHBm%RH`Qd~BnkuV?vf zj6XhP@Xs;6o$-fRPu|Y>okGucV=v?1&G@19M$S&g-yw1yHF&yrpwC{7H?aSkUR$B@ z9J(f^(Jyl0R~f(O!v;T+=kXhiKlmPle}?J5%lN}r8T|E3|09iOB42Wp>6?ny#b1CQ zkMqc$8A~*E1@lC4k*@9PKgTrYUdGR2{Jvp>{{iFAXZ)UT8~g_u-^BQX?>6{%G5#vX zAHUz=yBMDYemwqDhYeoZlVkd-%MJc&?(a>E&+xjaV>x#){*j`2p{E+uuYDIAIjfoe zA&uvZFZnvtA7+2%TrT@J#%K1%G-fWh=lL>nepv?pXO`1+iIKAn=PvqGz^|w(;UA6% zzSR1v)%bDh@RFG3zeRuJ8jA6mFB&|YWBr-O_@=WBevv_|x0R9KDD+K+US3nblJT** z1~0Ea(5qB5&Q+`rvcBkbeZn99prOB;>%Eil$G>3k*E0TIk;C)5iSeIde2o3K4CBAV z_&uLBa#|SwZH?!QFZqGU`HG=$=J7eg_)Om56O2E`_~WY#ektQ$5&E>jLxc6_&y26) z_H1Q*#b`4Qd+K5u)5~&dG@glk$xNoNV*8NhvU!YGx5qT*%Z$I6@rO4W{0zol%J_pD z3|@Y`b`9g3-f8d$xjmZ%&;Ew^SM*oGG>@@s3*~PW{0f7AOqtJijpvLn87zbU0LxLA z#x%9O&~QKFYp*o;kFu=K13x}|s=cRWwEB7(`Sd5a)c&E57&$L9!%rArwbS6`jf9sO zfBZs&m)Cn<2cGJkU389f#~ArlJpOZ7{#eHEx!cJ36yr}7JlkiPuSJYM$o-Xf<{C7f znSDtM(<^RgFPA0D&}W&x={qq^iSFpn?TpWSIi~YZ8ML~e@dxJ{{I3}QFyn{*)!;8@ z{No~L$l!M{{t)B$u^h2!PYeBdhW`6Z{|m++<#p7`_}^(fXMD*Ynf?*>Z*P{ev1VQ# zSrF5hCmBClBER3z%e*gTeANMipTKg~X*_3q z$wuI-e9s-Es9ognekw2G_mq({x61TaBFfETK?5Qu9@Choxc$2rzvmu(NG#x!hp-(I0Gi*0D7_{2L_*l{U>eF~8@+CJi{qaX*8v6+@`zYfd;q$)3_)nIR z(}?jTJ-m(mLnc>W75VdG8g)On|GQ=69ASF(9z%anb1C(6#@F+@$g`YZGrlTg=;t#1 zf0dDsBd*qy+C7H;qY=YEkJCwi9$`7Rvz!{n@B6BumwWZ;j6cr);dR`e`Hau7U0uR* zE@k{to|mbNZ)5yHrmtswFXQX^UQYb#8yGJ!xaF4^Z)1Gb*G)Ss*gqT=IUhB6d6D!p zjBn~R_({C*z9e#Zoi5<^9MpKu_>vzmee6?4&c$5zY#I7rm%+cra_VOpIj^#u3OGpG zfB3Y)pTgrzuNn~kDBGXQnEo`zXYMrgH!=P^jpvLnxrFIsYYaW2d+X1oz>{As&vS)^ zUR|JiGph`}tm`Yv$WMxV)~jhOXj>Wj8%6#;BYzLme}M6d_o;rye~j^4mc}&Zp#E0s zLB`iEGx*Jn|C+{g#+Q7z4E~p8@PA_Yv2%_5I-Zx2)igfA&t#3qxP8gc%lyt^d=u+i zf>{?a{^%A%|2WH!F@7j*@c+&9O(H*I@QWC~iSbqJFUkJWtMN?aORg`2e_t8=-DU8f z(fD!dIIoK)uH%c0-^24FKkNTw89C1hJf29om4VE)>c1%l<`wDuc8AXB5 z;ZeYc$KVn)R!~-5hW;Fl$NawA&@W-Gg@V7!;6E+WItFs{>-rI7F43Nj=Mr6rv4ePn z`BbW|10jC~l3nR6;@!n_y>SFMLx??4cJ{}+divWD%&!xH^AJNYkI+#4y_p_F+3T#U zFHI3oA-EPrGDB=5#LXGliNINicoy%>_xA1ti!T?~Vd?y&6lo6a(c#A=g{-b@osKbQ zkCu4+Z~`kY)v;%Qz;PjlgANKj|1qV5hi7zA#6{L5+$c6q%rOhK-{1 zppW>LXgUB9rijDKnT!c2XJ8$_$bcN?$YchR+bHf)M+PIML*!B5Ia7qtZ)pRW$bJTf zP(*BFm_o1t)S&?5h@;gh0sT09q#?7hC2f}D{c&DL;{$BN0_J6S69{${r@^`<^KpJU2gI)+aMo^SG2E9ObjF2#QoTUJ22q~6EK!S5JH5$=k@x^YQi zL_S7R>!48xm8I8}4~uYw6c*0l5dkl|l?y3UUy(>%A#m~dr5g}iGQMK%as97})$w(gUfR5(CEl`RDWbEg`0`C_m#kU23}Mmy!LWkkKy!o+ zO4wB|GFV4<65-4c1a6=>M3xs*O>BT2UthmD(47vVY9mzIc#RaSOGm;>#V%XDa_O@8 zg1QBD=Tl=O2Bb9Ai0ncj*nu>g8m)G^PS|SFjYJ;iESW*T#(u;Lgb*D)vS3jOd3I+X z*$sc#M;+R-pcz!R4xgCq?(NJK6nWwMPz@U}GgK6)EuKNty)=d4#Y9t7*n&WC#?F`m zW4co5t~``jwKY=*)>4ejT%xa_LTXD14YWfZPgAX$9eIsbVsBxP z&Un157Y)tk5{Q5qS7a>LSUc6{}a5 zU%~ox#S&c5uwxVD#hliG3UwgHwsi)M|kS+SscQ(APcyCjefFwJ=bG{>;uLP;^?Fh?-cyo3SB6;n7kwSG~+t+j66= ztUWq9DOzZDX@9_EZ;_fs>lyu`pu?=7GH94N?0nDznFceJUaP4#?H|x!qGM!MO!RN| zM+onCTvXeo7?{hJ@w`xI-+};-g>ghB<|J2x0IqiPF%74VtWtUqRI+gcdP727C)W}6vllPMA86hdjAvN1a2 z@s>5qc(*skq6wAu!=fO>sdh`rmgu0THiD%$H?rU`=h^65F90hJJ&@8`U*O6-5n)11&@J~%2Npf&oM%YtcRfwky`>5l| zQh;)Qh-V_PJIVsq#@s+28@Ap)OfY6UpC&jq=8OYKvn7M3=o1!2BNpitG#dR$_H8TZ ziWMb+xJdzYpl6=ncHL}pO>wI0geLanv)%B*+Ovp1PWvXS3|1dZJGmB~lI(;ffO`#J zP#+Dz1rE4W9o<{wsYJTRwqy|rF)_#E2uD7U#7?Bob`-i;`P3G;Ihe3iqmyAbEENG#3Fen{anyobUXl znEliYDxC@afq0Ga)6wn8SlOx9THS;F4&5Ttu!6$WU#=?{Fh-L7slveQU41=x zTvXOaQ+YN6hc%T(3|=&=Bj;%)O#=s9jwf|gZ{&Cv=at6Q>9O@k?QL6=$ZSZYX*2Y8 zR-t;TuyK#c}OmbNv%7sy~9h%Ey-c^;8vrY%E9OScqy+ab-q(YG>V^2W zCKxK+4U7@ZX`-kR%b*=yNwX`#kPM^|mKrAz41ftWZPbGNAXNufF_&mZnj0`_w?KN! z$*8)%{#>%It1n-NK;&>a5MJ+=0 zE}=l)*%xpWqHt8|fqM7dck| z_u89p_6z^zZj8v(<$QrJ<5$eDiSU)cKU`tk`n#E*-czSfJwNxOdZ{T=|70q}Cyjs9 zRH^^&Q8DC{x|@XJvyl5?az=*0lwON}2>D{$|NXHsLaXoNIVpW^Hi@1i0;L{FcLDb| zAAi%h7?G(aJlCYp9{p|FO+3cD)Gz$^0Y~G?!>sIcgjyi+k>{T#XWA+-rT5^UpTD*?Mrc)AtCIi&Hw(|~ z%;!NQ1^hE(x}bKZDSzgElghX7N&X=Ketvl``t|P^iZMdSDUG%N^95vxU&deFQ&fiy z)qOJX%v4z{tJH?WPX16`<+@Uz$a!B!;J4* z3mG7aa*`$Om*>!1_{FZ-(oyD +#+ +:+ +#+ */ +/* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/08/01 16:40:14 by tvasilev ### ########.fr */ +/* Updated: 2023/08/27 14:10:45 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -18,6 +18,7 @@ # include # include "libft.h" # include "keys.h" +# include "matrix_math.h" # include "camera.h" # include "sphere.h" # include "hittable.h" @@ -28,7 +29,7 @@ # define CANV_MIN_X -1.0f # define CANV_MAX_X 1.0f # define CANV_MIN_Y -1.0f -# define CANV_DIST 1 +# define CANV_DIST 1.0f # define CAM_PACE 0.1 # define LIGHT_PACE 0.3 # define ORIENT_PACE 0.01 @@ -72,14 +73,6 @@ typedef enum e_bool TRUE, } t_bool; -typedef struct s_matrix -{ - float matrix[4][4]; - size_t size; -} t_matrix; - -// typedef t_matrix_trans t_matrix; - typedef struct s_img { void *mlx_ptr; @@ -182,7 +175,7 @@ typedef struct s_shape t_plane pl; t_cylinder cy; }; - char* type; + char *type; t_vector rotation; t_hit_func intersect; t_hit hit; @@ -259,7 +252,6 @@ t_err ft_warning(char *msg, char *arg, int err_code); int free_img(t_img *data); void free_scene(t_scene **scene); - /* DEBUG */ void print_4x4(t_matrix_trans m); diff --git a/parse.o b/parse.o deleted file mode 100644 index 6e22f073f0042221656f47d5f4ec1c6781ffade8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17784 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 diff --git a/plane.o b/plane.o deleted file mode 100644 index c50e918578817017497c9ae5d966f6b177be67a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13680 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 diff --git a/populate_solid.o b/populate_solid.o deleted file mode 100644 index 70de473dd34dcf499c1ec998b59f4b916cafaac0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15472 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 diff --git a/ray.o b/ray.o deleted file mode 100644 index be1c5a89275a06215229606a69f780e1e6888d49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3896 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 F{{t7H+;;!~ diff --git a/circle.rt b/scenes/circle.rt similarity index 100% rename from circle.rt rename to scenes/circle.rt diff --git a/mult_circle.rt b/scenes/mult_circle.rt similarity index 100% rename from mult_circle.rt rename to scenes/mult_circle.rt diff --git a/orient.rt b/scenes/orient.rt similarity index 100% rename from orient.rt rename to scenes/orient.rt diff --git a/plane.rt b/scenes/plane.rt similarity index 100% rename from plane.rt rename to scenes/plane.rt diff --git a/rt_weekend.rt b/scenes/rt_weekend.rt similarity index 100% rename from rt_weekend.rt rename to scenes/rt_weekend.rt diff --git a/scene.rt b/scenes/scene.rt similarity index 100% rename from scene.rt rename to scenes/scene.rt diff --git a/sphere.o b/sphere.o deleted file mode 100644 index f658638be8b7e73dbd43fdac71cf9283e553f39e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23904 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 WVEPXE-Ydta5DnxUltWw0_Wv(|ktz`Y diff --git a/vec3.o b/vec3.o deleted file mode 100644 index bde07a7cf6a1d0f0ff568eac9b470814aa2c037c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8672 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 I4sovQe~ZB$H~;_u diff --git a/vector_calcs.o b/vector_calcs.o deleted file mode 100644 index 844eb3208bd25053bb6fd6d88291f3cb436e18ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6320 zcmbVQeQaDu5#M*`J)eEay*r-P|NKZc`o9M}adA6@piCFo!Ek@oD-{i^q7C`$DXIuzJAfd%E?t2|*25H$fEC;gZSKgQm2 zMt2R#qH3JrjH83^BR##)?@Q1d^xW|);4AhB&g#-K*8_cEe)xtlK_4$cz=|3d_W4K8 z{@H65WXh{d*Px77V2ugXk{dy~xN1*ah2ke0A72Kax7{nTGP@U^wLNlKJ#AR46Xn!{ ziDfjJbcO)tqL~0oWLexsP?LDm%05rZ8WtubBx-_Xjtq&}HU2e1P6gsvzTsn)HF0{! z3b8~MDHapci&0j8L2v}%Pem7_tpC2zoiv}lLeg)DL;Jps1v-9V;;K=SxBJ-IM*GRO z+xMvnmdAW-ZCsvgXNZSIb}`DeFt?J{_IOH$y0NaxJq>CkkY)h9n=u%LsAC1wrei|1NKwzz+5^ho zSPbyk25~T@EkdkIL0l|`1qrc!Jvbdqq4EJx#g2 zHHdZGdIL{^7yQ$N+s+z6*|NV4-{H_RYH(W9$&~Ty@U6}aaA76USHJ`{Wq?^DUx4rC z&@+i=5!6|_FwAN}!0J*lttdA&#eRq!DAX0Zs3j5VPz85}66+E98(P~$T~0;oa(hDP zOi{m;C&8au*-WkUV;)Os_1e>DtgBnG#5mT@^hpq`Z4n!F)k}R`+tH-Q^zbnra8MIqd$;lsg8vMl zu68f*4BGCECo1tMd=JHO$D#cY;y}3Z(Y`<4e>N046HnY5k7CYQ#DQ?rA|ZB8NkZTr zL_$pO@%nm*eFu#|xI>T-TS5VdYb-$RO=1@ymSw#aUylsmJMgg_q2?BNz+k`!;~dv_ zvljn2gl$WvTKCChWJty?02`LEh$lmlF)4m4+gi8Ec2Ltp@-|O)56PWFvgJb9^}-;B zKz3wkL5j#O+0`08JulmTEW0D~vj2kIIWJr0m18s=c1OeA7i20DZW)rv;Xzno9@eqO zrHF2m9cpz?#yn{QnuO&*R0aG*+FldrkYp5_oFi9%Jq?`Bb&joJttEi19b@6JOGQ1LcldB>BFGEF1LP2wl6@RAq%Dp zBm7VFG8mi0KW>^nttzm|gq0qyAL|Btxc-JTaQ~%m;OZscfT0o=@io}H0Kxra(mepQ zK|OdTka+KH0U7b5g!e0}5YG{Qop9cli-faZhWrNzC)MA_CkUS8kCVnT`u0st7vBNDL3QIvzz_TLgz*oY|LO)={dEM6IQxJIv(d!(dr039 z!1;oT5Y8Wo{ok)uv6(oQ6($+k`$#tNy9wt!Unc#4ftN_<=ZXHo-S`Q^|97Nk133Eg zdTs#6IsAe2lf=1Be*RAz{zpmws)2Kz-!SkQ(!X!ud}nyUz&}U&B?JEq=|4AcuKU*p zewy@G4gAxj|J}eVq~9RUbKrg5ga8mfFaCYfX5c)BO#vL|&vkAM;KBLd9>CF`UqpO< zc-=o?5kULM9~tg9{z>zok>^|J3^Z=|^Z7d-@W*=Cf6l;pU!61XKdbCQd@+Dy{kM_6 z7{G)5K2JC@te^Y*uHpX!%Kw6ab3IoKoa=cxfMY$}|J486HeL9XPv5hswyfc%XG!XyRMTf6$);Vkb-|l*4JN3 zQmK|HgHAeA^h)|_>|dbOo!Tjus;+b3ztMCtQQD;6C9jo%kCZC`J2FYwAACqT=oFjV^drf|MZzf1n2`5mZ37 z;e+STq^IbDFi3_Za7=}F5u{Gd#M{7eeZDskERNE;=6b9%ze4dG$9$IJfAnAaN3-Fg zQtY6nUgd9akf2}BblIqafTHnK9xYhhtXnwPl2j|xeA9H>W0EX-L!zV}! z=nV9RX8t$V%DfjWw~Bv)7TV!QYJuaJ!_UrJ_Ww05^c~_E{;7`V$HlPtCdIG#h!)JW z7XZH1{4%tmmM9+Qha=^9-hbZ%jC&zh#ZI+o?WAEeRQ31$R_hBof4mN^kH0?5_3?fd p9=?fxM$W*;CqBOnU_6q!{yzaTwwUs}j(;$Lo}~a}xVE|ezX3?Sg;xLo From f8fdc145d3d869a0d62a77ba92bba2ee3a1b6dc4 Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Sun, 27 Aug 2023 16:15:46 +0200 Subject: [PATCH 39/67] reorganizing header files --- Makefile | 6 ++-- cylinder.h | 19 ++++++++++ hittable.h | 47 +++++++++++++++++++++++-- main.c | 3 +- minirt.h | 90 +++--------------------------------------------- plane.h | 18 ++++++++++ populate_solid.c | 10 +++--- shade.c | 60 ++++++++++++++++++++++++++++++++ sphere.c | 45 ++++-------------------- sphere.h | 11 +----- 10 files changed, 164 insertions(+), 145 deletions(-) create mode 100644 cylinder.h create mode 100644 plane.h create mode 100644 shade.c diff --git a/Makefile b/Makefile index 00728c6..f743745 100644 --- a/Makefile +++ b/Makefile @@ -3,16 +3,16 @@ # ::: :::::::: # # Makefile :+: :+: :+: # # +:+ +:+ +:+ # -# By: tvasilev +#+ +:+ +#+ # +# By: tfregni +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2023/01/30 20:41:46 by tfregni #+# #+# # -# Updated: 2023/08/01 16:41:15 by tvasilev ### ########.fr # +# Updated: 2023/08/27 15:47:13 by tfregni ### ########.fr # # # # **************************************************************************** # SRCS = main.c parse.c populate_element.c populate_solid.c parse_util.c \ libx.c render.c sphere.c plane.c vector_calcs.c event_handler.c \ - matrix_calcs.c camera.c vec3.c ray.c cylinder.c + matrix_calcs.c camera.c shade.c vec3.c ray.c cylinder.c UNAME_S := $(shell uname -s) OBJS = ${SRCS:.c=.o} CC = cc diff --git a/cylinder.h b/cylinder.h new file mode 100644 index 0000000..fb79ac2 --- /dev/null +++ b/cylinder.h @@ -0,0 +1,19 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* cylinder.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tfregni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/08/27 16:02:03 by tfregni #+# #+# */ +/* Updated: 2023/08/27 16:03:24 by tfregni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef CYLINDER_H +# define CYLINDER_H +# include "vec3.h" + + + +#endif diff --git a/hittable.h b/hittable.h index 25754e4..4188d9f 100644 --- a/hittable.h +++ b/hittable.h @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* hittable.h :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: tvasilev +#+ +:+ +#+ */ +/* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 17:26:52 by tfregni #+# #+# */ -/* Updated: 2023/08/08 13:44:21 by tvasilev ### ########.fr */ +/* Updated: 2023/08/27 16:10:21 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,6 +14,32 @@ # define HITTABLE_H # include # include "vec3.h" +# include "ray.h" + +typedef struct s_scene t_scene; +typedef struct s_shape t_shape; +typedef struct s_sphere +{ + t_point_3d pos; + float diameter; +} t_sphere; + +typedef struct s_plane +{ + t_point_3d pos; + t_vector rotation; + int trgb; + int valid; +} t_plane; + +typedef struct s_cylinder +{ + t_point_3d center; + t_vector rotation; + float diameter; + float height; + int trgb; +} t_cylinder; typedef struct s_hit_record { @@ -24,4 +50,21 @@ typedef struct s_hit_record t_color color; } t_hit_record; +/* SPHERE */ +int intersect_sphere(t_scene *scene, t_ray ray, float *t, int i); +float sp_light_coeff(t_scene *scene, float t, t_ray ray, int i); +float sp_calc_discriminant(t_scene *scene, t_ray ray, \ + float *t, int i); +float sp_calc_hit_point(float discriminant, float a, float b); +bool sp_hit(t_shape *shape, t_ray r, t_hit_record *rec); +t_vec3 sp_normal(t_point3 hit, t_point3 center); + +/* PLANE */ +int intersect_plane(t_scene *scene, t_ray ray, float *t, int i); +bool pl_hit(t_shape *shape, t_ray r, t_hit_record *rec); + +/* CYLINDER */ +int intersect_cylinder(t_scene *scene, t_ray ray, float *t, int i); +bool cy_hit(t_shape *shape, t_ray r, t_hit_record *rec); + #endif diff --git a/main.c b/main.c index a6c0799..216d1d1 100644 --- a/main.c +++ b/main.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:42:10 by tfregni #+# #+# */ -/* Updated: 2023/06/12 15:30:33 by tfregni ### ########.fr */ +/* Updated: 2023/08/27 15:58:30 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,6 +14,7 @@ void free_scene(t_scene **scene) { + // free((*scene)->shape->type); free((*scene)->shape); (*scene)->shape = NULL; free(*scene); diff --git a/minirt.h b/minirt.h index 1fe3925..542fa3d 100644 --- a/minirt.h +++ b/minirt.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/08/27 14:10:45 by tfregni ### ########.fr */ +/* Updated: 2023/08/27 16:15:03 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -20,12 +20,9 @@ # include "keys.h" # include "matrix_math.h" # include "camera.h" -# include "sphere.h" # include "hittable.h" # define SPACE "\t\n\f\r\v " # define MAX_SOLID 5 -// # define WIDTH 1024 -// # define HEIGHT 768 # define CANV_MIN_X -1.0f # define CANV_MAX_X 1.0f # define CANV_MIN_Y -1.0f @@ -37,16 +34,13 @@ # define BOUNCES 2 # define ZNEAR CANV_DIST # define ZFAR RAY_LEN +# define EPSILON 1e-6 -typedef float t_matrix_trans[4][4]; -typedef struct s_scene t_scene; -typedef struct s_shape t_shape; typedef struct s_ray t_ray; typedef int (*t_hit_func)(t_scene *scene, t_ray ray, \ float *t, int i); typedef bool (*t_hit)(t_shape *shape, t_ray ray, t_hit_record *rec); typedef t_vec3 (*t_normal)(t_shape *shape, t_point3 hit); -typedef struct s_camera t_camera; typedef enum e_err { @@ -85,15 +79,6 @@ typedef struct s_img int endian; } t_img; -// typedef struct s_point_3d -// { -// double x; -// double y; -// double z; -// } t_point_3d; - -// typedef t_point_3d t_vector; - typedef struct s_pxl { int x; @@ -113,24 +98,6 @@ typedef struct s_ambient int trgb; } t_ambient; -// typedef struct s_camera -// { -// t_point_3d pos; -// t_vector orientation; -// uint8_t fov; -// t_point_2d top_right; -// t_point_2d bot_left; -// float pixel_size; -// t_vector vup; -// t_vector up; -// t_vector right; -// t_matrix_trans m_proj; -// t_matrix transform; -// t_matrix inverse; -// t_matrix transpose; -// t_point_2d delta; -// } t_camera; - typedef struct s_light { t_point_3d pos; @@ -138,36 +105,6 @@ typedef struct s_light int trgb; } t_light; -// typedef struct s_sphere -// { -// t_point_3d pos; -// float diameter; -// int trgb; -// } t_sphere; - -typedef struct s_plane -{ - t_point_3d pos; - t_vector rotation; - int trgb; - int valid; -} t_plane; - -typedef struct s_cylinder -{ - t_point_3d center; - t_vector rotation; - float diameter; - float height; - int trgb; -} t_cylinder; - -// typedef struct s_ray -// { -// t_point_3d origin; -// t_vector direction; -// } t_ray; - typedef struct s_shape { union { @@ -185,12 +122,6 @@ typedef struct s_shape t_color color; } t_shape; -/** - * Possible struct for the scene: - * one value for each unique element (A, C, L), - * an array for each solid. Plus a pointer - * to the image. -*/ typedef struct s_scene { t_img *img; @@ -229,20 +160,9 @@ t_err render_scene(t_scene *scene); void draw(t_scene *scene); int intersect_element(t_scene *scene, t_ray ray, int *color, float *min_t); -/* SPHERE */ -int intersect_sphere(t_scene *scene, t_ray ray, float *t, int i); -float sp_light_coeff(t_scene *scene, float t, t_ray ray, int i); -float sp_calc_discriminant(t_scene *scene, t_ray ray, \ - float *t, int i); -float sp_calc_hit_point(float discriminant, float a, float b); - -/* PLANE */ -int intersect_plane(t_scene *scene, t_ray ray, float *t, int i); -bool pl_hit(t_shape *shape, t_ray r, t_hit_record *rec); - -/* CYLINDER */ -int intersect_cylinder(t_scene *scene, t_ray ray, float *t, int i); -bool cy_hit(t_shape *shape, t_ray r, t_hit_record *rec); +/* SHADE */ +float diffuse_reflection(t_scene *scene, t_vector n, t_vector p); +int cast_shadow(t_scene *scene, t_ray ray); /* ERROR HANDLING*/ t_err ft_error(char *msg, char *arg, int err_code, t_scene *scene); diff --git a/plane.h b/plane.h new file mode 100644 index 0000000..6a08284 --- /dev/null +++ b/plane.h @@ -0,0 +1,18 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* plane.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tfregni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/08/27 16:00:30 by tfregni #+# #+# */ +/* Updated: 2023/08/27 16:03:40 by tfregni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef PLANE_H +# define PLANE_H + + + +#endif diff --git a/populate_solid.c b/populate_solid.c index 900177f..0135b9d 100644 --- a/populate_solid.c +++ b/populate_solid.c @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* populate_solid.c :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: tvasilev +#+ +:+ +#+ */ +/* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/26 21:31:05 by tfregni #+# #+# */ -/* Updated: 2023/08/01 16:40:33 by tvasilev ### ########.fr */ +/* Updated: 2023/08/27 15:50:57 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -18,7 +18,7 @@ int validate_sphere(t_scene *scene, char **el) int i; i = scene->shape_count; - if (i == MAX_SOLID) + if (i >= MAX_SOLID) return (ft_warning("not handling these many solids", \ NULL, INVALID_FILE)); if (ft_arrlen(el) != 4) @@ -45,7 +45,7 @@ int validate_plane(t_scene *scene, char **el) int i; i = scene->shape_count; - if (i == MAX_SOLID) + if (i >= MAX_SOLID) return (ft_warning("not handling these many solids", \ NULL, INVALID_FILE)); if (ft_arrlen(el) != 4) @@ -72,7 +72,7 @@ int validate_cylinder(t_scene *scene, char **el) int i; i = scene->shape_count; - if (i == MAX_SOLID) + if (i >= MAX_SOLID) return (ft_warning("not handling these many solids", \ NULL, INVALID_FILE)); if (ft_arrlen(el) != 6) diff --git a/shade.c b/shade.c new file mode 100644 index 0000000..62bf8fa --- /dev/null +++ b/shade.c @@ -0,0 +1,60 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* shade.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tfregni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/08/27 15:45:15 by tfregni #+# #+# */ +/* Updated: 2023/08/27 15:49:12 by tfregni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "minirt.h" + +int cast_shadow(t_scene *scene, t_ray ray) +{ + int i; + float t; + + i = scene->shape_count - 1; + while (i >= 0) + { + if (scene->shape[i].intersect(scene, ray, &t, i) + && t > EPSILON && t < 1) + return (1); + i--; + } + return (0); +} + +/** + * @param n: normal vector + * @param p: hit point + * @returns a float expressing the light intensity on the point + * @brief if the light hits at an angle it's more diffused and + * less intense + * @param l: light ray + * @param n_dot_l: angle between the light ray and the normal + * @param light: intensity of the light. If it's negative it's + * set to 0 +*/ +float diffuse_reflection(t_scene *scene, t_vector n, t_vector p) +{ + t_vector l; + float n_dot_l; + float light; + float len_l; + t_ray ray; + + l = vec3_sub(p, scene->light.pos); + ray = (t_ray){p, vec3_inv(l)}; + if (cast_shadow(scene, ray)) + return (0.1f); + n_dot_l = vec3_dot(n, l); + len_l = vec3_len(l); + if (len_l < EPSILON) + return (1.0f); + light = ft_fmax((scene->light.brightness * n_dot_l / len_l), 0.0f); + return (light); +} diff --git a/sphere.c b/sphere.c index 9ce46a8..e0e8d34 100644 --- a/sphere.c +++ b/sphere.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/07 14:22:05 by tfregni #+# #+# */ -/* Updated: 2023/06/17 16:18:43 by tfregni ### ########.fr */ +/* Updated: 2023/08/27 15:46:01 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -41,46 +41,10 @@ float sp_calc_discriminant(t_scene *scene, t_ray ray, \ return (discriminant); } -int cast_shadow(t_scene *scene, t_ray ray) -{ - int i; - float t; - - i = scene->shape_count - 1; - while (i >= 0) - { - if (scene->shape[i].intersect(scene, ray, &t, i) && t > 0.000001f && t < 1) - return (1); - i--; - } - return (0); -} - /** - * @param n: normal vector - * @param p: hit point - * @returns a float expressing the light intensity on the point + * @param t: hit distance + * @brief: calculates the light intensity on the hit point */ -float diffuse_reflection(t_scene *scene, t_vector n, t_vector p) -{ - t_vector l; - float n_dot_l; - float light; - float len_l; - t_ray ray; - - l = vect_sub(p, scene->light.pos); - ray = (t_ray){p, vect_inverse(l)}; - if (cast_shadow(scene, ray)) - return (0.1f); - n_dot_l = vect_dot(n, l); - len_l = vect_mag(l); - if (len_l == 0) - return (1.0f); - light = ft_fmax((scene->light.brightness * n_dot_l / len_l), 0.0f); - return (light); -} - float sp_light_coeff(t_scene *scene, float t, t_ray ray, int i) { t_vector hit_pos; @@ -95,6 +59,9 @@ float sp_light_coeff(t_scene *scene, float t, t_ray ray, int i) return (light); } +/** + * @returns 1 if the ray hits the sphere, 0 otherwise +*/ int intersect_sphere(t_scene *scene, t_ray ray, float *t, int i) { if (sp_calc_discriminant(scene, ray, t, i) < 0) diff --git a/sphere.h b/sphere.h index 0ed2e87..ea5abc6 100644 --- a/sphere.h +++ b/sphere.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 16:10:11 by tfregni #+# #+# */ -/* Updated: 2023/06/17 16:16:26 by tfregni ### ########.fr */ +/* Updated: 2023/08/27 16:04:26 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -16,13 +16,4 @@ # include "ray.h" # include "hittable.h" -typedef struct s_shape t_shape; -typedef struct s_sphere -{ - t_point_3d pos; - float diameter; -} t_sphere; - -bool sp_hit(t_shape *shape, t_ray r, t_hit_record *rec); -t_vec3 sp_normal(t_point3 hit, t_point3 center); #endif From 563d4f343c013dce35f976d386827a87e0d5bbe0 Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Sun, 27 Aug 2023 16:26:46 +0200 Subject: [PATCH 40/67] srcs and includes folders --- Makefile | 9 +++++---- camera.h => includes/camera.h | 0 cylinder.h => includes/cylinder.h | 0 event_handler.h => includes/event_handler.h | 0 hittable.h => includes/hittable.h | 0 matrix_math.h => includes/matrix_math.h | 0 minirt.h => includes/minirt.h | 0 plane.h => includes/plane.h | 0 ray.h => includes/ray.h | 0 sphere.h => includes/sphere.h | 0 vec3.h => includes/vec3.h | 0 vector_math.h => includes/vector_math.h | 0 camera.c => srcs/camera.c | 0 cylinder.c => srcs/cylinder.c | 0 event_handler.c => srcs/event_handler.c | 0 libx.c => srcs/libx.c | 0 main.c => srcs/main.c | 0 main3.c => srcs/main3.c | 0 matrix_calcs.c => srcs/matrix_calcs.c | 0 parse.c => srcs/parse.c | 0 parse_util.c => srcs/parse_util.c | 0 plane.c => srcs/plane.c | 0 populate_element.c => srcs/populate_element.c | 0 populate_solid.c => srcs/populate_solid.c | 0 ray.c => srcs/ray.c | 0 render.c => srcs/render.c | 0 shade.c => srcs/shade.c | 0 sphere.c => srcs/sphere.c | 0 vec3.c => srcs/vec3.c | 0 vector_calcs.c => srcs/vector_calcs.c | 0 30 files changed, 5 insertions(+), 4 deletions(-) rename camera.h => includes/camera.h (100%) rename cylinder.h => includes/cylinder.h (100%) rename event_handler.h => includes/event_handler.h (100%) rename hittable.h => includes/hittable.h (100%) rename matrix_math.h => includes/matrix_math.h (100%) rename minirt.h => includes/minirt.h (100%) rename plane.h => includes/plane.h (100%) rename ray.h => includes/ray.h (100%) rename sphere.h => includes/sphere.h (100%) rename vec3.h => includes/vec3.h (100%) rename vector_math.h => includes/vector_math.h (100%) rename camera.c => srcs/camera.c (100%) rename cylinder.c => srcs/cylinder.c (100%) rename event_handler.c => srcs/event_handler.c (100%) rename libx.c => srcs/libx.c (100%) rename main.c => srcs/main.c (100%) rename main3.c => srcs/main3.c (100%) rename matrix_calcs.c => srcs/matrix_calcs.c (100%) rename parse.c => srcs/parse.c (100%) rename parse_util.c => srcs/parse_util.c (100%) rename plane.c => srcs/plane.c (100%) rename populate_element.c => srcs/populate_element.c (100%) rename populate_solid.c => srcs/populate_solid.c (100%) rename ray.c => srcs/ray.c (100%) rename render.c => srcs/render.c (100%) rename shade.c => srcs/shade.c (100%) rename sphere.c => srcs/sphere.c (100%) rename vec3.c => srcs/vec3.c (100%) rename vector_calcs.c => srcs/vector_calcs.c (100%) diff --git a/Makefile b/Makefile index f743745..a804fe1 100644 --- a/Makefile +++ b/Makefile @@ -6,20 +6,21 @@ # By: tfregni +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2023/01/30 20:41:46 by tfregni #+# #+# # -# Updated: 2023/08/27 15:47:13 by tfregni ### ########.fr # +# Updated: 2023/08/27 16:24:42 by tfregni ### ########.fr # # # # **************************************************************************** # -SRCS = main.c parse.c populate_element.c populate_solid.c parse_util.c \ +SRCS = $(addprefix $(SRCS_DIR)/, main.c parse.c populate_element.c populate_solid.c parse_util.c \ libx.c render.c sphere.c plane.c vector_calcs.c event_handler.c \ - matrix_calcs.c camera.c shade.c vec3.c ray.c cylinder.c + matrix_calcs.c camera.c shade.c vec3.c ray.c cylinder.c) UNAME_S := $(shell uname -s) OBJS = ${SRCS:.c=.o} +SRCS_DIR = srcs CC = cc CFLAGS = -O3 -Wall -Wextra -Werror -g NAME = minirt LINKS = -lm -Llibft -lft -INC = -Ilibft +INC = -Ilibft -Iincludes RE_LIBFT = "$(wildcard ./libft/libft.a)" DSYM = *.dSYM RM = rm -rf diff --git a/camera.h b/includes/camera.h similarity index 100% rename from camera.h rename to includes/camera.h diff --git a/cylinder.h b/includes/cylinder.h similarity index 100% rename from cylinder.h rename to includes/cylinder.h diff --git a/event_handler.h b/includes/event_handler.h similarity index 100% rename from event_handler.h rename to includes/event_handler.h diff --git a/hittable.h b/includes/hittable.h similarity index 100% rename from hittable.h rename to includes/hittable.h diff --git a/matrix_math.h b/includes/matrix_math.h similarity index 100% rename from matrix_math.h rename to includes/matrix_math.h diff --git a/minirt.h b/includes/minirt.h similarity index 100% rename from minirt.h rename to includes/minirt.h diff --git a/plane.h b/includes/plane.h similarity index 100% rename from plane.h rename to includes/plane.h diff --git a/ray.h b/includes/ray.h similarity index 100% rename from ray.h rename to includes/ray.h diff --git a/sphere.h b/includes/sphere.h similarity index 100% rename from sphere.h rename to includes/sphere.h diff --git a/vec3.h b/includes/vec3.h similarity index 100% rename from vec3.h rename to includes/vec3.h diff --git a/vector_math.h b/includes/vector_math.h similarity index 100% rename from vector_math.h rename to includes/vector_math.h diff --git a/camera.c b/srcs/camera.c similarity index 100% rename from camera.c rename to srcs/camera.c diff --git a/cylinder.c b/srcs/cylinder.c similarity index 100% rename from cylinder.c rename to srcs/cylinder.c diff --git a/event_handler.c b/srcs/event_handler.c similarity index 100% rename from event_handler.c rename to srcs/event_handler.c diff --git a/libx.c b/srcs/libx.c similarity index 100% rename from libx.c rename to srcs/libx.c diff --git a/main.c b/srcs/main.c similarity index 100% rename from main.c rename to srcs/main.c diff --git a/main3.c b/srcs/main3.c similarity index 100% rename from main3.c rename to srcs/main3.c diff --git a/matrix_calcs.c b/srcs/matrix_calcs.c similarity index 100% rename from matrix_calcs.c rename to srcs/matrix_calcs.c diff --git a/parse.c b/srcs/parse.c similarity index 100% rename from parse.c rename to srcs/parse.c diff --git a/parse_util.c b/srcs/parse_util.c similarity index 100% rename from parse_util.c rename to srcs/parse_util.c diff --git a/plane.c b/srcs/plane.c similarity index 100% rename from plane.c rename to srcs/plane.c diff --git a/populate_element.c b/srcs/populate_element.c similarity index 100% rename from populate_element.c rename to srcs/populate_element.c diff --git a/populate_solid.c b/srcs/populate_solid.c similarity index 100% rename from populate_solid.c rename to srcs/populate_solid.c diff --git a/ray.c b/srcs/ray.c similarity index 100% rename from ray.c rename to srcs/ray.c diff --git a/render.c b/srcs/render.c similarity index 100% rename from render.c rename to srcs/render.c diff --git a/shade.c b/srcs/shade.c similarity index 100% rename from shade.c rename to srcs/shade.c diff --git a/sphere.c b/srcs/sphere.c similarity index 100% rename from sphere.c rename to srcs/sphere.c diff --git a/vec3.c b/srcs/vec3.c similarity index 100% rename from vec3.c rename to srcs/vec3.c diff --git a/vector_calcs.c b/srcs/vector_calcs.c similarity index 100% rename from vector_calcs.c rename to srcs/vector_calcs.c From cd6d42163f7752fc55a983e9e7277808cd602e2b Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Sun, 27 Aug 2023 17:16:14 +0200 Subject: [PATCH 41/67] scenes, srcs and includes folders --- Makefile | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index a804fe1..bb2ae1d 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ # By: tfregni +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2023/01/30 20:41:46 by tfregni #+# #+# # -# Updated: 2023/08/27 16:24:42 by tfregni ### ########.fr # +# Updated: 2023/08/27 17:08:34 by tfregni ### ########.fr # # # # **************************************************************************** # @@ -16,11 +16,13 @@ SRCS = $(addprefix $(SRCS_DIR)/, main.c parse.c populate_element.c populate_sol UNAME_S := $(shell uname -s) OBJS = ${SRCS:.c=.o} SRCS_DIR = srcs +OBJS_DIR = objs +INC_DIR = includes CC = cc CFLAGS = -O3 -Wall -Wextra -Werror -g NAME = minirt LINKS = -lm -Llibft -lft -INC = -Ilibft -Iincludes +INC = -Ilibft -I$(INC_DIR) RE_LIBFT = "$(wildcard ./libft/libft.a)" DSYM = *.dSYM RM = rm -rf @@ -59,7 +61,7 @@ ${NAME} : ${OBJS} @echo "done" %.o:%.c - @${CC} ${CFLAGS} ${INC} -c $< -o $@ + ${CC} ${CFLAGS} ${INC} -c $< -o $@ all : mlx From de502df9d9efc1b4b0ca71e222750fda0369f2e8 Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Sun, 27 Aug 2023 17:18:07 +0200 Subject: [PATCH 42/67] deleted individual shapes headers --- includes/cylinder.h | 19 ------------------- includes/plane.h | 18 ------------------ includes/sphere.h | 19 ------------------- 3 files changed, 56 deletions(-) delete mode 100644 includes/cylinder.h delete mode 100644 includes/plane.h delete mode 100644 includes/sphere.h diff --git a/includes/cylinder.h b/includes/cylinder.h deleted file mode 100644 index fb79ac2..0000000 --- a/includes/cylinder.h +++ /dev/null @@ -1,19 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* cylinder.h :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: tfregni +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/08/27 16:02:03 by tfregni #+# #+# */ -/* Updated: 2023/08/27 16:03:24 by tfregni ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#ifndef CYLINDER_H -# define CYLINDER_H -# include "vec3.h" - - - -#endif diff --git a/includes/plane.h b/includes/plane.h deleted file mode 100644 index 6a08284..0000000 --- a/includes/plane.h +++ /dev/null @@ -1,18 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* plane.h :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: tfregni +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/08/27 16:00:30 by tfregni #+# #+# */ -/* Updated: 2023/08/27 16:03:40 by tfregni ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#ifndef PLANE_H -# define PLANE_H - - - -#endif diff --git a/includes/sphere.h b/includes/sphere.h deleted file mode 100644 index ea5abc6..0000000 --- a/includes/sphere.h +++ /dev/null @@ -1,19 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* sphere.h :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: tfregni +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/06/15 16:10:11 by tfregni #+# #+# */ -/* Updated: 2023/08/27 16:04:26 by tfregni ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#ifndef SPHERE_H -# define SPHERE_H -# include "vec3.h" -# include "ray.h" -# include "hittable.h" - -#endif From 0d040f3fc803e529ff815e6630a4c54e328505b1 Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Sun, 27 Aug 2023 18:12:31 +0200 Subject: [PATCH 43/67] transitioning towards shader for every shape --- includes/hittable.h | 4 +- scenes/cylinders.rt | 10 +++ scenes/plane.rt | 6 +- srcs/main3.c | 172 ------------------------------------------ srcs/plane.c | 17 +++-- srcs/populate_solid.c | 3 +- srcs/render.c | 20 ++--- srcs/shade.c | 22 +++++- srcs/sphere.c | 19 +++-- 9 files changed, 68 insertions(+), 205 deletions(-) create mode 100644 scenes/cylinders.rt delete mode 100644 srcs/main3.c diff --git a/includes/hittable.h b/includes/hittable.h index 4188d9f..b39e063 100644 --- a/includes/hittable.h +++ b/includes/hittable.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 17:26:52 by tfregni #+# #+# */ -/* Updated: 2023/08/27 16:10:21 by tfregni ### ########.fr */ +/* Updated: 2023/08/27 17:57:49 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -57,7 +57,7 @@ float sp_calc_discriminant(t_scene *scene, t_ray ray, \ float *t, int i); float sp_calc_hit_point(float discriminant, float a, float b); bool sp_hit(t_shape *shape, t_ray r, t_hit_record *rec); -t_vec3 sp_normal(t_point3 hit, t_point3 center); +t_vec3 sp_normal(t_shape *sp, t_point3 hit); /* PLANE */ int intersect_plane(t_scene *scene, t_ray ray, float *t, int i); diff --git a/scenes/cylinders.rt b/scenes/cylinders.rt new file mode 100644 index 0000000..dc06bc3 --- /dev/null +++ b/scenes/cylinders.rt @@ -0,0 +1,10 @@ +C 1,0,3.1 0,0,-1 55 +A 0.8 127,127,127 +L 1,-2,-1 0.8 +# pl 0,10,10 -0.1,1,-0.1 255,20,100 +# pl 0,0,1 -1,-0.1,0.1 0,255,0 +# sp 1,0,0 0.8 0,255,0 +# sp 0,0,0 0.8 0,255,0 + cy 0,0,-10 0,0,0.1 1 2 10,0,255 +cy 0,0,-20 -0.2,0.3,1.0 2 1 10,100,100 + diff --git a/scenes/plane.rt b/scenes/plane.rt index dc06bc3..a19b756 100644 --- a/scenes/plane.rt +++ b/scenes/plane.rt @@ -1,10 +1,8 @@ C 1,0,3.1 0,0,-1 55 A 0.8 127,127,127 L 1,-2,-1 0.8 -# pl 0,10,10 -0.1,1,-0.1 255,20,100 +pl 0,10,10 -0.1,1,-0.1 255,20,100 # pl 0,0,1 -1,-0.1,0.1 0,255,0 -# sp 1,0,0 0.8 0,255,0 +sp 1,0,0 0.8 0,255,0 # sp 0,0,0 0.8 0,255,0 - cy 0,0,-10 0,0,0.1 1 2 10,0,255 -cy 0,0,-20 -0.2,0.3,1.0 2 1 10,100,100 diff --git a/srcs/main3.c b/srcs/main3.c deleted file mode 100644 index 7481201..0000000 --- a/srcs/main3.c +++ /dev/null @@ -1,172 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* main3.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: tfregni +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/06/03 12:57:44 by tvasilev #+# #+# */ -/* Updated: 2023/06/03 20:38:10 by tfregni ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "vector_math.h" -#include "minirt.h" -#include "event_handler.h" -#include - -void print_coord(char *name, t_point point) -{ - printf("%s (%f, %f, %f)\n", name, point.x, point.y, point.z); -} - -void my_mlx_pixel_put_d(t_img *data, int x, int y, int color) -{ - char *dst; - - if (x >= WIDTH || x <= 0 || y >= HEIGHT || y <= 0) - return ; - dst = data->addr + (y * data->line_len + x * (data->bpp / 8)); - *(unsigned int *)dst = color; -} - -// n (plane normal vector) -// p0 (origin point of plane) -// l0 (vector origin) -// l (vector) -// t (vector distance) -int intersectPlane(const t_vector n, const t_vector p0, const t_vector l0, const t_vector l, float t) -{ - // assuming vectors are all normalized - t_vector p0l0; - float denom; - - denom = vect_dot(n, l); - if (denom > 1e-6) - { - p0l0 = vect_sub(p0, l0); - t = vect_dot(p0l0, n) / denom; - return (t >= 0); - } - return 0; -} - -int intersectDisk(const t_vector n, const t_vector p0, const float radius, const t_vector l0, const t_vector l) -{ - float t = 500; - if (intersectPlane(n, p0, l0, l, t)) { - t_vector p = vect_sum(l0, vect_mult(l, t)); - t_vector v = vect_sub(p, p0); - float d2 = vect_dot(v, v); - return (sqrt(d2) <= radius); - } - - return 0; -} - -int mlx_manage(t_img *data) -{ - //mouse hook - //key hook - mlx_key_hook(data->win_ptr, &key_handle, data); - //any other special hooks - mlx_hook(data->win_ptr, ON_DESTROY, 0, &close_window, data); - //put image - mlx_put_image_to_window(data->mlx_ptr, data->win_ptr, data->img, 0, 0); - //loop - mlx_loop(data->mlx_ptr); - //3x destroy - mlx_destroy_window(data->mlx_ptr, data->win_ptr); - mlx_destroy_image(data->mlx_ptr, data->img); - mlx_destroy_display(data->mlx_ptr); - //free mlx - free(data->mlx_ptr); - return (1); -} - -void shoot_rays(t_img *data, t_point cam, t_point p_top_l, t_point p_bot_r, t_vector n_plane, t_point c_plane) -{ - int x = p_top_l.x, y = p_top_l.y; - t_vector ray; - - (void)data; - while (y != p_bot_r.y) - { - x = p_top_l.x; - while (x != p_bot_r.x) - { - ray.x = x; - ray.y = y; - ray.z = 100; - //print_coord("ray ", ray); - ray = vect_sub(ray, cam); - ray = vect_norm(ray); - //print_coord("norm_ray ", ray); - //printf("%d", intersectDisk(n_plane, c_plane, 210, cam, ray)); - if (intersectDisk(n_plane, c_plane, 210, cam, ray)) - { - my_mlx_pixel_put_d(data, x + WIDTH/2, y + HEIGHT/2, 0xFF0000); - } - //printf("%d", intersectPlane(n_plane, c_plane, cam, ray, 0)); - x > p_bot_r.x ? x-- : x++; - } - printf("\n"); - y > p_bot_r.y ? y-- : y++; - } -} - -int main(void) -{ - t_img data; - void *mlx; - void *mlx_win; - - mlx = mlx_init(); - mlx_win = mlx_new_window(mlx, WIDTH, HEIGHT, "miniRT"); - - data.mlx_ptr = mlx; - data.win_ptr = mlx_win; - data.img = mlx_new_image(mlx, WIDTH, HEIGHT); - data.addr = mlx_get_data_addr(data.img, &data.bpp, &data.line_len, &data.endian); - - t_point cam; - t_point canvas_center; - t_point p_top_left; - t_point p_bot_right; - t_point plane_center; - t_point plane_normal; - - - plane_center.x = 0; - plane_center.y = 0; - plane_center.z = 300; - - plane_normal.x = 0; - plane_normal.y = 0; - plane_normal.z = 1; - - cam.x = 0; - cam.y = 0; - cam.z = 0; - - canvas_center.x = 0; - canvas_center.y = 0; - canvas_center.z = 100; - - p_top_left.x = canvas_center.x- WIDTH/2; - p_top_left.y = canvas_center.y + HEIGHT/2; - p_top_left.z = canvas_center.z; - - p_bot_right.x = canvas_center.x + WIDTH/2; - p_bot_right.y = canvas_center.y - HEIGHT/2; - p_bot_right.z = canvas_center.z; - - print_coord("cam", cam); - print_coord("canvas_center", canvas_center); - print_coord("top left point", p_top_left); - print_coord("bot right point", p_bot_right); - shoot_rays(&data, cam, p_top_left, p_bot_right, plane_normal, plane_center); - - mlx_manage(&data); - return (1); -} diff --git a/srcs/plane.c b/srcs/plane.c index d9833f1..59530c4 100644 --- a/srcs/plane.c +++ b/srcs/plane.c @@ -3,15 +3,16 @@ /* ::: :::::::: */ /* plane.c :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: tvasilev +#+ +:+ +#+ */ +/* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/07 23:25:30 by tfregni #+# #+# */ -/* Updated: 2023/08/01 16:40:16 by tvasilev ### ########.fr */ +/* Updated: 2023/08/27 17:21:22 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ #include "minirt.h" #include "vector_math.h" +#include "vec3.h" /** * ray: p = a + bt @@ -50,11 +51,13 @@ !!! important !!! pass in normalized vectors*/ int intersect_plane(t_scene *scene, t_ray ray, float *t, int i) { - t_vector p0 = scene->shape[i].pl.pos; - t_vector n = scene->shape[i].pl.rotation; - t_vector l0 = ray.origin; - t_vector l = ray.direction; - float denom = vect_dot(n, l); + const t_vector p0 = scene->shape[i].pl.pos; + const t_vector n = scene->shape[i].pl.rotation; + const t_vector l0 = ray.origin; + const t_vector l = ray.direction; + float denom; + + denom = vec3_dot(n, l); if (denom > 1e-6) { t_vector p0l0 = vect_sub(p0, l0); diff --git a/srcs/populate_solid.c b/srcs/populate_solid.c index 0135b9d..446680f 100644 --- a/srcs/populate_solid.c +++ b/srcs/populate_solid.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/26 21:31:05 by tfregni #+# #+# */ -/* Updated: 2023/08/27 15:50:57 by tfregni ### ########.fr */ +/* Updated: 2023/08/27 17:55:26 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -32,6 +32,7 @@ int validate_sphere(t_scene *scene, char **el) shape.type = ft_strdup("sphere"); shape.intersect = intersect_sphere; shape.hit = sp_hit; + shape.normal = sp_normal; shape.color = convert_color(shape.trgb); scene->shape[i] = shape; return (SUCCESS); diff --git a/srcs/render.c b/srcs/render.c index c49ffc7..f362ce2 100644 --- a/srcs/render.c +++ b/srcs/render.c @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* render.c :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: tvasilev +#+ +:+ +#+ */ +/* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/08/08 13:44:28 by tvasilev ### ########.fr */ +/* Updated: 2023/08/27 18:11:54 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -227,22 +227,18 @@ bool hit_element(t_scene *scene, t_ray ray, t_hit_record *rec) */ t_color ray_color(t_scene *scene, t_ray r) { - t_vec3 unit_direction; - double t; - t_vec3 blend; + double light; + t_color bg; t_hit_record rec; - // return (color(0.5, (normal.x + 1) * 0.5, (normal.y + 1) * 0.5, (normal.z + 1) * 0.5)); if (hit_element(scene, r, &rec)) { - double light = ft_fmax((vec3_dot(rec.normal, vec3_inv(vec3_unit(scene->light.pos)))), 0.0f); - // rec.trgb = ft_fmax(rec.trgb * light, 0.0f); + light = ft_fmax((vec3_dot(rec.normal, \ + vec3_inv(vec3_unit(scene->light.pos)))), 0.0f); return (apply_light_to_color(rec.color, light)); } - unit_direction = vec3_unit(r.direction); - t = 0.5 * (unit_direction.y + 1.0); - blend = vec3_sum(vec3_mult(vec3(1, 1, 1), 1.0 - t), vec3_mult(vec3(0.5, 0.7, 1.0), t)); - return (color(0, blend.x, blend.y, blend.z)); + bg = convert_color(scene->ambient.trgb); + return (bg); } /** diff --git a/srcs/shade.c b/srcs/shade.c index 62bf8fa..117ce8e 100644 --- a/srcs/shade.c +++ b/srcs/shade.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/08/27 15:45:15 by tfregni #+# #+# */ -/* Updated: 2023/08/27 15:49:12 by tfregni ### ########.fr */ +/* Updated: 2023/08/27 17:47:29 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -58,3 +58,23 @@ float diffuse_reflection(t_scene *scene, t_vector n, t_vector p) light = ft_fmax((scene->light.brightness * n_dot_l / len_l), 0.0f); return (light); } + +// /** +// * @param t: hit distance +// * @brief: calculates the light intensity on the hit point +// */ +// float light_coeff(t_scene *scene, float t, t_ray ray, int i) +// { +// t_vector hit_pos; +// t_vector normal; +// float light; + +// // hit_pos = vect_sum((t_vector)ray.origin, vect_mult(ray.direction, t)); +// // normal = vect_norm(vect_sub(scene->shape[i].sp.pos, hit_pos)); +// hit_pos = scene->shape[i].hit(scene->shape[i], ray, ) +// normal = vect_norm(vect_sub(scene->shape[i].sp.pos, hit_pos)); +// light = diffuse_reflection(scene, normal, hit_pos); +// // light = ft_fmax(\ +// // vect_dot(normal, vect_inverse((vect_norm(scene->light.pos)))), 0.0f); +// return (light); +// } diff --git a/srcs/sphere.c b/srcs/sphere.c index e0e8d34..6d6f17e 100644 --- a/srcs/sphere.c +++ b/srcs/sphere.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/07 14:22:05 by tfregni #+# #+# */ -/* Updated: 2023/08/27 15:46:01 by tfregni ### ########.fr */ +/* Updated: 2023/08/27 18:10:31 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -75,22 +75,30 @@ int intersect_sphere(t_scene *scene, t_ray ray, float *t, int i) * @param hit: hit point * @param center: center of the sphere * @returns a normalized vector perpendicular to the surface of the sphere + * t_vec3 (*t_normal)(t_shape *shape, t_point3 hit); */ -t_vec3 sp_normal(t_point3 hit, t_point3 center) +t_vec3 sp_normal(t_shape *sp, t_point3 hit) { - t_vec3 normal; + t_vec3 normal; + t_point3 center; + center = sp->sp.pos; normal = vec3_unit(vec3_sub(hit, center)); return (normal); } +/** + * @param t: hit distance + * @param rec: t_hit_record if there's a hit the value gets updated + * @returns true if there's a hit, false otherwise +*/ bool sp_hit_record(double t, t_shape *shape, t_hit_record *rec, t_ray ray) { - if (t > 0.000001f && t < rec->t) + if (t > EPSILON && t < rec->t) { rec->t = t; rec->p = ray_at(ray, t); - rec->normal = sp_normal(rec->p, shape->sp.pos); + rec->normal = sp_normal(shape, rec->p); rec->color = shape->color; return (true); } @@ -108,7 +116,6 @@ bool sp_hit(t_shape *shape, t_ray r, t_hit_record *rec) double c; double discriminant; - (void) rec; oc = vec3_sub(r.origin, shape->sp.pos); a = vec3_dot(r.direction, r.direction); b = 2.0 * vec3_dot(oc, r.direction); From 2c9c1cd9571f90a00a52ce9c7b3894c919f2a0df Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Sun, 27 Aug 2023 18:58:08 +0200 Subject: [PATCH 44/67] shading on planes --- includes/hittable.h | 3 +- includes/minirt.h | 3 +- srcs/plane.c | 24 ++++++++-------- srcs/populate_solid.c | 3 +- srcs/render.c | 64 ++++++++++++++++++++++++------------------- srcs/shade.c | 32 +++++++++------------- 6 files changed, 66 insertions(+), 63 deletions(-) diff --git a/includes/hittable.h b/includes/hittable.h index b39e063..9b4b13f 100644 --- a/includes/hittable.h +++ b/includes/hittable.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 17:26:52 by tfregni #+# #+# */ -/* Updated: 2023/08/27 17:57:49 by tfregni ### ########.fr */ +/* Updated: 2023/08/27 18:40:22 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -62,6 +62,7 @@ t_vec3 sp_normal(t_shape *sp, t_point3 hit); /* PLANE */ int intersect_plane(t_scene *scene, t_ray ray, float *t, int i); bool pl_hit(t_shape *shape, t_ray r, t_hit_record *rec); +t_vec3 pl_normal(t_shape *pl, t_point3 hit); /* CYLINDER */ int intersect_cylinder(t_scene *scene, t_ray ray, float *t, int i); diff --git a/includes/minirt.h b/includes/minirt.h index 542fa3d..121132f 100644 --- a/includes/minirt.h +++ b/includes/minirt.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/08/27 16:15:03 by tfregni ### ########.fr */ +/* Updated: 2023/08/27 18:56:22 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -161,6 +161,7 @@ void draw(t_scene *scene); int intersect_element(t_scene *scene, t_ray ray, int *color, float *min_t); /* SHADE */ +float light_coeff(t_scene *scene, t_hit_record *hit); float diffuse_reflection(t_scene *scene, t_vector n, t_vector p); int cast_shadow(t_scene *scene, t_ray ray); diff --git a/srcs/plane.c b/srcs/plane.c index 59530c4..7bb6ea0 100644 --- a/srcs/plane.c +++ b/srcs/plane.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/07 23:25:30 by tfregni #+# #+# */ -/* Updated: 2023/08/27 17:21:22 by tfregni ### ########.fr */ +/* Updated: 2023/08/27 18:46:49 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -67,21 +67,19 @@ int intersect_plane(t_scene *scene, t_ray ray, float *t, int i) return (0); } -t_vec3 pl_normal(t_point3 hit, t_point3 center) +t_vec3 pl_normal(t_shape *pl, t_point3 hit) { - t_vec3 normal; - - normal = vec3_unit(vec3_sub(hit, center)); - return (normal); + (void) hit; + return (pl->rotation); } bool pl_hit_record(double t, t_shape *shape, t_hit_record *rec, t_ray ray) { - if (t > 0.000001f && t < rec->t) + if (t > EPSILON && t < rec->t) { rec->t = t; rec->p = ray_at(ray, t); - rec->normal = shape->rotation; //? maybe this should just be pl.rotation + rec->normal = pl_normal(shape, rec->p); rec->color = shape->color; return (true); } @@ -90,12 +88,12 @@ bool pl_hit_record(double t, t_shape *shape, t_hit_record *rec, t_ray ray) bool pl_hit(t_shape *shape, t_ray r, t_hit_record *rec) { - t_vector p0 = shape->pl.pos; - t_vector n = vect_norm(shape->rotation); - t_vector l0 = r.origin; - t_vector l = vect_norm(r.direction); + t_vector p0 = shape->pl.pos; + t_vector n = vect_norm(shape->rotation); + t_vector l0 = r.origin; + t_vector l = vect_norm(r.direction); float denom = vect_dot(n, l); - if (denom > 1e-6) + if (denom > EPSILON) { t_vector p0l0 = vect_sub(p0, l0); return (pl_hit_record((vect_dot(p0l0, n) / denom), shape, rec, r)); diff --git a/srcs/populate_solid.c b/srcs/populate_solid.c index 446680f..686fa2c 100644 --- a/srcs/populate_solid.c +++ b/srcs/populate_solid.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/26 21:31:05 by tfregni #+# #+# */ -/* Updated: 2023/08/27 17:55:26 by tfregni ### ########.fr */ +/* Updated: 2023/08/27 18:39:49 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -62,6 +62,7 @@ int validate_plane(t_scene *scene, char **el) shape.type = ft_strdup("plane"); shape.intersect = intersect_plane; shape.hit = pl_hit; + shape.normal = pl_normal; shape.color = convert_color(shape.trgb); scene->shape[i] = shape; return (SUCCESS); diff --git a/srcs/render.c b/srcs/render.c index f362ce2..6bb4a3e 100644 --- a/srcs/render.c +++ b/srcs/render.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/08/27 18:11:54 by tfregni ### ########.fr */ +/* Updated: 2023/08/27 18:56:00 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -109,28 +109,28 @@ t_color apply_light_to_color(t_color c, double light) return (color(0.0, c.r * light, c.g * light, c.b * light)); } -int intersect_element(t_scene *scene, t_ray ray, int *color, float *min_t) -{ - int i; - int ret; - float t; +// int intersect_element(t_scene *scene, t_ray ray, int *color, float *min_t) +// { +// int i; +// int ret; +// float t; - ret = 0; - i = scene->shape_count - 1; - while (i >= 0) - { - // printf("shape[%d] i: %d\n", scene->shape_count, i); - if (scene->shape[i].intersect(scene, ray, &t, i) && t < *min_t && t > 0) - { - *min_t = t; - *color = apply_ligthing_ratio(scene->shape[i].trgb, \ - sp_light_coeff(scene, t, ray, i)); - ret = 1; - } - i--; - } - return (ret); -} +// ret = 0; +// i = scene->shape_count - 1; +// while (i >= 0) +// { +// // printf("shape[%d] i: %d\n", scene->shape_count, i); +// if (scene->shape[i].intersect(scene, ray, &t, i) && t < *min_t && t > 0) +// { +// *min_t = t; +// *color = apply_ligthing_ratio(scene->shape[i].trgb, \ +// sp_light_coeff(scene, t, ray, i)); +// ret = 1; +// } +// i--; +// } +// return (ret); +// } /** * @brief converts an int in trgb format to a color struct with double values @@ -186,6 +186,9 @@ int convert_trgb(t_color c) // return ((t_ray){(t_point_3d){origin.x, origin.y, origin.z}, direction}); // } +/** + * @brief creates a ray from the camera to the canvas +*/ t_ray create_cam_ray(t_camera *c, double u, double v) { t_ray ray; @@ -202,6 +205,12 @@ t_ray create_cam_ray(t_camera *c, double u, double v) return (ray); } +/** + * Former intersect_element function + * @brief Checks if the ray hits any element in the scene + * In the scene->shape[i].hit(&scene->shape[i], ray, rec) call + * the ray is updated with hit distance, hit point, normal and color +*/ bool hit_element(t_scene *scene, t_ray ray, t_hit_record *rec) { bool hit_anything; @@ -212,7 +221,7 @@ bool hit_element(t_scene *scene, t_ray ray, t_hit_record *rec) i = scene->shape_count - 1; while (i >= 0) { - if (scene->shape[i].hit(&scene->shape[i], ray, rec) && rec->t > 0.001f) + if (scene->shape[i].hit(&scene->shape[i], ray, rec) && rec->t > EPSILON) { hit_anything = true; } @@ -222,23 +231,22 @@ bool hit_element(t_scene *scene, t_ray ray, t_hit_record *rec) } /** - * A lerp is always of the form - * blendedValue=(1−t)⋅startValue+t⋅endValue, + * @brief Creates a hit record that gets updated if the ray hits an element + * @returns the color of the hit element */ t_color ray_color(t_scene *scene, t_ray r) { double light; - t_color bg; t_hit_record rec; if (hit_element(scene, r, &rec)) { light = ft_fmax((vec3_dot(rec.normal, \ vec3_inv(vec3_unit(scene->light.pos)))), 0.0f); + light = light_coeff(scene, &rec); return (apply_light_to_color(rec.color, light)); } - bg = convert_color(scene->ambient.trgb); - return (bg); + return (convert_color(scene->ambient.trgb)); } /** diff --git a/srcs/shade.c b/srcs/shade.c index 117ce8e..080acd3 100644 --- a/srcs/shade.c +++ b/srcs/shade.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/08/27 15:45:15 by tfregni #+# #+# */ -/* Updated: 2023/08/27 17:47:29 by tfregni ### ########.fr */ +/* Updated: 2023/08/27 18:56:11 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -59,22 +59,16 @@ float diffuse_reflection(t_scene *scene, t_vector n, t_vector p) return (light); } -// /** -// * @param t: hit distance -// * @brief: calculates the light intensity on the hit point -// */ -// float light_coeff(t_scene *scene, float t, t_ray ray, int i) -// { -// t_vector hit_pos; -// t_vector normal; -// float light; +/** + * @param hit: hit record + * @brief: calculates the light intensity on the hit point +*/ +float light_coeff(t_scene *scene, t_hit_record *hit) +{ + t_vector hit_pos; + t_vector normal; -// // hit_pos = vect_sum((t_vector)ray.origin, vect_mult(ray.direction, t)); -// // normal = vect_norm(vect_sub(scene->shape[i].sp.pos, hit_pos)); -// hit_pos = scene->shape[i].hit(scene->shape[i], ray, ) -// normal = vect_norm(vect_sub(scene->shape[i].sp.pos, hit_pos)); -// light = diffuse_reflection(scene, normal, hit_pos); -// // light = ft_fmax(\ -// // vect_dot(normal, vect_inverse((vect_norm(scene->light.pos)))), 0.0f); -// return (light); -// } + hit_pos = hit->p; + normal = hit->normal; + return (diffuse_reflection(scene, normal, hit_pos)); +} From 060f663a0243bb4a614771642fa429e3698577c6 Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Sun, 27 Aug 2023 19:02:30 +0200 Subject: [PATCH 45/67] shading on planes --- srcs/sphere.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/srcs/sphere.c b/srcs/sphere.c index 6d6f17e..bfb40e3 100644 --- a/srcs/sphere.c +++ b/srcs/sphere.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/07 14:22:05 by tfregni #+# #+# */ -/* Updated: 2023/08/27 18:10:31 by tfregni ### ########.fr */ +/* Updated: 2023/08/27 19:01:31 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -41,23 +41,23 @@ float sp_calc_discriminant(t_scene *scene, t_ray ray, \ return (discriminant); } -/** - * @param t: hit distance - * @brief: calculates the light intensity on the hit point -*/ -float sp_light_coeff(t_scene *scene, float t, t_ray ray, int i) -{ - t_vector hit_pos; - t_vector normal; - float light; +// /** +// * @param t: hit distance +// * @brief: calculates the light intensity on the hit point +// */ +// float sp_light_coeff(t_scene *scene, float t, t_ray ray, int i) +// { +// t_vector hit_pos; +// t_vector normal; +// float light; - hit_pos = vect_sum((t_vector)ray.origin, vect_mult(ray.direction, t)); - normal = vect_norm(vect_sub(scene->shape[i].sp.pos, hit_pos)); - light = diffuse_reflection(scene, normal, hit_pos); - // light = ft_fmax(\ - // vect_dot(normal, vect_inverse((vect_norm(scene->light.pos)))), 0.0f); - return (light); -} +// hit_pos = vect_sum((t_vector)ray.origin, vect_mult(ray.direction, t)); +// normal = vect_norm(vect_sub(scene->shape[i].sp.pos, hit_pos)); +// light = diffuse_reflection(scene, normal, hit_pos); +// // light = ft_fmax(\ +// // vect_dot(normal, vect_inverse((vect_norm(scene->light.pos)))), 0.0f); +// return (light); +// } /** * @returns 1 if the ray hits the sphere, 0 otherwise From eccdb4b4f7644d576ab021ccfa3a0a5efdbeb6dc Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Sun, 27 Aug 2023 22:11:13 +0200 Subject: [PATCH 46/67] some norminetting --- includes/minirt.h | 4 +- scenes/camera.rt | 29 +++++++++++ scenes/plane.rt | 2 +- srcs/event_handler.c | 8 ++-- srcs/plane.c | 32 ++++++++----- srcs/render.c | 112 +++++-------------------------------------- srcs/shade.c | 8 ++-- srcs/sphere.c | 21 +------- 8 files changed, 73 insertions(+), 143 deletions(-) create mode 100644 scenes/camera.rt diff --git a/includes/minirt.h b/includes/minirt.h index 121132f..2af40ea 100644 --- a/includes/minirt.h +++ b/includes/minirt.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/08/27 18:56:22 by tfregni ### ########.fr */ +/* Updated: 2023/08/27 20:52:28 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -22,7 +22,7 @@ # include "camera.h" # include "hittable.h" # define SPACE "\t\n\f\r\v " -# define MAX_SOLID 5 +# define MAX_SOLID 10 # define CANV_MIN_X -1.0f # define CANV_MAX_X 1.0f # define CANV_MIN_Y -1.0f diff --git a/scenes/camera.rt b/scenes/camera.rt new file mode 100644 index 0000000..c2c7529 --- /dev/null +++ b/scenes/camera.rt @@ -0,0 +1,29 @@ +A 0.3 255,255,255 +pl 0,-30,0 0,1,0 91,255,80 +L 6,20,-20 1 255,255,255 +#cy 0,0,0 0,1,0 2 10 56,189,224 + +# general overview +C 4,10,-70 -0.2,0,0.7 90 + +# z front +#C 0,0,0 0,0,1 55 +sp 0,0,30 10 250,117,11 +# z back +#C 0,0,0 0,0,-1 55 +sp 0,0,-30 10 91,255,80 + +# x front +#C 0,0,0 1,0,0 55 +sp 30,0,0 10 255,85,85 +# x back +#C 0,0,0 -1,0,0 55 +sp -30,0,0 10 154,85,255 + +# y up +#C 0,0,0 0,1,0 55 +sp 0,30,0 10 41,154,229 +# y down +#C 0,0,0 0,-1,0 55 +sp 0,-30,0 10 144,237,252 + diff --git a/scenes/plane.rt b/scenes/plane.rt index a19b756..5feab2b 100644 --- a/scenes/plane.rt +++ b/scenes/plane.rt @@ -1,4 +1,4 @@ -C 1,0,3.1 0,0,-1 55 +C 1,0,3.1 0,0,0 55 A 0.8 127,127,127 L 1,-2,-1 0.8 pl 0,10,10 -0.1,1,-0.1 255,20,100 diff --git a/srcs/event_handler.c b/srcs/event_handler.c index 64a0e3b..7535632 100644 --- a/srcs/event_handler.c +++ b/srcs/event_handler.c @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* event_handler.c :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: tvasilev +#+ +:+ +#+ */ +/* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 12:29:38 by tvasilev #+# #+# */ -/* Updated: 2023/08/07 18:13:04 by tvasilev ### ########.fr */ +/* Updated: 2023/08/27 20:44:48 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -32,9 +32,9 @@ int key_handle(int keycode, t_scene *scene) else if (keycode == MINUS) scene->ambient.lighting_ratio -= 0.1; else if (keycode == UP) - scene->camera.pos.x += CAM_PACE; + scene->camera.pos.y += CAM_PACE; else if (keycode == DOWN) - scene->camera.pos.x -= CAM_PACE; + scene->camera.pos.y -= CAM_PACE; else if (keycode == LEFT) scene->camera.pos.x -= CAM_PACE; else if (keycode == RIGHT) diff --git a/srcs/plane.c b/srcs/plane.c index 7bb6ea0..a31ada9 100644 --- a/srcs/plane.c +++ b/srcs/plane.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/07 23:25:30 by tfregni #+# #+# */ -/* Updated: 2023/08/27 18:46:49 by tfregni ### ########.fr */ +/* Updated: 2023/08/27 22:09:44 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -58,10 +58,10 @@ int intersect_plane(t_scene *scene, t_ray ray, float *t, int i) float denom; denom = vec3_dot(n, l); - if (denom > 1e-6) + if (denom > EPSILON) { - t_vector p0l0 = vect_sub(p0, l0); - *t = vect_dot(p0l0, n) / denom; + // t_vector p0l0 = vect_sub(p0, l0); + *t = vect_dot(vect_sub(p0, l0), n) / denom; return (*t >= 0); } return (0); @@ -86,17 +86,25 @@ bool pl_hit_record(double t, t_shape *shape, t_hit_record *rec, t_ray ray) return (false); } +double ft_abs_double(double n) +{ + if (n < 0) + return (-n); + return (n); +} + bool pl_hit(t_shape *shape, t_ray r, t_hit_record *rec) { - t_vector p0 = shape->pl.pos; - t_vector n = vect_norm(shape->rotation); - t_vector l0 = r.origin; - t_vector l = vect_norm(r.direction); - float denom = vect_dot(n, l); - if (denom > EPSILON) + const t_vector p0 = shape->pl.pos; + const t_vector n = vect_norm(shape->rotation); + const t_vector l0 = r.origin; + const t_vector l = vect_norm(r.direction); + const float denom = vect_dot(n, l); + + if (ft_abs_double(denom) > EPSILON) { - t_vector p0l0 = vect_sub(p0, l0); - return (pl_hit_record((vect_dot(p0l0, n) / denom), shape, rec, r)); + return (pl_hit_record(((vect_dot(vect_sub(p0, l0), n)) / denom), \ + shape, rec, r)); } return (false); } diff --git a/srcs/render.c b/srcs/render.c index 6bb4a3e..fae395e 100644 --- a/srcs/render.c +++ b/srcs/render.c @@ -6,45 +6,15 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/08/27 18:56:00 by tfregni ### ########.fr */ +/* Updated: 2023/08/27 21:41:31 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ #include "minirt.h" #include "ray.h" -// #include "vector_math.h" #include "matrix_math.h" -/** - * range_x / WIDTH = canvas size of 1 pxl on x axis - * range_x / WIDTH * ratio = canvas size of 1 pxl on y axis - * added - to flip the axis -*/ -// t_point_2d to_canvas(t_pxl pxl) -// { -// t_point_2d ret; -// float range_x; -// float ratio; - -// range_x = CANV_MAX_X - CANV_MIN_X; -// ratio = WIDTH / HEIGHT; -// ret.x = -(range_x / WIDTH * pxl.x + CANV_MIN_X); -// ret.y = -(range_x / WIDTH * ratio * pxl.y + CANV_MIN_Y); -// return (ret); -// } - -// t_point_2d to_canvas_new(t_pxl pxl, t_camera *c) -// { -// t_point_2d ret; -// float range_x; -// float range_y; - -// range_x = c->top_right.x - c->bot_left.x; -// range_y = c->top_right.y - c->bot_left.y; -// ret.x = range_x / WIDTH * pxl.x + c->bot_left.x; -// ret.y = range_y / HEIGHT * pxl.y + c->bot_left.y; -// return (ret); -// } +#ifdef DEBUG void print_4x4(t_matrix_trans m) { @@ -56,27 +26,7 @@ void print_4x4(t_matrix_trans m) } printf("\n"); } - -// void set_proj_matrix(t_matrix_trans proj, t_camera *c) -// { -// proj[0][0] = (2 * ZNEAR) / (c->top_right.x - c->bot_left.x); -// proj[0][1] = 0.0f; -// proj[0][2] = 0.0f; -// proj[0][3] = 0.0f; -// proj[1][0] = 0.0f; -// proj[1][1] = (2 * ZNEAR) / (c->top_right.y - c->bot_left.y); -// proj[1][2] = 0.0f; -// proj[1][3] = 0.0f; -// proj[2][0] = (c->top_right.x + c->bot_left.x) / (c->top_right.x - c->bot_left.x); -// proj[2][1] = (c->top_right.y + c->bot_left.y) / (c->top_right.y - c->bot_left.y); -// proj[2][2] = -((ZFAR + ZNEAR) / (ZFAR - ZNEAR)); -// proj[2][3] = -1.0f; -// proj[3][0] = 0.0f; -// proj[3][1] = 0.0f; -// proj[3][2] = -((2 * ZFAR * ZNEAR) / (ZFAR - ZNEAR)); -// proj[3][3] = 0.0f; -// print_4x4(proj); -// } +#endif /** * As in openGL, we state that the projection plane coinincides @@ -95,7 +45,7 @@ t_point_3d world_to_cam_new(t_point_3d p, t_matrix transform) return (mx_mult(transform, p)); } -int apply_ligthing_ratio(int trgb, float lighting_ratio) +int apply_lighting_ratio(int trgb, float lighting_ratio) { return (create_trgb(0, \ lighting_ratio * ((trgb >> 16) & 0xFF), @@ -105,32 +55,11 @@ int apply_ligthing_ratio(int trgb, float lighting_ratio) t_color apply_light_to_color(t_color c, double light) { - // printf("color: %f %f %f\n", c.r, c.g, c.b); - return (color(0.0, c.r * light, c.g * light, c.b * light)); -} - -// int intersect_element(t_scene *scene, t_ray ray, int *color, float *min_t) -// { -// int i; -// int ret; -// float t; + t_color ret; -// ret = 0; -// i = scene->shape_count - 1; -// while (i >= 0) -// { -// // printf("shape[%d] i: %d\n", scene->shape_count, i); -// if (scene->shape[i].intersect(scene, ray, &t, i) && t < *min_t && t > 0) -// { -// *min_t = t; -// *color = apply_ligthing_ratio(scene->shape[i].trgb, \ -// sp_light_coeff(scene, t, ray, i)); -// ret = 1; -// } -// i--; -// } -// return (ret); -// } + ret = color(0.0, c.r * light, c.g * light, c.b * light); + return (ret); +} /** * @brief converts an int in trgb format to a color struct with double values @@ -169,23 +98,6 @@ int convert_trgb(t_color c) return (t << 24 | r << 16 | g << 8 | b); } -// t_ray ray_for_pixel(t_camera *c, t_pxl p) -// { -// float world_x; -// float world_y; -// t_tuple pxl; -// t_tuple origin; -// t_vector direction; - -// world_x = c->bot_left.x + (p.x * c->pixel_size); -// world_y = c->bot_left.y + (p.y * c->pixel_size); -// pxl = multiply_tp_mx(c->transform, create_point(world_x, world_y, -1)); -// origin = multiply_tp_mx(c->transform, create_point(0, 0, 0)); -// direction = vect_norm(vect_sub((t_vector){pxl.x, pxl.y, pxl.z}, -// (t_vector){origin.x, origin.y, origin.z})); -// return ((t_ray){(t_point_3d){origin.x, origin.y, origin.z}, direction}); -// } - /** * @brief creates a ray from the camera to the canvas */ @@ -241,9 +153,9 @@ t_color ray_color(t_scene *scene, t_ray r) if (hit_element(scene, r, &rec)) { - light = ft_fmax((vec3_dot(rec.normal, \ - vec3_inv(vec3_unit(scene->light.pos)))), 0.0f); - light = light_coeff(scene, &rec); + light = ft_fmin(light_coeff(scene, &rec), 1); + if (light < 0 || light > 1) + printf("Light out of bound %f\n", light); return (apply_light_to_color(rec.color, light)); } return (convert_color(scene->ambient.trgb)); @@ -251,7 +163,7 @@ t_color ray_color(t_scene *scene, t_ray r) /** * @returns a color as int - * @math + * @math: * circle = (x^2 - a) + (y^2 - b) - r^2 = 0 (a and b are the coord) * ray = a + bt (a: origin b: direction t: distance) * a : ray origin (scene->camera.pos) diff --git a/srcs/shade.c b/srcs/shade.c index 080acd3..93df5c9 100644 --- a/srcs/shade.c +++ b/srcs/shade.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/08/27 15:45:15 by tfregni #+# #+# */ -/* Updated: 2023/08/27 18:56:11 by tfregni ### ########.fr */ +/* Updated: 2023/08/27 21:44:44 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -45,11 +45,11 @@ float diffuse_reflection(t_scene *scene, t_vector n, t_vector p) float n_dot_l; float light; float len_l; - t_ray ray; + t_ray rebound; l = vec3_sub(p, scene->light.pos); - ray = (t_ray){p, vec3_inv(l)}; - if (cast_shadow(scene, ray)) + rebound = (t_ray){p, vec3_inv(l)}; + if (cast_shadow(scene, rebound)) return (0.1f); n_dot_l = vec3_dot(n, l); len_l = vec3_len(l); diff --git a/srcs/sphere.c b/srcs/sphere.c index bfb40e3..379455e 100644 --- a/srcs/sphere.c +++ b/srcs/sphere.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/07 14:22:05 by tfregni #+# #+# */ -/* Updated: 2023/08/27 19:01:31 by tfregni ### ########.fr */ +/* Updated: 2023/08/27 19:04:27 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -40,25 +40,6 @@ float sp_calc_discriminant(t_scene *scene, t_ray ray, \ *t = sp_calc_hit_point(discriminant, a, b); return (discriminant); } - -// /** -// * @param t: hit distance -// * @brief: calculates the light intensity on the hit point -// */ -// float sp_light_coeff(t_scene *scene, float t, t_ray ray, int i) -// { -// t_vector hit_pos; -// t_vector normal; -// float light; - -// hit_pos = vect_sum((t_vector)ray.origin, vect_mult(ray.direction, t)); -// normal = vect_norm(vect_sub(scene->shape[i].sp.pos, hit_pos)); -// light = diffuse_reflection(scene, normal, hit_pos); -// // light = ft_fmax(\ -// // vect_dot(normal, vect_inverse((vect_norm(scene->light.pos)))), 0.0f); -// return (light); -// } - /** * @returns 1 if the ray hits the sphere, 0 otherwise */ From f0c1181f05da965f07a7a42fe19a3295231e0b06 Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Mon, 28 Aug 2023 09:28:57 +0200 Subject: [PATCH 47/67] changed RAY_LEN to 1000 to render less inclined plaanes --- Makefile | 2 +- includes/minirt.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index bb2ae1d..19e297e 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ # By: tfregni +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2023/01/30 20:41:46 by tfregni #+# #+# # -# Updated: 2023/08/27 17:08:34 by tfregni ### ########.fr # +# Updated: 2023/08/28 09:23:54 by tfregni ### ########.fr # # # # **************************************************************************** # diff --git a/includes/minirt.h b/includes/minirt.h index 2af40ea..588588f 100644 --- a/includes/minirt.h +++ b/includes/minirt.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/08/27 20:52:28 by tfregni ### ########.fr */ +/* Updated: 2023/08/28 09:27:16 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -30,7 +30,7 @@ # define CAM_PACE 0.1 # define LIGHT_PACE 0.3 # define ORIENT_PACE 0.01 -# define RAY_LEN 50 +# define RAY_LEN 1000 # define BOUNCES 2 # define ZNEAR CANV_DIST # define ZFAR RAY_LEN From 8e667cbff5756b41e41421807af8452e75b46f1a Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Mon, 28 Aug 2023 23:58:26 +0200 Subject: [PATCH 48/67] added vector cross product and vector print --- includes/vec3.h | 4 +++- srcs/vec3.c | 17 ++++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/includes/vec3.h b/includes/vec3.h index 39bd04e..5546ca2 100644 --- a/includes/vec3.h +++ b/includes/vec3.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 11:40:31 by tfregni #+# #+# */ -/* Updated: 2023/06/17 16:46:23 by tfregni ### ########.fr */ +/* Updated: 2023/08/28 19:28:22 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -35,6 +35,7 @@ typedef struct s_color t_vec3 vec3(double x, double y, double z); t_vec3 vec3_sum(t_vec3 a, t_vec3 b); t_vec3 vec3_mult(t_vec3 a, double b); +t_vec3 vec3_cross(t_vec3 a, t_vec3 b); t_vec3 vec3_sub(t_vec3 a, t_vec3 b); double vec3_dot(t_vec3 a, t_vec3 b); t_vec3 vec3_div(t_vec3 a, double b); @@ -42,6 +43,7 @@ double vec3_len_squared(t_vec3 a); double vec3_len(t_vec3 a); t_vec3 vec3_unit(t_vec3 a); t_vec3 vec3_inv(t_vec3 a); +void vec3_print(t_vec3 a); t_point3 point(double x, double y, double z); diff --git a/srcs/vec3.c b/srcs/vec3.c index 69dd0cb..2744c16 100644 --- a/srcs/vec3.c +++ b/srcs/vec3.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 11:42:25 by tfregni #+# #+# */ -/* Updated: 2023/06/17 16:46:03 by tfregni ### ########.fr */ +/* Updated: 2023/08/28 19:28:53 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -64,6 +64,16 @@ t_vec3 vec3_mult(t_vec3 a, double b) return (result); } +t_vec3 vec3_cross(t_vec3 a, t_vec3 b) +{ + t_vec3 result; + + result.x = a.y * b.z - a.z * b.y; + result.y = a.z * b.x - a.x * b.z; + result.z = a.x * b.y - a.y * b.x; + return (result); +} + t_vec3 vec3_sub(t_vec3 a, t_vec3 b) { t_vec3 result; @@ -103,3 +113,8 @@ t_vec3 vec3_inv(t_vec3 a) { return (vec3_mult(a, -1)); } + +void vec3_print(t_vec3 a) +{ + printf("x: %f, y: %f, z: %f", a.x, a.y, a.z); +} From c5411647b9e76169024fc5aa95b2903435a9977a Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Mon, 28 Aug 2023 23:59:32 +0200 Subject: [PATCH 49/67] reworked camera orientation and top_left position to match pixel 0,0 --- srcs/camera.c | 63 ++++++++++++++++++++++++++++----------------------- 1 file changed, 35 insertions(+), 28 deletions(-) diff --git a/srcs/camera.c b/srcs/camera.c index aa1a37f..880dbe7 100644 --- a/srcs/camera.c +++ b/srcs/camera.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 12:54:25 by tfregni #+# #+# */ -/* Updated: 2023/06/16 17:25:39 by tfregni ### ########.fr */ +/* Updated: 2023/08/28 23:54:29 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -20,48 +20,55 @@ double radians(double grades) void cam_orientation(t_camera *c) { - t_point3 lookat; - // t_vec3 w; - // t_vec3 u; - // t_vec3 v; - - lookat = cam_look_at(c->look_at, c->orientation); - printf("LookAt: %f %f %f\n", lookat.x, lookat.y, lookat.z); - // w = vec3_unit(vec3_sub(c->pos, c->lookat)) + c->right = vec3_unit(vec3_cross(c->orientation, c->vup)); + c->up = vec3_unit(vec3_cross(c->right, c->orientation)); + c->look_at = vec3_unit(c->orientation); + c->m.size = 16; + c->m.matrix[0][0] = c->right.x; + c->m.matrix[0][1] = c->right.y; + c->m.matrix[0][2] = c->right.z; + c->m.matrix[0][3] = 0; + c->m.matrix[1][0] = c->up.x; + c->m.matrix[1][1] = c->up.y; + c->m.matrix[1][2] = c->up.z; + c->m.matrix[1][3] = 0; + c->m.matrix[2][0] = c->vup.x; + c->m.matrix[2][1] = c->vup.y; + c->m.matrix[2][2] = c->vup.z; + c->m.matrix[2][3] = 0; + c->m.matrix[3][0] = c->pos.x; + c->m.matrix[3][1] = c->pos.y; + c->m.matrix[3][2] = c->pos.z; + c->m.matrix[3][3] = 1; } void cam_setup(t_camera *c) { - double ratio; t_vec3 half_hor; t_vec3 half_ver; t_vec3 temp; cam_orientation(c); - ratio = WIDTH / (double)HEIGHT; + c->aspect_ratio = WIDTH / (double)HEIGHT; c->viewport_width = 2.0f * (tan(radians(c->fov) / 2.0f)); - c->viewport_height = c->viewport_width / ratio; + c->viewport_height = c->viewport_width / c->aspect_ratio; c->horizontal = vec3(c->viewport_width, 0, 0); c->vertical = vec3(0, c->viewport_height, 0); half_hor = vec3_div(c->horizontal, 2); half_ver = vec3_div(c->vertical, 2); temp = vec3_sub(c->pos, half_hor); - temp = vec3_sub(temp, half_ver); - c->lower_left_corner = vec3_sub(temp, vec3(0, 0, c->focal_length)); - printf("Camera: vp_w: %f, vp_h: %f, lower_left: %f %f %f\n", c->viewport_width, c->viewport_height, c->lower_left_corner.x, c->lower_left_corner.y, c->lower_left_corner.z); + temp = vec3_sum(temp, half_ver); + c->top_left_corner = vec3_sub(temp, vec3(0, 0, c->focal_length)); + printf("Camera: vp_w: %f, vp_h: %f, ratio: %f, top_left: %f %f %f\n", c->viewport_width, c->viewport_height, c->aspect_ratio, c->top_left_corner.x, c->top_left_corner.y, c->top_left_corner.z); + printf("Horizontal: "); + vec3_print(c->horizontal); + printf(" Half_hor: "); + vec3_print(half_hor); + printf("\nVertical: "); + vec3_print(c->vertical); + printf(" Half_ver: "); + vec3_print(half_ver); + printf("\n"); } -/** - * @brief Given the forward vector and a vector with 3 rotation angles - * in range [-1, 1], it gives the look_at point -*/ -t_point3 cam_look_at(t_vec3 forward, t_vec3 rot) -{ - t_vec3 look_at; - - look_at.x = forward.x * cos(rot.x * M_PI) * cos(rot.y * M_PI); - look_at.y = forward.y * sin(rot.x * M_PI) * cos(rot.y * M_PI); - look_at.z = forward.z * sin(rot.y * M_PI); - return (vec3_unit(look_at)); -} From 20b64ca4ebe9ee094f57eb48e6739e50aaea4f50 Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Tue, 29 Aug 2023 00:00:40 +0200 Subject: [PATCH 50/67] added matrix and substituted top_left to bottom_left --- includes/camera.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/includes/camera.h b/includes/camera.h index d014c75..095fdfe 100644 --- a/includes/camera.h +++ b/includes/camera.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 12:39:08 by tfregni #+# #+# */ -/* Updated: 2023/06/16 15:35:24 by tfregni ### ########.fr */ +/* Updated: 2023/08/28 23:51:28 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -15,6 +15,7 @@ # include # include # include "vec3.h" +# include "matrix_math.h" # define WIDTH 1024 # define HEIGHT 768 @@ -25,15 +26,17 @@ typedef struct s_camera t_vec3 orientation; t_point3 look_at; uint8_t fov; + double aspect_ratio; double viewport_height; double viewport_width; double focal_length; - t_point3 lower_left_corner; + t_point3 top_left_corner; t_vec3 horizontal; t_vec3 vertical; t_vec3 vup; t_vec3 up; t_vec3 right; + t_matrix m; } t_camera; void cam_setup(t_camera *c); From 438261e2d72837b9a301ecc709e16c9e210f24f5 Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Tue, 29 Aug 2023 00:01:29 +0200 Subject: [PATCH 51/67] added one map and experimented with creating rays --- scenes/plane_new.rt | 8 ++++++++ srcs/render.c | 28 ++++++++++++++++++---------- 2 files changed, 26 insertions(+), 10 deletions(-) create mode 100644 scenes/plane_new.rt diff --git a/scenes/plane_new.rt b/scenes/plane_new.rt new file mode 100644 index 0000000..0e872db --- /dev/null +++ b/scenes/plane_new.rt @@ -0,0 +1,8 @@ +C 0,0,5 -0.3,0,-1 60 +A 0.8 127,127,127 +L 1,-2,2 0.8 +pl 0,2,2 -0.1,1,-0.1 255,20,100 +# pl 0,0,1 -1,-0.1,0.1 0,255,0 +sp 1,0,0 0.8 0,255,0 +# sp 0,0,0 0.8 0,255,0 + diff --git a/srcs/render.c b/srcs/render.c index fae395e..ded5209 100644 --- a/srcs/render.c +++ b/srcs/render.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/08/27 21:41:31 by tfregni ### ########.fr */ +/* Updated: 2023/08/28 23:52:04 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -100,8 +100,12 @@ int convert_trgb(t_color c) /** * @brief creates a ray from the camera to the canvas + * 1. Pixel to world + * 2. Transform through matrix + * 3. Get ray direction + * 4. Normalize ray direction */ -t_ray create_cam_ray(t_camera *c, double u, double v) +t_ray create_cam_ray(t_camera *c, double ndc_x, double ndc_y) { t_ray ray; t_vec3 temp; @@ -109,10 +113,10 @@ t_ray create_cam_ray(t_camera *c, double u, double v) t_vec3 gradient_ver; ray.origin = c->pos; - gradient_hor = vec3_mult(c->horizontal, u); - gradient_ver = vec3_mult(c->vertical, v); + gradient_hor = vec3_mult(c->horizontal, ndc_x); + gradient_ver = vec3_mult(c->vertical, ndc_y); temp = vec3_sum(gradient_hor, gradient_ver); - ray.direction = vec3_sub(c->lower_left_corner, ray.origin); + ray.direction = vec3_sub(c->top_left_corner, ray.origin); ray.direction = vec3_sum(ray.direction, temp); return (ray); } @@ -178,15 +182,19 @@ t_color ray_color(t_scene *scene, t_ray r) */ int per_pixel(t_pxl p, t_scene *scene) { - double u; - double v; + double ndc_x; + double ndc_y; t_ray r; t_color c; // Between 0 and 1 - u = (double)p.x / (WIDTH - 1); - v = (double)p.y / (HEIGHT - 1); - r = create_cam_ray(&scene->camera, u, v); + // m.ndc_x = (width + 0.5f) / img->width * 2.0f - 1.0f; + // m.ndc_y = 1.0f - (height + 0.5f) / img->height * 2.0f; + // ndc_x = (double)p.x / (WIDTH - 1); + // ndc_y = (double)p.y / (HEIGHT - 1); + ndc_x = ((double)p.x + 0.5f) / WIDTH * 2.0f - 1.0f; + ndc_y = 1.0f - ((double)p.y + 0.5f) / HEIGHT * 2.0f; + r = create_cam_ray(&scene->camera, ndc_x, ndc_y); c = ray_color(scene, r); return (convert_trgb(c)); } From 71acbad845134061608d03b3efaafc9b3706fdaf Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Tue, 29 Aug 2023 01:09:41 +0200 Subject: [PATCH 52/67] tweaked sphere normal hit point to have correct light and plane for dark side --- scenes/plane_new.rt | 4 ++-- srcs/camera.c | 2 +- srcs/plane.c | 17 +++++++++++++++-- srcs/render.c | 4 +--- srcs/shade.c | 2 +- srcs/sphere.c | 4 ++-- 6 files changed, 22 insertions(+), 11 deletions(-) diff --git a/scenes/plane_new.rt b/scenes/plane_new.rt index 0e872db..a82f650 100644 --- a/scenes/plane_new.rt +++ b/scenes/plane_new.rt @@ -1,7 +1,7 @@ C 0,0,5 -0.3,0,-1 60 A 0.8 127,127,127 -L 1,-2,2 0.8 -pl 0,2,2 -0.1,1,-0.1 255,20,100 +L 1,4,2 0.8 +pl 0,2,2 0.3,1,0 255,20,100 # pl 0,0,1 -1,-0.1,0.1 0,255,0 sp 1,0,0 0.8 0,255,0 # sp 0,0,0 0.8 0,255,0 diff --git a/srcs/camera.c b/srcs/camera.c index 880dbe7..f3ef13f 100644 --- a/srcs/camera.c +++ b/srcs/camera.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 12:54:25 by tfregni #+# #+# */ -/* Updated: 2023/08/28 23:54:29 by tfregni ### ########.fr */ +/* Updated: 2023/08/29 00:11:01 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/srcs/plane.c b/srcs/plane.c index a31ada9..c8ed3a5 100644 --- a/srcs/plane.c +++ b/srcs/plane.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/07 23:25:30 by tfregni #+# #+# */ -/* Updated: 2023/08/27 22:09:44 by tfregni ### ########.fr */ +/* Updated: 2023/08/29 00:58:41 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -67,10 +67,15 @@ int intersect_plane(t_scene *scene, t_ray ray, float *t, int i) return (0); } +/** + * @param valid: 1 if the normal is pointing towards the camera, -1 otherwise + * @returns the normal vector of the plane. It multiplies by the valid param + * so that the normal is negative if the camera is in the back of the plane +*/ t_vec3 pl_normal(t_shape *pl, t_point3 hit) { (void) hit; - return (pl->rotation); + return (vec3_mult(pl->rotation, pl->pl.valid)); } bool pl_hit_record(double t, t_shape *shape, t_hit_record *rec, t_ray ray) @@ -93,6 +98,10 @@ double ft_abs_double(double n) return (n); } +/** + * The absolute value of the denom allows to render alse the dark side + * of the plane. If the denom is negative we're in the back of the plane +*/ bool pl_hit(t_shape *shape, t_ray r, t_hit_record *rec) { const t_vector p0 = shape->pl.pos; @@ -103,6 +112,10 @@ bool pl_hit(t_shape *shape, t_ray r, t_hit_record *rec) if (ft_abs_double(denom) > EPSILON) { + if (denom > 0) + shape->pl.valid = 1; + else + shape->pl.valid = -1; return (pl_hit_record(((vect_dot(vect_sub(p0, l0), n)) / denom), \ shape, rec, r)); } diff --git a/srcs/render.c b/srcs/render.c index ded5209..cb13148 100644 --- a/srcs/render.c +++ b/srcs/render.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/08/28 23:52:04 by tfregni ### ########.fr */ +/* Updated: 2023/08/29 00:17:22 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -188,8 +188,6 @@ int per_pixel(t_pxl p, t_scene *scene) t_color c; // Between 0 and 1 - // m.ndc_x = (width + 0.5f) / img->width * 2.0f - 1.0f; - // m.ndc_y = 1.0f - (height + 0.5f) / img->height * 2.0f; // ndc_x = (double)p.x / (WIDTH - 1); // ndc_y = (double)p.y / (HEIGHT - 1); ndc_x = ((double)p.x + 0.5f) / WIDTH * 2.0f - 1.0f; diff --git a/srcs/shade.c b/srcs/shade.c index 93df5c9..470c6af 100644 --- a/srcs/shade.c +++ b/srcs/shade.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/08/27 15:45:15 by tfregni #+# #+# */ -/* Updated: 2023/08/27 21:44:44 by tfregni ### ########.fr */ +/* Updated: 2023/08/29 00:31:20 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/srcs/sphere.c b/srcs/sphere.c index 379455e..ed0b611 100644 --- a/srcs/sphere.c +++ b/srcs/sphere.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/07 14:22:05 by tfregni #+# #+# */ -/* Updated: 2023/08/27 19:04:27 by tfregni ### ########.fr */ +/* Updated: 2023/08/29 00:32:03 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -64,7 +64,7 @@ t_vec3 sp_normal(t_shape *sp, t_point3 hit) t_point3 center; center = sp->sp.pos; - normal = vec3_unit(vec3_sub(hit, center)); + normal = vec3_unit(vec3_sub(center, hit)); return (normal); } From c891a467a2d52f8cf996b2978ccdad7f8f9e10d8 Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Tue, 29 Aug 2023 10:19:39 +0200 Subject: [PATCH 53/67] added ambient light contribution --- srcs/shade.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcs/shade.c b/srcs/shade.c index 470c6af..6ed4b5b 100644 --- a/srcs/shade.c +++ b/srcs/shade.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/08/27 15:45:15 by tfregni #+# #+# */ -/* Updated: 2023/08/29 00:31:20 by tfregni ### ########.fr */ +/* Updated: 2023/08/29 10:17:10 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -55,7 +55,7 @@ float diffuse_reflection(t_scene *scene, t_vector n, t_vector p) len_l = vec3_len(l); if (len_l < EPSILON) return (1.0f); - light = ft_fmax((scene->light.brightness * n_dot_l / len_l), 0.0f); + light = ft_fmax((scene->light.brightness * n_dot_l / len_l) + scene->ambient.lighting_ratio, 0.0f); return (light); } From 24fb3ff6a1f9c1d8cc98f8ad17bd6085f0750d4a Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Tue, 29 Aug 2023 10:31:28 +0200 Subject: [PATCH 54/67] fixed light direction in diffuse function --- srcs/shade.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/srcs/shade.c b/srcs/shade.c index 6ed4b5b..6ad4493 100644 --- a/srcs/shade.c +++ b/srcs/shade.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/08/27 15:45:15 by tfregni #+# #+# */ -/* Updated: 2023/08/29 10:17:10 by tfregni ### ########.fr */ +/* Updated: 2023/08/29 10:30:05 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -34,7 +34,7 @@ int cast_shadow(t_scene *scene, t_ray ray) * @returns a float expressing the light intensity on the point * @brief if the light hits at an angle it's more diffused and * less intense - * @param l: light ray + * @param l: light ray (from the hit point to the light source) * @param n_dot_l: angle between the light ray and the normal * @param light: intensity of the light. If it's negative it's * set to 0 @@ -47,15 +47,16 @@ float diffuse_reflection(t_scene *scene, t_vector n, t_vector p) float len_l; t_ray rebound; - l = vec3_sub(p, scene->light.pos); - rebound = (t_ray){p, vec3_inv(l)}; + l = vec3_sub(scene->light.pos, p); + rebound = (t_ray){p, l}; if (cast_shadow(scene, rebound)) return (0.1f); n_dot_l = vec3_dot(n, l); len_l = vec3_len(l); if (len_l < EPSILON) return (1.0f); - light = ft_fmax((scene->light.brightness * n_dot_l / len_l) + scene->ambient.lighting_ratio, 0.0f); + light = ft_fmax((scene->light.brightness * n_dot_l / len_l) \ + + scene->ambient.lighting_ratio, 0.0f); return (light); } From a249ff3da64afaf515506d8f806ff87ace86f192 Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Tue, 29 Aug 2023 10:32:16 +0200 Subject: [PATCH 55/67] fixed direction of normal from hit point --- srcs/sphere.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcs/sphere.c b/srcs/sphere.c index ed0b611..81556b3 100644 --- a/srcs/sphere.c +++ b/srcs/sphere.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/07 14:22:05 by tfregni #+# #+# */ -/* Updated: 2023/08/29 00:32:03 by tfregni ### ########.fr */ +/* Updated: 2023/08/29 10:27:53 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -64,7 +64,7 @@ t_vec3 sp_normal(t_shape *sp, t_point3 hit) t_point3 center; center = sp->sp.pos; - normal = vec3_unit(vec3_sub(center, hit)); + normal = vec3_unit(vec3_sub(hit, center)); return (normal); } From ee5b78d15329abde6ea96797e178e06acdc78332 Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Tue, 29 Aug 2023 13:40:44 +0200 Subject: [PATCH 56/67] correctly set vert_up to 0, 1, 0 --- includes/camera.h | 8 +++--- srcs/camera.c | 57 ++++++++++++++++++++++++++++++++++------- srcs/populate_element.c | 5 ++-- 3 files changed, 56 insertions(+), 14 deletions(-) diff --git a/includes/camera.h b/includes/camera.h index 095fdfe..db17757 100644 --- a/includes/camera.h +++ b/includes/camera.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 12:39:08 by tfregni #+# #+# */ -/* Updated: 2023/08/28 23:51:28 by tfregni ### ########.fr */ +/* Updated: 2023/08/29 13:38:54 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -30,10 +30,12 @@ typedef struct s_camera double viewport_height; double viewport_width; double focal_length; - t_point3 top_left_corner; + t_point3 viewport_top_left; t_vec3 horizontal; t_vec3 vertical; - t_vec3 vup; + t_vec3 pxl_size_hor; + t_vec3 pxl_size_ver; + t_vec3 vert_up; t_vec3 up; t_vec3 right; t_matrix m; diff --git a/srcs/camera.c b/srcs/camera.c index f3ef13f..978353a 100644 --- a/srcs/camera.c +++ b/srcs/camera.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 12:54:25 by tfregni #+# #+# */ -/* Updated: 2023/08/29 00:11:01 by tfregni ### ########.fr */ +/* Updated: 2023/08/29 13:39:57 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -18,9 +18,42 @@ double radians(double grades) return (grades * M_PI / 180); }; +// void cam_scratch_orientation(t_camera *c) +// { +// t_matrix cam_to_world; +// t_matrix *m; + +// m = &cam_to_world; +// c->look_at = vec3_unit(vec3_sub(c->pos, c->orientation)); +// c->right = vec3_unit(vec3_cross(c->vup, c->look_at)); +// c->up = vec3_cross(c->look_at, c->right); +// m->size = 16; +// m->matrix[0][0] = c->right.x; +// m->matrix[0][1] = c->right.y; +// m->matrix[0][2] = c->right.z; +// m->matrix[0][3] = 0; +// m->matrix[1][0] = c->up.x; +// m->matrix[1][1] = c->up.y; +// m->matrix[1][2] = c->up.z; +// m->matrix[1][3] = 0; +// m->matrix[2][0] = c->look_at.x; +// m->matrix[2][1] = c->look_at.y; +// m->matrix[2][2] = c->look_at.z; +// m->matrix[2][3] = 0; +// m->matrix[3][0] = c->pos.x; +// m->matrix[3][1] = c->pos.y; +// m->matrix[3][2] = c->pos.z; +// m->matrix[3][3] = 1; +// c->m = mx_cross(c->m, cam_to_world); +// } + +/** + * Remember that cross product is anticommutative, so a x b = -b x a +*/ void cam_orientation(t_camera *c) { - c->right = vec3_unit(vec3_cross(c->orientation, c->vup)); + // cam_scratch_orientation(c); + c->right = vec3_unit(vec3_cross(c->orientation, c->vert_up)); c->up = vec3_unit(vec3_cross(c->right, c->orientation)); c->look_at = vec3_unit(c->orientation); c->m.size = 16; @@ -32,9 +65,9 @@ void cam_orientation(t_camera *c) c->m.matrix[1][1] = c->up.y; c->m.matrix[1][2] = c->up.z; c->m.matrix[1][3] = 0; - c->m.matrix[2][0] = c->vup.x; - c->m.matrix[2][1] = c->vup.y; - c->m.matrix[2][2] = c->vup.z; + c->m.matrix[2][0] = c->vert_up.x; + c->m.matrix[2][1] = c->vert_up.y; + c->m.matrix[2][2] = c->vert_up.z; c->m.matrix[2][3] = 0; c->m.matrix[3][0] = c->pos.x; c->m.matrix[3][1] = c->pos.y; @@ -48,18 +81,24 @@ void cam_setup(t_camera *c) t_vec3 half_ver; t_vec3 temp; + c->m = mx_get_identity(); cam_orientation(c); c->aspect_ratio = WIDTH / (double)HEIGHT; c->viewport_width = 2.0f * (tan(radians(c->fov) / 2.0f)); c->viewport_height = c->viewport_width / c->aspect_ratio; c->horizontal = vec3(c->viewport_width, 0, 0); - c->vertical = vec3(0, c->viewport_height, 0); + c->vertical = vec3(0, -c->viewport_height, 0); + // c->horizontal = vec3_mult(c->right, c->viewport_width); + // c->vertical = vec3_mult(c->up, -c->viewport_height); half_hor = vec3_div(c->horizontal, 2); half_ver = vec3_div(c->vertical, 2); + temp = vec3_sub(c->pos, vec3(0, 0, c->focal_length)); temp = vec3_sub(c->pos, half_hor); - temp = vec3_sum(temp, half_ver); - c->top_left_corner = vec3_sub(temp, vec3(0, 0, c->focal_length)); - printf("Camera: vp_w: %f, vp_h: %f, ratio: %f, top_left: %f %f %f\n", c->viewport_width, c->viewport_height, c->aspect_ratio, c->top_left_corner.x, c->top_left_corner.y, c->top_left_corner.z); + temp = vec3_sub(temp, half_ver); + c->viewport_top_left = vec3_sub(temp, vec3(0, 0, c->focal_length)); + c->pxl_size_hor = vec3_div(c->horizontal, WIDTH); + c->pxl_size_ver = vec3_div(c->vertical, HEIGHT); + printf("Camera: vp_w: %f, vp_h: %f, ratio: %f, top_left: %f %f %f\n", c->viewport_width, c->viewport_height, c->aspect_ratio, c->viewport_top_left.x, c->viewport_top_left.y, c->viewport_top_left.z); printf("Horizontal: "); vec3_print(c->horizontal); printf(" Half_hor: "); diff --git a/srcs/populate_element.c b/srcs/populate_element.c index b8b29c5..75892ed 100644 --- a/srcs/populate_element.c +++ b/srcs/populate_element.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/26 21:30:47 by tfregni #+# #+# */ -/* Updated: 2023/06/17 16:14:59 by tfregni ### ########.fr */ +/* Updated: 2023/08/29 13:39:09 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -86,8 +86,9 @@ t_err validate_camera(t_scene *scene, char **el) if (scene->camera.fov < 0 || scene->camera.fov > 180) return (ft_warning("invalid argument: ", el[3], \ INVALID_ELEMENT)); - scene->camera.focal_length = 1.0f; + scene->camera.focal_length = ZNEAR; scene->camera.look_at = vec3_unit(point(scene->camera.pos.x, scene->camera.pos.y, scene->camera.pos.z - scene->camera.focal_length)); + scene->camera.vert_up = vec3(0.0f, 1.0f, 0.0f); cam_setup(&scene->camera); return (SUCCESS); } From 236df949a12c216189532f0432087e01fe4e55ee Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Tue, 29 Aug 2023 13:49:00 +0200 Subject: [PATCH 57/67] set back awsd to camera rotation --- srcs/event_handler.c | 32 +++++++------------------------- 1 file changed, 7 insertions(+), 25 deletions(-) diff --git a/srcs/event_handler.c b/srcs/event_handler.c index 7535632..fad4c60 100644 --- a/srcs/event_handler.c +++ b/srcs/event_handler.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 12:29:38 by tvasilev #+# #+# */ -/* Updated: 2023/08/27 20:44:48 by tfregni ### ########.fr */ +/* Updated: 2023/08/29 11:44:38 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -40,35 +40,17 @@ int key_handle(int keycode, t_scene *scene) else if (keycode == RIGHT) scene->camera.pos.x += CAM_PACE; else if (keycode == Q) - { - if (scene->shape[0].rotation.x < 1) - scene->shape[0].rotation.x+= 0.3; - } + scene->camera.orientation.z -= ORIENT_PACE; else if (keycode == E) - { - if (scene->shape[0].rotation.x > -1) - scene->shape[0].rotation.x -= 0.3; - } + scene->camera.orientation.z += ORIENT_PACE; else if (keycode == A) - { - if (scene->shape[0].rotation.y < 1) - scene->shape[0].rotation.y += 0.3; - } + scene->camera.orientation.y -= ORIENT_PACE; else if (keycode == D) - { - if (scene->shape[0].rotation.y > -1) - scene->shape[0].rotation.y -= 0.3; - } + scene->camera.orientation.y += ORIENT_PACE; else if (keycode == W) - { - if (scene->shape[0].rotation.z < 1) - scene->shape[0].rotation.z += 0.3; - } + scene->camera.orientation.x += ORIENT_PACE; else if (keycode == S) - { - if (scene->shape[0].rotation.z > -1) - scene->shape[0].rotation.z -= 0.3; - } + scene->camera.orientation.x -= ORIENT_PACE; else ft_printf("KeyCode: %d\n", keycode); if (keycode != ESC) From 222c8ec9cb413b1602d0829918a09a5c7668b25a Mon Sep 17 00:00:00 2001 From: Timoti Fregni Date: Tue, 29 Aug 2023 13:50:43 +0200 Subject: [PATCH 58/67] experimenting different tutorials --- includes/hittable.h | 3 +-- includes/minirt.h | 4 ++-- includes/vec3.h | 4 ++-- scenes/plane_new.rt | 10 ++++---- srcs/render.c | 58 ++++++++++++++++++++++++++++++++------------- srcs/sphere.c | 3 ++- srcs/vec3.c | 12 +++++----- 7 files changed, 60 insertions(+), 34 deletions(-) diff --git a/includes/hittable.h b/includes/hittable.h index 9b4b13f..49e8830 100644 --- a/includes/hittable.h +++ b/includes/hittable.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 17:26:52 by tfregni #+# #+# */ -/* Updated: 2023/08/27 18:40:22 by tfregni ### ########.fr */ +/* Updated: 2023/08/29 11:52:56 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -52,7 +52,6 @@ typedef struct s_hit_record /* SPHERE */ int intersect_sphere(t_scene *scene, t_ray ray, float *t, int i); -float sp_light_coeff(t_scene *scene, float t, t_ray ray, int i); float sp_calc_discriminant(t_scene *scene, t_ray ray, \ float *t, int i); float sp_calc_hit_point(float discriminant, float a, float b); diff --git a/includes/minirt.h b/includes/minirt.h index 588588f..5d583a4 100644 --- a/includes/minirt.h +++ b/includes/minirt.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/08/28 09:27:16 by tfregni ### ########.fr */ +/* Updated: 2023/08/29 10:10:01 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -30,7 +30,7 @@ # define CAM_PACE 0.1 # define LIGHT_PACE 0.3 # define ORIENT_PACE 0.01 -# define RAY_LEN 1000 +# define RAY_LEN 100000 # define BOUNCES 2 # define ZNEAR CANV_DIST # define ZFAR RAY_LEN diff --git a/includes/vec3.h b/includes/vec3.h index 5546ca2..0fbf7cd 100644 --- a/includes/vec3.h +++ b/includes/vec3.h @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 11:40:31 by tfregni #+# #+# */ -/* Updated: 2023/08/28 19:28:22 by tfregni ### ########.fr */ +/* Updated: 2023/08/29 10:57:00 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -36,8 +36,8 @@ t_vec3 vec3(double x, double y, double z); t_vec3 vec3_sum(t_vec3 a, t_vec3 b); t_vec3 vec3_mult(t_vec3 a, double b); t_vec3 vec3_cross(t_vec3 a, t_vec3 b); -t_vec3 vec3_sub(t_vec3 a, t_vec3 b); double vec3_dot(t_vec3 a, t_vec3 b); +t_vec3 vec3_sub(t_vec3 a, t_vec3 b); t_vec3 vec3_div(t_vec3 a, double b); double vec3_len_squared(t_vec3 a); double vec3_len(t_vec3 a); diff --git a/scenes/plane_new.rt b/scenes/plane_new.rt index a82f650..71e3b38 100644 --- a/scenes/plane_new.rt +++ b/scenes/plane_new.rt @@ -1,8 +1,8 @@ -C 0,0,5 -0.3,0,-1 60 +C 0,0,5 0.5,0.8,-1 160 A 0.8 127,127,127 -L 1,4,2 0.8 -pl 0,2,2 0.3,1,0 255,20,100 +L 0,3,0 0.8 +pl 0,-2,2 0,0.4,0 255,20,100 # pl 0,0,1 -1,-0.1,0.1 0,255,0 -sp 1,0,0 0.8 0,255,0 -# sp 0,0,0 0.8 0,255,0 +sp -3,-1,-3 0.8 0,255,0 +sp 0,0,-5 0.8 255,255,0 diff --git a/srcs/render.c b/srcs/render.c index cb13148..93dc516 100644 --- a/srcs/render.c +++ b/srcs/render.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/08/29 00:17:22 by tfregni ### ########.fr */ +/* Updated: 2023/08/29 13:37:20 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -98,6 +98,21 @@ int convert_trgb(t_color c) return (t << 24 | r << 16 | g << 8 | b); } +// t_ray create_scratch_cam_ray(t_camera *c, double screen_x, double screen_y) +// { +// t_ray ray; +// t_point3 cam_p; + +// // Camera space +// cam_p.x = screen_x * c->fov; +// cam_p.y = screen_y * c->fov; +// cam_p.z = -1; +// cam_p = mx_mult(c->m, cam_p); +// ray.origin = mx_mult(c->m, vec3(0, 0, 0)); +// ray.direction = vec3_unit(vec3_sub(cam_p, ray.origin)); +// return (ray); +// } + /** * @brief creates a ray from the camera to the canvas * 1. Pixel to world @@ -105,19 +120,25 @@ int convert_trgb(t_color c) * 3. Get ray direction * 4. Normalize ray direction */ -t_ray create_cam_ray(t_camera *c, double ndc_x, double ndc_y) +t_ray create_cam_ray(t_camera *c, double screen_x, double screen_y) { + // return (create_scratch_cam_ray(c, screen_x, screen_y)); t_ray ray; - t_vec3 temp; - t_vec3 gradient_hor; - t_vec3 gradient_ver; + // t_vec3 temp; + // t_vec3 gradient_hor; + // t_vec3 gradient_ver; ray.origin = c->pos; - gradient_hor = vec3_mult(c->horizontal, ndc_x); - gradient_ver = vec3_mult(c->vertical, ndc_y); - temp = vec3_sum(gradient_hor, gradient_ver); - ray.direction = vec3_sub(c->top_left_corner, ray.origin); - ray.direction = vec3_sum(ray.direction, temp); + // gradient_hor = vec3_mult(c->horizontal, screen_x); + // gradient_ver = vec3_mult(c->vertical, screen_y); + // temp = vec3_sum(gradient_hor, gradient_ver); + // ray.direction = vec3_sub(c->viewport_top_left, ray.origin); + // ray.direction = vec3_sum(ray.direction, temp); + t_vec3 pxl_x = vec3_mult(c->pxl_size_hor, screen_x); + t_vec3 pxl_y = vec3_mult(c->pxl_size_ver, screen_y); + t_vec3 pxl_pos = vec3_sum(c->viewport_top_left, pxl_x); + pxl_pos = vec3_sum(pxl_pos, pxl_y); + ray.direction = vec3_sub(pxl_pos, ray.origin); return (ray); } @@ -179,20 +200,25 @@ t_color ray_color(t_scene *scene, t_ray r) * + (ax^2 +ay^2 + az^2 - r^2) = 0 * Quadratic formula: (-b +- sqrt(b^2 - 4ac))/2a * Discriminant: b^2 - 4ac + * https://www.scratchapixel.com/lessons/3d-basic-rendering/ray-tracing-generating-camera-rays/generating-camera-rays.html */ int per_pixel(t_pxl p, t_scene *scene) { - double ndc_x; - double ndc_y; + // double ndc_x; + // double ndc_y; + double screen_x; + double screen_y; t_ray r; t_color c; - // Between 0 and 1 + // Between 0 and 1 (NDC space) // ndc_x = (double)p.x / (WIDTH - 1); // ndc_y = (double)p.y / (HEIGHT - 1); - ndc_x = ((double)p.x + 0.5f) / WIDTH * 2.0f - 1.0f; - ndc_y = 1.0f - ((double)p.y + 0.5f) / HEIGHT * 2.0f; - r = create_cam_ray(&scene->camera, ndc_x, ndc_y); + + // Between -1 and 1 (screen space) + screen_x = ((double)p.x + 0.5f) / WIDTH * 2.0f - 1.0f; + screen_y = 1.0f - ((double)p.y + 0.5f) / HEIGHT * 2.0f; + r = create_cam_ray(&scene->camera, p.x, p.y); c = ray_color(scene, r); return (convert_trgb(c)); } diff --git a/srcs/sphere.c b/srcs/sphere.c index 81556b3..46cb2de 100644 --- a/srcs/sphere.c +++ b/srcs/sphere.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/07 14:22:05 by tfregni #+# #+# */ -/* Updated: 2023/08/29 10:27:53 by tfregni ### ########.fr */ +/* Updated: 2023/08/29 11:52:34 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -40,6 +40,7 @@ float sp_calc_discriminant(t_scene *scene, t_ray ray, \ *t = sp_calc_hit_point(discriminant, a, b); return (discriminant); } + /** * @returns 1 if the ray hits the sphere, 0 otherwise */ diff --git a/srcs/vec3.c b/srcs/vec3.c index 2744c16..4ba129e 100644 --- a/srcs/vec3.c +++ b/srcs/vec3.c @@ -6,7 +6,7 @@ /* By: tfregni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 11:42:25 by tfregni #+# #+# */ -/* Updated: 2023/08/28 19:28:53 by tfregni ### ########.fr */ +/* Updated: 2023/08/29 11:18:36 by tfregni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -74,6 +74,11 @@ t_vec3 vec3_cross(t_vec3 a, t_vec3 b) return (result); } +double vec3_dot(t_vec3 a, t_vec3 b) +{ + return ((a.x * b.x) + (a.y * b.y) + (a.z * b.z)); +} + t_vec3 vec3_sub(t_vec3 a, t_vec3 b) { t_vec3 result; @@ -84,11 +89,6 @@ t_vec3 vec3_sub(t_vec3 a, t_vec3 b) return (result); } -double vec3_dot(t_vec3 a, t_vec3 b) -{ - return ((a.x * b.x) + (a.y * b.y) + (a.z * b.z)); -} - t_vec3 vec3_div(t_vec3 a, double b) { return (vec3_mult(a, 1 / b)); From f2dc64864e17753a6e1dcae67436ae869ed2136e Mon Sep 17 00:00:00 2001 From: Tsvetoslav Vasilev Date: Thu, 31 Aug 2023 18:25:43 +0200 Subject: [PATCH 59/67] clusterfuck --- includes/camera.h | 6 ++- includes/minirt.h | 6 +-- includes/ray.h | 6 ++- minirt | Bin 0 -> 158872 bytes scenes/plane_new.rt | 3 +- srcs/camera.c | 105 ++++++++++++++++++++++++++++++++-------- srcs/camera.o | Bin 0 -> 10560 bytes srcs/cylinder.o | Bin 0 -> 28968 bytes srcs/event_handler.c | 12 ++--- srcs/event_handler.o | Bin 0 -> 14016 bytes srcs/libx.o | Bin 0 -> 13328 bytes srcs/main.o | Bin 0 -> 13944 bytes srcs/matrix_calcs.o | Bin 0 -> 17936 bytes srcs/parse.o | Bin 0 -> 18352 bytes srcs/parse_util.o | Bin 0 -> 9664 bytes srcs/plane.o | Bin 0 -> 14704 bytes srcs/populate_element.o | Bin 0 -> 14720 bytes srcs/populate_solid.o | Bin 0 -> 16200 bytes srcs/ray.o | Bin 0 -> 3912 bytes srcs/render.c | 66 ++++++++++++++++++++++--- srcs/render.o | Bin 0 -> 25176 bytes srcs/shade.o | Bin 0 -> 12472 bytes srcs/sphere.o | Bin 0 -> 19144 bytes srcs/vec3.c | 6 +-- srcs/vec3.o | Bin 0 -> 9672 bytes srcs/vector_calcs.o | Bin 0 -> 6328 bytes 26 files changed, 167 insertions(+), 43 deletions(-) create mode 100755 minirt create mode 100644 srcs/camera.o create mode 100644 srcs/cylinder.o create mode 100644 srcs/event_handler.o create mode 100644 srcs/libx.o create mode 100644 srcs/main.o create mode 100644 srcs/matrix_calcs.o create mode 100644 srcs/parse.o create mode 100644 srcs/parse_util.o create mode 100644 srcs/plane.o create mode 100644 srcs/populate_element.o create mode 100644 srcs/populate_solid.o create mode 100644 srcs/ray.o create mode 100644 srcs/render.o create mode 100644 srcs/shade.o create mode 100644 srcs/sphere.o create mode 100644 srcs/vec3.o create mode 100644 srcs/vector_calcs.o diff --git a/includes/camera.h b/includes/camera.h index db17757..54cab94 100644 --- a/includes/camera.h +++ b/includes/camera.h @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* camera.h :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: tfregni +#+ +:+ +#+ */ +/* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 12:39:08 by tfregni #+# #+# */ -/* Updated: 2023/08/29 13:38:54 by tfregni ### ########.fr */ +/* Updated: 2023/08/31 17:45:18 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -29,6 +29,8 @@ typedef struct s_camera double aspect_ratio; double viewport_height; double viewport_width; + double half_hor; + double half_ver; double focal_length; t_point3 viewport_top_left; t_vec3 horizontal; diff --git a/includes/minirt.h b/includes/minirt.h index 5d583a4..3110976 100644 --- a/includes/minirt.h +++ b/includes/minirt.h @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* minirt.h :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: tfregni +#+ +:+ +#+ */ +/* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/08/29 10:10:01 by tfregni ### ########.fr */ +/* Updated: 2023/08/31 17:20:45 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -29,7 +29,7 @@ # define CANV_DIST 1.0f # define CAM_PACE 0.1 # define LIGHT_PACE 0.3 -# define ORIENT_PACE 0.01 +# define ORIENT_PACE 0.4 # define RAY_LEN 100000 # define BOUNCES 2 # define ZNEAR CANV_DIST diff --git a/includes/ray.h b/includes/ray.h index ebcd381..4cf91f1 100644 --- a/includes/ray.h +++ b/includes/ray.h @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* ray.h :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: tfregni +#+ +:+ +#+ */ +/* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 12:12:45 by tfregni #+# #+# */ -/* Updated: 2023/06/15 16:22:21 by tfregni ### ########.fr */ +/* Updated: 2023/08/31 16:21:19 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -21,6 +21,8 @@ typedef struct s_ray t_vec3 direction; } t_ray; +t_ray ray(t_point3 origin, t_vec3 direction); + t_point3 ray_at(t_ray ray, double t); #endif diff --git a/minirt b/minirt new file mode 100755 index 0000000000000000000000000000000000000000..50658c3aa09ab3614e6aac05114ca8bdc437a9a5 GIT binary patch literal 158872 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ƃ@Gi8f z2S4_rb%XlJe_>FOU zKDwc*Hfhy__(V1PqS*MMYN8e@Txd3V;;oRr*la#;K$_Nad*Dbc95}*eaXiS5_ZCUl zy3TMDiqDIO7>VuU62pB=4y_+WHGA*IL#+eBDxhn|L8Zqel`OeHJ@13 zYyaTeXibqrfiTF=2`#H2g?d(~@3q5n&cO=QTK8(v(O+#p;F}&vuT?Vhh?43!WJLl; zz%qOr~0GzIZ%Rd;9w+hkn$FC zN7^eN5pHR6n`zz-`sklkqFeXX+n9v`J*zqfO2gbS^C;A|d60|Spc>M9lStY`7jzuo z!wY=?*V$<{X+72@_$2^^ir%yH{y^tI@7bkQt1J4rFoPa!Zdc|Bdn~le3hxy5L}qqd z;h*ED>)~hX@i?Ii*r8ft6SkrvotXdTUF4sOccE3i1FZikjHz+e z(L}Dy8~?0E+yfvZ7FLCH;?r2QK-B^N#RhxGE^~*&sXv%arw&3wCjH_5z#j%ODKW)7 zgQ1EOl|NZT=D>Hj=CjZdkAH37+CVH^-xq=1wA9Ds2dM0yQyW4Zo&o+4^*INI>yJaL z;W^aIHWidPQ$e2$So^QO`;AEbadStXy*nO2)*?jPw7u} zOX{cW2^1Cp4Jce9;PF}kWsTUz~=WaG9&)jNG4zyX3X7*=ATBP@gq9yW_P!{CBHb_Y#Dgg&pCa`q?1-RF;4TGX%7x3kdXe2KJM?qSs+eQ7v#EEiGOt#l4Z1nGmRz z+UZZuK&?(gyb7i=k>bs&A!a3b{YhrCmg)hmqCmC^$m#*-?zj0xh^Pt|0teJD6=I5c z2qA7HuwR_yeh?9F8+`~QpoAx45TUX+iLYRRyA{E^{YgSNr~`6&-0hdxr?1n`iCAZO zbgc=AtTbKp1r5*8RVF%BI{jWg4$^PG(7^eGF-yy;HoJtpLLe4_&+NeiJdR!2km%%c)bH-dkPD_28xx-^`Lw00l&&ZhvNpKi_(vxAzbmlY0uN<5B7B!V? ziTCaHe*r)CNS}jzui5NTBp~0ze84lj@$&P`=2LWer+)%^l~GF546`|bGA)7fLU;Zd z7Y;Yyihprvv?5vd)c5f>LfT0|*ur<;WxQnE)n3gw$1hruIFA_+EAN$<)b)Jm#*Z;2 z34w{Gs)Hs1MAJqD^ifp8I>;w;PxwXaeKx>vqyunu@r2lr zyE-NzjNd!R{sxR6?8KbiW3_&y`CtcS=NFDAjK6X*7gOENi8g(!o{+R!_ChVe3{lGy z{?sJ1Nfs_3Z?~VEm&r?+T%b2%O$@ci!q!ARi6M5p8=UFK-xgj@*912bv(_i_N7WO#_MCE6Bm7N1rnkZm3NYd`xo z>}uK5MKJ5)!dEdXP*wkt@veu5b;fIdJwDci`Kb98@$lO2@T!k!pb}A%pW<5qas5zq zufc30XH}xeZ2mkF5VxpBkt^u%spt8?6gK^dqO)?!{bq@D@xK>W<|c1YK6O@OaOdDxX6&P z#K2<@7=t&gD3x@(dfCQaI^4Z%i_Gm9(92e*mu-W4*@|AaVmeVXOOK01Es7rnG>}G6 z>FAq3u5W6f2S~ypHwgzKa}Nz5q1z$hz+e(E_5j|b!G>L6rR1#cU_%pO24E08z>YLW z^?m{Eh|ZFHv>>Mv#`){Fse-Gz+-mt>*l{Nc`+oQ!bf(O01Z)DiT#fbGTSuWp%~kQg z=cnx}qo4ehP9YSbaqkYiJ&E{qED*gx(IgIoT(R9;>4{)E?=SuX4p$)Df#L_F0$}ah zz}s<(X~i4|mQZio)r#VbLH^4>1ij15=Fu`?Csgx*n>MKCfdRDrb=A~bqjn{(Q$vU8 zC&AU7qf?l2PBL4>Rc|ZU=SMEs3{?};v$lOvOH{I?40>))z)z*XbTI55na|;(GTBZX z3$Z&MF5*wVDsWKa7qN=#q8o*VAPympUd=R!xyOD4v)|xJh+C`!g^&9dB7gc;==lkM z8an=#B16ruO_+#D6jRt?yGy6c9sV;U61z=jh`UF%hy)M#dydJ<#iHE=3{6h~C{7MV zp_3d!-w6X4ojs8_Mt4=t7E;v}hk_q)C4Egz-M=4nJq|z5D5GpS$faVI$$$Jq+QE3P8 z7hN~e)}xJa^zkm&Pl@O05l%GMe|itXMG+d875#>Qw#p-`F-AwQv_Cf!^y&5BKm;VH z)r${VXV{rC84l!`<(2u=8{IKPG^p2)!{Da@wUTm$e{U~681W-cpc{x{huR4+o%^_s zzl!^3t{=iP;agz!vN4DqRE*#`tL+N_;S7W0;(^N?ofv~DQEuh_M;C5s_dXjI$UM%D8_^BM|i2?%r7v%b&~cJ ziXHDB1%-6LR%?2{f>%)hYQ(|Qn5c9}Kn_TFRbq^o*%&p|C&G)kJO0;CW}LwC#ccBGlnho!#(`eVsfIJ`qnNjxP)o;8 zvi@;xa)jI{^p2?tr70ErI}8m_CB6~Ts|>U^k_R@-?Y;kVjjtz}Pw$(&7aL{k9SZ+FiFwxv)0)-P;Dpw$so_G` z)S$RX2ccYUoTwh#qU+|=J{vo!(Zn=CZ;c5O0zla}WtSBX7pMn#bgn?LDj20azbpbA z{dBL-APIImNnuj$w#P%@pOG8vU>^dE=vSl?<=wCI)1A&AS5e47Bx@8)vClQ6{VLnV z`HRbTd%zIK;4qFrPr~4~904VIE>2WQ*slGpgx$Jb0MWQyKrzrLyGzyHuE}WoIB5$ZD zv_TfEL-RX4_fRXDZJ*Z&*~b~@5h6nkSS>*P&_3)S z5WzQHsiXru+~yH{8n2aVUqro>%m$DB&!kxr)YZOd04<}Zifd5h*sGixp@uY!9E{Vg zRRak(1VNU41FH@?`O^N#8@FG^Um_z>(yJ6gh%GB_o{<75+f3X3T72kOJA$D+jfQYX zLKmTr@nCFFQ`DihAttoP4M347a-))GsE<;c_)>T9{;U%_CJvX;m1u8|6^bTVJZy7V zi%&t89)pksinYQ-74dWS>}F!@->s?9jnQpdtjqYsOlZ@-5KbP5Bx%G4q@Oj_&?k!gD3L_ zaqLFd;B6f8b_)X@&=DIMfZUngiU|jh>{d*`Y$+$L-BJ925lNLYeYr;TNA$Aa`pMbr zg~G}SnX?xn3AHCLmnP5)mLj8Iruy0ea-W7gk^A(h$z3<&PZ~qzRsXO-7^`~jjs6R0 zN%#Z3KJ5$~S8PF}l9@Pry}AoN(%Au#tjN_}_7&h#BygNN@`2-W69yX8XP-;vso*2d zeZAhocrc>c%;qskKg47O2%U~$lrz@ zAHYRSPs%~;kTB6h*2~V;5cgVie2QtHU7gqQf{HpP8;g#JXOn}c-)axlvh4prG$NZ% z92@IaV50)p3OU6=a{Y1I_^Q(dyyb~68-mm*kLo)E2k}W=RNdm(?_Qu9qBSD8rdv_u zSiST=+3DXx32t|U+qs1_6Mq4V9eGk-#qjJ2)P~{7k?%f|V_;kK`yfVoKei&t2Nz<+nwaV}qc=j;{!A<2$t{PEakC{piG;*R$PNs(Kc;da)M3q znX6wso0z{OAgs6TOEJ_zw}-B+hgNavsrI93EKZ0PJ)siXvj^1ep*=EC?*DUu8TQK< zi`sG;#O_B_dp#x6m&`fl}=5y?{Y9c*furx*KQNx8a1qfA+OvfYGvEM?KaT` zN*Ul*aEvtUZKC-8Rz^G?7;GcEISh3Kqt#cm>IpUe9ss%m#lLS#BEi2F2B6}62Jx>% zwS#Pixml!aCxI*5!KFC&=~s+??D&Z263q#9#b_x1fIH`bK77nPj;q@6aZ>`v%{3;- zlO#(&lCuLQQ3Xjp!MW@Gu72%j0u!q7&!+rMI1;WZKEGo6+m?au<$f@Y6;t39pMDRx z|N6autk{dV>^w4C$xw%QJ#f|i?BO@8!a1M&z_1tGicN&%jJZ*wK&UMhl{kAK6q0A! z3j`^5XM1F4TRByr!5!Jl6lNPYA%G>0g!g3~B+lJgBH?pSw9OHqvfVX0tVXcy%z^g( znyQ^RAjKt?xxH(dL4^{dkK&gXRRE=9JM=C-9xRnnII99J1!$S5t6>yBK+u! zQXC{c9uN_?x@IR#RD2tJ{n0%Y#pR2i$PoV(u0JBz7u?|`LrY%MY^oK{r9;am*#l6f z*-vQS2VKHyT*n04+UP87TfX%(vkk5S@zWK1*9KmR2hY8cnMW9Rx~@CEVm9e*X%(Y> z12fGl_Xl2y`|S(#;C0ha30apr9EaB#B4kCRea!sgU$P75%Fp_f4UuW3RwQ{6q8E5J zd@%q7<1em`v0CseE*Ab!`aq84TbL?Pjyuo*G_L`?D233I^GyAcacjKRb#fv|Mu& zT3g|_kNunZt+t5<+Kja#Dc_aM9IJc-zp<26YF(&EuJ^*9`0+O&Zq8n)?w9k=V5EJW zH0MVbfkOK#5K^8na*p4M+<_mhIof7*&L~Bv_JX_ad7{aKMo6BMF_ybYf8S?RaIt`$%7Q`ENJL|O+ z`mASp3`mjCy(3cjb$+-kgK1A@+cE2h?2Y*B4P-SDhe^y%h70&M5Vb8~uoG~zlYE2N zV6*BEYVWciLRTujB)>cFYeXB;%A1S$3Dkr{w7$=^S}s0!A%6`OKWn-ANDpfD6T|^z zfP}N*wmWkQkcj_%Y%6qE24>#xAS)7T#3w!415$x01Lavp5Qp4X*~J(RJk#}f7C#4{ zW#0^rT9G*!R`b4KI(<>b;c+srSdkk%%skb)VnqGBDDZ^(&IuNW`p&!i*2p)B8in5j zDqKo`SRu(meX|MA_#-w}c$6~1glS5WyP%WADFf<@2qTZHi63O}=zU5CH54WRSBE%?NO%V0bv{x$r}!>W8U zK<9lM@CjvzmuKGyXM!)=RqxE6OP7)z{$+Myxmneg9exR>^`4rXIvNK~PVfl%n4G*+ zSbQCqf5H7-`=$!2P7S;p#1wuPQ%7#N%ID7wm-=#PY2K^RGrz~5VYi_wW!8{js)<;j zQE`;IxXT{XZ@9|8&fRV_#&wOV)t|5?`F7EKsmKlY;OnfrvY&@G z#18+?ev=H3?-)_um;xsm@MqT;-$*ioV>?rJRVwqv`~?1{ZqEYxR%!qyhTonA*RlrP zccyI8)zC{Sbf*y&w7-S3g{Os9WQUK-;oRKt%VbDv5s~0eT-zH#MIMe&IoEONnLSs` zv^EQWWjnhtGH1ff@H^osR6fmKaVx8yyg0i^YUiLfCb8<5`O%S0h025mK@H6(-rF97 z>*EwR!;78ui?YKt7v+U#q_zKfgjI6F{xUkv4$tt1J7wnU1u=OMGjm@izT}R0$(|r8pHf7|vCgu-Zlb&!ggP1~dekqBH~)-R7mr z*|UHUZ1KvJO4VvcWhw%7<>$iL@H>2dfgDCV%)pFtJg9~*;NF6;2{S$Q2aduA_FMOQw70mq?)SUdtot~M^ zv0yp8U2eD?^y3Fp?YUr4Bqu%8HzGJ6KZ9#FwV?M%jt_`3_du`|RbFI*FMDo&_=AE- zj+a47fqgBe)<~d$B6j9|Iv z5U4UpO!G2$N;GCH%7&UAD{@NzW?MlGNr~p5zV?5lvp-4E`KT6;Z^^It9J%_)HkgiU zhQQAxA%ondA3;FU7MyB@UptKDj`R2J5Z^OSNn_ZLtIb!ufJJa*t_Sy`}W{Ag56SGDJ<~P#CX%#0L1B=HKv8r*? z&C!*>XnzYIF8}Wi_&DC&$c?$Vky(C<_5N)X^xcK|k$bn|DL4G{-0;5aSdTNlLG`=i z^}B|vpO0vWWs&K*nQf7~{ph7f>h8`DzZiSX<&IQ5V3nMNK+BK!POgw}ZjO05_PWG@ zBA?7X{29(v^XcVSS5C7c-);mtEAoT20Ga#j3T%l{#{4Qo_-!lvDmfKZ%RzZH)UlcB|68-}`js_P|g>-$SeT)00 zGfza%C2sMTar=RcunZ5`BVe`55kLeG1aWS2)cpZ6I#LhAI1%K$WnT-dqW|bk=|2KU z`VSDJ*Y8kn$%%dsb-7;4=>V|IUFVoE!w|>T2pnFRiSuyrJ+)ui-r0Qe5gSuDi8< zX<2n}Sv+@X+0vT272fjV$|@t<$X0%3PEA#1>7e?fMvobLir1*DUS7=NGKCf+oKhEz=ayGim3hk=f<{SAeU-vd zQ(IPTloVI1{@DXYzie4$^{oyLV@_>FSzTFNd3vX*$KF=_I1%5|G-H6dwyY$$%zKHq zwzv-52$t0?i}&qt7bGc8#j9WHuC6$gz*JM`?N{y$&_QRA@QUK^MhU}IX;#a-El_4~gy-oLlsvSIkMQs;kj znDW23pW*8N`vCmU4M-1c_lhnbt>GUvd{@Jh3Y4B*U$!ErrnKxz?<6=-ywWbtE&TAD zQL2y`!@e4|Pjgq$d5z_MmD{81Y|!bo1M+*ODZh55cX{pNJ3s_n1)eI@QyomcMm+{= zY8O|Pl?Rzp|3@2EO30(TO~m=rDi^t9na`~y>b{q!qq zF3X$cwE{N;yyu*Aj&X6udEN_+(#raVA|oU7l1ryvcKKJbt|-2xq_nKum0_e;S5{5N zXMGhwMuU;zuAY5ePHuo-7I$7a56_!Zke@x@sH!O`uBxb67BuF~T$~%o4-^I#&&!*Y zJ9{283g9+p=giKZW6Xpjs;a!D$Saet_e$@q8gF4;eOXRT72NxcmCNdjtGva_G0PU; zQdNcv?Reo7BNlHrueh$74)aQH5hmNZ;minJkIp2SnML)Vc7_n4>)yp zEVh!cAQpQP@Hk)}%fA+jWnfeKu^WINFn3NYwhi#f!dNUBSJ0Z~#$s0kcH9_?1p#x5 z&>rykeDni2VL>dG3Tl&Yip2^6_XDm2^ev3V9s?`{d>*g^@E~9^wtIU4Hv&$?b(9Xk zs{yBC2YDf26JRaie!vaP$FA{X%m>^CcnBvghX9|%9{NQ%#_zyUQv={e9Dr>COvah4 z4VVi!W-P`9=mRXpQFIX@?w70s+z57%J~5c0hcgc7mICV z8gL6>M-bxxJPz0kI2AX#J-D0O0hj@J955HqhpUH0fQ5infKLK80v-a~2$MlHnm5V8PE@jan@z(XrBUckrh#&`jPjj>o8;M9B3p5-CP z19zK~!?D;@Kp&t5SQr5vfQQzjf50anz&M!xr&uiQbCBaVP#X+o(H^krKhYlWNx)5j6MlmB zfVqGNnSK)O0XG6p{5`gybm+z+^k=^bbf*wl*lOt+yu(|{B41-|`&R|5vy(H?NZPP7Ni-G%l{ zcc4AsM!Z0&p*`Rs zz=>yqo|n)ba3kPCz(as50h51@_JB_UJ`d=71$qkD1elB)^@jj`fQ8-A3&8z*W3f`e z$9@5Q13bPT_D}fBSgZqZ>aWlqun903S7$l^eSn94jrM@02hg7IRkSDk4eShX>Th9Z zfEy3SVn+aze-D54MbHCS0r=P-Kqp`a;FExd0AB*!*aJH}8}(lUe!wRIgG|2;KLR-6 z5d0wE)IR~A7jyxx1KbbT0eBqnAfWFJv^xjwY}gIp1i&`HT)_Q+K|mYuF~E-iI{-cB zqJ9+i510$M1TY8~1f1|D@BmH)Y-2g#e!xON8?Y4cBS4slypry`!ANTGB%L|tPESur5Xt{az@JhpBz>Ry-E%%ooB_vkI>Ga|9{wf_wcH!Yj1e2wb#Di?>h-3J6w_o0mDUz zm)eaego_9Q1{F1kC@RGuicvvhRn!(Os8#H-O0Bi_W}{YXtF5$EORL9&*0$=gZR)Ak z9($q3UZ`60{eEN4wf5e8^gHj{=RDu@{_*B{GS`@6j5+3*_c7+2YweMd4_9?Swa-oL zvf1yD{~hdA>_E~WyTGoF!vA#i^B&kymsZnh-RCBD+n(~5*K0ZpG?V@!q`!XA$jCka zM0$?FuOa>Z6Gld`e99l|a}RJ1Y__+Ek!ptC2abtbYE;5#Ixf+*xgMkICFh_%A?pW} zbztB6M72W7=eV$*M;0PoWeMyMrZayzJkJ7t0QiZ-LAR?>5gd=3f!_}N1;p3&8$JKr z3HmVTGf2l@2mXhEi=BwMn+V8q#|}pP71F7#QVtTO8)DsEwe;@Qg z&_CkQ`>(d`vxR~6%+L1i1$`Fj_+y$b;9^ThMivl({6(gHte0jn=tqHmD(U#6oU?$t z9yqsNSdIbUo&xS9WFL6eu%90+zhSE`zj^;3`P~m$^d$~A`CVr zxxK2pq=Cvh%^US;*f;1$?S;S6518d;!`Sw@QYDePpDCGTkwIjYk1E@bx=PMU^kL1Hish#))H0;G9+&VY zFb)1FXDx8|0(b5KWf(GZt*^Jf43u*x(hRQ|85v6<_@llR1MC8E`$oEi?6wPOw_k#Oj6YMb-d#u30<6>(lbbd2$zZ#`<6OvtkmJZk;O$n*6)Pu21a zg6GQ@z!s|KdAOE``vg53;9q+@`)uTOm&-%l_kic63sE1KoRjACPR*uHrteE9C$jxGYr4`8aCQ2mU$m}F7vq+3-q!0 zUk1LOEh8h}15CdEX1@O7!DiWRB)t=I_Ciiub|IJfdo#y@bQ zuEK3YB2f2w{9hw2M7{Qbz72GDPT{z7u)lLZaB%0mKk|+OehBz>gDvCP1>AGMT}qtD z=Nx~b*8{qMUIw0ykHT&+{luNGG1cp}V~Wq6uRWjUdZan_TKGTg;|Ht_bG*Sx8g#V1?E8#YF6oC%!#%R+K5puwCe2=-Npom@8jc_Cr}3vQ?!dZTH-2E&%uNjW zt`2N7wvO+wHccQHLS-3b^bt`<(2sqA`*0QP8=U}{a<c7&7wYH_d-Tmr5Blyp`r{t`PS6K$ z9~t>+9sNa*{siUk92r?sM_=gCUt@aEAFZQ5=+WN?y^Q^|3j2XuKfWU^GO+$er6B)P zBO|}4OaH2u{wUBD_TM=Fdg)gSS<;KBO^QN=-WK{C@c^|pr2GnU*ge^ z0(~FoJL~ATc=VN^_uoA-a&;a33Xi@S^kLA~*3oqZvi|P`y=&LV$QSD9_j>7{0DU*; zZ`9F;J^E{)Z~qKzt~&Zz9{qjh4|=$+ejTrVM`3~3d(X(on|0}b>7_pk^j)9Dx?D&9 ztViemaM!&fBYcC*>mR&D_PuJ0Rd-T_sKj??o(k~LS%unxwJ`DOlD&HvV|93q& zGP1Zfy}iJbe-!9_pcm@&PkZ{WB>kb0k+0OHzhBbRp4<%jKG4svqt63!~eLSKLz>#=*yYFoyYCPo}Rw~{V~w{>*(iubO+}YA)Hfesw>9^uN>n*U;D_& z$Per2PkZ!ZK`(uMWMokteV#`@3-q4HMn?Wpm;WEV{I3DM1Lqtcs-+JIS(l&bL7!Di zuUUtm0(}7VnYHu_tLc9Q`cBZB>-1~z^mAbJ?)>J+$cEbV_Bv0$aiH%9UDc+y-xGQl z(i{u=%a5CVVEAp@>{*G@Rv-2Yu6E`o`s}A8iSlgM7@HFn`*;9p?#0>7^UM=}Z0Bvj z^?hq(WGV9zIX-1Y5~2C9*Utj#%b@T2wi!>Lf5JX4QM$>8t<@Wy;}RX){IHL<2IeP* zY@xkBuw)H?@WAi8Ady?Nt9-bwO-|S8ZbVAKb`(u+4!nywyLO^@L5y?j?!J zF^L{zfSm0$kwgb}#k8Re;R~Yk4!|52mHnn1&h1`?{2t`R`nZw(Y?}{hw>qbwKE#X< z&5oYnf?%7D|Ak1m?|(BL>ytm;6MA}N1jl~f->ranu9yP8-SoLn@EoPKzoWvo22jka zgL4y={zT8>#NuNUD|!-r3lo)vs8EcDTIWC-acQDwiOY6OV(l@BelVYr=;=u;K89`4 zH!o3HcCe&cHI{Qa6ulpMy+V}qFX=Dy6MKX9&YJ#p8emMv@JWt~a$K!Ly2Z~_&(4S& z1a2X4VnZWN+^xW^Jpgw|Wrw;y~@{WpBfql}5^HSo1k9{!~K!0iX_W+G&~)XsOiEc=q$xj>II%36nXec!L@ zOWYuE>wtq>E`P+`3f$TQaQ6epvu3z#@<%*; z-HJT1w8-D?_$+z4b4$qJF(u329z(|vls}j5nD{PVMW8=_FmeHbieJb5g2nnA)$xFd z_Zd32X60`p_n7eKj#!!!{DUc5_h;BJA!>b1G1Xp^QO#o2Q%q2j;l4!|;!oxSQ`j6Tdg1<(uUHzdiPvb~!M^8K%AGnCD66dA50OGS98% zd7F9OXP%Fm=QHN{6Z3r2JpW>zfmU7af_b)?=M3|lW1c6O=h^1D$vn53=WXVBpLsrN zp3j))Pt5a8^Zbi>2F95D&9lusXPD<4^E}Bs&o<9Z=DF28Z!^#P%=1z6e8xO~VxDiB z=U>b-Ft(!jS1`{u^PFLxbIkK3^E}%;H<{;F^SsSG?=#Ow&GQ-a{E2zKX`X*E&w!aX zM2UYQ*!N^bQn}Be-6n3H$~?Qwv(G%Y|1UnfzN6*+uk!z&#y5BNY`h||{LG8jUvzPK z%GAlzCU;Gma4>tMLNGIc41E-N?5akfdw!lu1(#*J-AydVyV& z4?CDZL94H0GSc&F$YLYKR2v`oo62B(g`sM;@%6BC06d9*$C~6jjaVO@A(E;}iNlJ?om?mWsd6OoB-C0fbtMb4kRztvQ*u zp-n$!^{C7{E<7)kiJ`t(LTi3X^bno}rOdw}x!@O;Gw*?4ayY&tGvdOFIy3B9fonEH3I+w>IWSx--p^-n$OjoJQkC2ftpXn&48xhAzeHFC%`1g0FXW?xLzy4DaNC~D>n_|rocV(b zckIvp$%PL|Sy{HK2%6AgW&aT5P=TfsQI-_ZGeLHWsYd~J5zOZf!K37)GL0xXHFGj5 z)9J$5Q08bC#(i#Q1XbmPQhx^DN~8;xfK%!efPpq=As!(sl>w$3bsH+>4#lGN`I%2V5%25e&H-U*(u-=45iKmM!M;FIo{GJ zTWh4@ZUfpnM`cb2P8xn~soL=8j?$%G3Zher-v{2*g9v=k-?}`v9FJjZUBh=MW4&su zSnD&Ff^`ARV;e5>3?kB1H&!w`06$K`MLn5k0T(z5F7C@r zL7A^2ylHLbkEphj&=%Gu{h6bX=_bMh164&YeJryDxD4@^?N+IiAn*kwiZtY|h0Jm! z?-e#uR2g=B7B*5Usnkco+lI^{t+_7%*Bxo9@{U%Xev#&C#Y9@VGM@!+A1XUio~|qD zQ$RQksTUybldx+e6LPfbE0M98ui?phj*PDn*H)^k(cYE045CD(j_F>pB8POVR4eM> zzaYTsh_?Z3VxF-Ipx9ytn;8(N;>Q8>W~)dxbt>Y&Wy<#4n|O3ZGnpUb$svOcyv%EW z*`=fTl8Q6y)HWoT1dKHyz5`&>eF$P-VIWz33y^aD4o=&OKZJp{2~3P?^Ie($!Th@04z@86#6GDm5DI`4H;UY0X8! zTXvefbPk$kg^}SjhcdqeU4~yvD#KfP0+-Res~}?P=#=4b4X&tDcSyA}XuiB(_87Q3P*5f<1|A$SAI? z$+ij*dVAEKX^)mgR+h&XO_nvw<1cDa?vi&5q`Xs0(95GTf+e}TlyZ4=b94z@9{m-= z&D|BN_W_KLz;D6(O#tDY2$t4JI}*}-sbP?tH=rVX6S>U9IIT#aS}tex9L?%63+K@+ zu1ZZnuoX0GW^mBR<1J>Z_Zv(wSE^_gWIbDreh<;-CHe@)VfiqCQi1cN0;%U+M$&jl zvKOUVt)*02YyFjjX&t^ElK#!3XuILFz*+4TBt*Z{_6Sj#I+SYOhWxGTsc7sjkj0!( zajrbk+d=Ym*BTh?5bALF-H!SKK-YA80gQeWi`G@y$Uhr6d+?A7P_#!_C(O#XtBNez4s zBkyLDTM&);jwX$F8Rd;opNid&2UlCW6nhvCuC`WNT(7nXyeL!2 zZ>7YdPKiaG`WP@yN-XNs=K%*&+MpovI5K5rsHYl$_(bOd(NS3JDibXTGR&VhozKPY7jRqxPh>ULstBaKQs zD4Ty7du(Q&8>qN8&a;bv$t^_?*G79fLGDE!cV4CGjW}PV!Ixn_*8v$+mI>1(q;PH! z`aPtx7FG8101MiFceWI1zrPQRbEPV_f`1d!42Fud-@icks#J;g`-j2jzl(i2d%&DZY(tFQ%*>Riync@Vrow_B$1K=BGpt!7nHk zX}=48VYx{AU2-_Sqe%N*;6w(es7Fj1?jZkoz)FuzdL6XX}{mYOjoHQ?RQ~@ z{T|o$d+ckV(S8qh7PS2yEEZ|Me-6CC234f}K18^&RIEU>;G4RNwBI?Vf}?thwBO$% z&*;TP+V284uPAa=6S$?XNc&yj^4cQpcY#~`i=0IT9y3s+{Vwvy4i?#5lJB^kMcVHI zj~^=1eiyiHPw{mZZXYhveiwYl{u1qXfnmRwXunGY_Iru;`yZ$&?e`ebwBG~87!6L^ z?}2=S*zbWcu4v1?u4Ahx-)uIV1iSg%G^ob^T8=6oyIxj+?Zo39|;uZpzIKTjC8 zd6Blcbi<96B5m_KNw}z|NZb6cgfH$Z(l$R6y~f$Jwn*E2CP(`v{YBd5y@Uq_s)}Cv zSdq5*JLHFL9-E1Xw#^%iZSEBowt11ZISWhMJhmFV+BR=6wt1CzwDR;v z(~;$^!_mw$(+Vgvg~4eIh*Q}%fHBTN+)0RJV@DxQ+uUhyFt&M-wmF9bZ1W;*b9PtS z=2>PP`v?-yHg_guF9bOHIs}=U7)Vxk0a9^on`du9#On)@T=uh!(~K%J^JxvnHZRgP zXO6JVr5TwcZ1duoC@;G_Z1ZY)r*wPGNZUO20p!s(541K!A+{W7^3ny+G_=iS*ffWV zw9N%>Nfj3(iNLVUW5=Mc&^C7_X6FJNO$BtJsFsRxKxx}N%PyHd1U2D&?0~5~eK@fn zKLFcY?x;WnJ}H2ItM_-{@y&MT;PD0!zS*+WvSwweoy|o;*4CLOnM8VOBPW|kU|vM2 z3rwWCw$YS11C*@?rCbcky$7STaHam9p{R5Z%d$=S(LEsO#Vfsn*c%VTo#Q86>t(9H0^f~eHYIjot$2K1EoJoU9L z8NLq4(T7w}o#5d5eYlChc)(I$S2bc>oKU4(hbc+l>!!a2*{t{Iu93k?-5JID>`}x7 zRq0Dn82?$+O&bv`gG%2(Y(Z*-fhylh#7U+W?`5Qkv#+F4=?92t6L!xM$&jwn-vBB0 zNR>ngw#T=b;sj=<$93y-K*Z0sgpq+tzX*(Tx7Qn0j36B%XJ(e4EbwLl=h`e+RP`4W z!coh>;W`g#RQ?S7(|OoFp@I;n^r+wek$vAwA&je_UG!fAkgK4b56CKLr-EDsc_Giv zz(jE2Y$(W8Q1I1VtdOhP-Qc%+X?FQ?k3jA4eVAt70MeJ+%_vu4=}S3&fH~5K;2u+| zsPRi;HvlkgSJTOd_-6{1pQ3%n|u=M_;8zsS$f zBTn~_s0-9BaTnI$Hlug4em?Etq<;2;?P-IGHA3ANO(ZfAk*3ZHbY*2Ow|8`@2xs8# zT3ks*Xb+!t0PaHIuC2jAA(c3h^>k~sGTuSfD#f0cIGv#NAyb>8g7lc`NGdoCQcs=?iXm;quxbjbY(w z?GN7L!ea)4G=@d~*ufxY49R!g&LE9pfyWO8X$%Y8wkPWPBtiRggcs_cGrVJAHb9O!Sc61Tx*A zWYX#L=rYihpFNthx-~QPG<(xt1hnm}YqRbtQIKBdc>Lp(DAW|nF7xX z1?gpS;=w7A=ppz8r69db!7nTa>19d|$9DwjWeU8gGstyFV0f7g{x2ehJ|zl>mua05 zq?gHdw^pejy-Z;~(@}noC4D^P|0R;qr?JipnDYi1TL~8L92KNbBO=z8sv_Xi_}O3S z)7Yg{GkE=nAfQiUT^=y!4ULCW#(LF+^M)XOn(r}wfeO;6k;SH81?kfq4K;b*5Ts8d zh2B^R(x;h5!bLqn`ZTnmao!N5PxCjzo7M*Zi0AX{gqQRO>C^n4@W4P-(Mul-(x>?t z@$hN<&m-~z5=9yU#;5TL3!f%PpN55{Pvd_VyxOM;7@wxfJ6d`A!Kd-^gHIErPs4hq zPa~B?pT=(R&qKD_rwJIJCP<%#^$ee;Dz2?mRinKtNS{Vj>X=^520o4d4#?Bz4JkSm zqnKxs--Jr;Velsg#HrM`0DApClJ)-xaedwpFg{I?KFxaY!lwz+f??y*r%5quzk}-2 z=MAYaz){TzlH(ajR)+z?{uhgBr6wTa^@T_-bp+$bA<#ZefC6#e5TsAT9O2VQGcrf` zG{G~WGUr|RG}ZD>>GqnDK8^pAkVl`!ZViY}V>fx}Y&6XZBg1YE1?kgJp52lPE=Cf8 z;nVnEfsAP&S`$-02RMof=t5B~<>w@-eH!&Q&>i&<5U%C74U&F|mZRm@Z>AiKtN%I6 zPme7BHIUzh()^Q_pR3x3A;RjV&*Dpd4siHpl;{n}_9cG{DC}SXm5Dt0Wl$sbjxuLB zU;1{Wh;BkzeHkW;-HPCIrns?hA@Z;r;mgIlO(gysL|!(L1U7$nlvUh8_xN2E=iBiz zc6wTXOiZpo5eTP#Xi4+;$gw~YCohXg_mfN@!P2+Y;<4&qJ z?qnvD#{IQhsIMA%P-IvtHCKVFnGsU%A0@v6Kb#-YKXq8#Lbgq4KrQD}rN|AEUm2y9a zsC4SNb>*H{E%$t{+~*jXQpU?nM7pji_sumpx7-gIoRs_5t^{`U_p98x+#D<6DOztC zI0ZMtUO%=rGQ*9qu2!0e41tfChztSLmH!@=ol}^%dmt4PD za{c+L?QWJ_wy~c}?ndx($@RDDCD-3nK>BAP zpsDH4ngb1MifcDJ&wcsd*IPt5QXpnqP-Nnwmw9)ju!-Q?p1@lbMRCnf@1M z!n6N_n3_q-GNz`$#?+LiHm0WFjj1VkV`@qc#?%zpn3@8^)GVP{4r*$$(p*zhm}zRx z1usp_fP0b=C`zN!lMd84Zvo@H3Entwv&mEAyaj5Uw?K{a7N~LF0yWNCpvHL%80Sso z*Eny18s{xg%0ZvycKEI_EBqb-e^;pJ)A{A(vJ(3 z{3ipX9~X4568X;uhJIYQr2V*XPW-rSK!=SV_c_Aw;~H4WjkNe29jd0kQ*6-BZ?e#j zi?~;b{NDxUAf`S0ziZk{lNr-qnhd7BEc<>Qp&Z0YWc3|rC8lMxbfNoeD=|%rFh8He zVF?2n9jgGjR$}@jM7-(CpG%+3_yz>D68+P(mFU-2B6IZDSc(1`E75PPM5^vLRw8E} zKdnSAvf4`YKL?yP_R=o^%(G#%Zj`S4tm!$(I-E)Wk;&bmYhA0pg3;)x4=|Ou#@{yq z2QjToMap3_CwC&R|B-D!S6~Lht=@YP29Azl&yBz(03IhW1mGC}LF>d9@KB-Wppu>Z z89*yc3tGcr8o~yo9c)0F!5Vapriem)@$W7CTfH=O?4~6sc=S!=v`C`sQNrkv?8%XYF39GDDagqHbU_wNL6Wq4izZD9 zHb$y5C0mcn@$1JRwR(0BbS*-@;*qr!98kaC=*?r7P0Xw;(DlJ&RJM)k@PU05Pnj)l{0zHP+zLucP;M z)kZ#48=3D$-T~W5wUM)GBO6Ub>hvlTVLPEY1h?ZLxX;$(q&>gk;kb#Uvh)yqtEDno zc9o@v;5(BSAf$cV`=F8CCgDObS-mt>?LH^|O6i1s1+ zR~X?ssv0IBh0MD%^Guv)nuZMsmLhYf)UX*KojxbuDBJx`s)^hER0o$s0T5DIqE#*?@m}eT2~mGoUl^UD+sYE%&Flt0FKq^dyggY1z<|}d`X0k zZxlkmuN`5)HyvTjcQnGZcPpJKpJZzLfB$BCfQf^yA`=m@dS8NcUw#B|=nhnu1MPkJ zXE-DO2Dq|OIvj-7ohG6p^N`57h>4=SrX_(prNtt=R_R=L05w=KsV|Uhf5vRflI?#W z+c$vpl|PJ%jyI%@7GtPI;#J5$)g(*0({`Mx|6u7b(l(! zdUp+Vqfom@ou$Iu+y1CaxN1MdP%k&;%C%gMIvU~G|( zk+h{s5=erotjH~7I@x1VnIWUd45_rYK=vIPI?An~Ls>&vYZ*JK?@%TST?`ugsg7o? z6S)hgBe^iaDHkA(3hpz4uMxrTQSjl9gA#fG0;Dw#m)01Ikgtvv?GKf`Hb& zy|^eF$@ZMm+hAb^c8@B(u(ffyfI-qQq06pA&8@l`0S|_@=H>58%hDLq$42_I1-I?B#xk_bR-Hy(~!#)xn=H%Ie@x zl{oOInLndS9CZR`LnW>b0#^@%3mxFoen?>&z&byqz?Q4}gZvT;dUfH2m69 zwc+81NU6Cd`bz=!=mNhW%KZ-e@}e9u*z21AL>cQkC4`LM82>~|C%0WbGE zqOHX*0N)*Ls`8Fjo_^8hYQ;obx=K7^;OK~Aze6hNQ$Y9|3J&t&en)gdQH~g*V@o_@ zkgUhoh-)iV)oAZ3U54HyDs@cviWS9vM`0P{algav2+(IOOP(76MXzS?RR+YVzyLsR z&WL6UJglMfXtx*Th#{6K@rZ##CYDpB*8sCi$8f|DVAh2vk$}#lJt6QE!15~yqQeX% zD}FE3bsht6Ama6fXfE()#`%gcoyX|3q8u?qJ4-xbV2;trN}7>5Mh`8O=pb=eM7z4G z<(<;)HDh#YMHLo99-T*jYf+9E{7qguKbnS~l?<)sP>HUUz%8i~eJg=+#89{uGU#>M z69acpJyAdkMYU9c<7y7*;fxxh(E|ueA0(q@R2+TdT^Qjs+6K)sC7rK-W`!K;WK^Qn zTSVcl&3TM;9}V*RklNZF_MMfTB}~p}ym~zY6=7|DfLSa>lv@$j=0Aed*@h@vSx5c8 z9eb@K82$J@3R$agn;mD5 zq`mIZR{3|lrEU!g(_@wj{}@!&T@ihSb)1O^$1Y0+-vq}QwaC55P`(>oi`<9$qpZ7X zWqqfX<9Z`&e-+7{?O+@=cjVz(17s?=vA~^Ik5iFxsB^rU_@Ah|C!sH_-x!Tq6gNW^X~T0>oKCi=#SrYZ1>&MGDAk1vx(bP>Hcre|)viF?*Gm zMC?Sux>XZ1h|q2A@v6j!iJeq~=pmxRLzu(^D3;UdVO43b8JW*%tvf z%RKii=eg$7gyV96EvpFrE16q3_gc@hZ>Weq3D5i#sKVjb`?dUXZnVI;99i65f z&G+?SN2h5=|Az2YsaD$2W6>vRN4L_BKAREP(XF(jnU767I&&2G3v&@@FCk^Tg!J1` zWQekQRQeqko)=2fOL&m@`6^b!QWu$+Dm{F1}*9ceD_0x#-Jb7c}3Uc#8n zqeu~14phJ@@F%UbHJ>upe3}D_!wJ@Wnj=jT!kRD8V$)`Pc^2r`TY+Ml2GSd-OqlU$ zn(?x}G?vm8h!=cQSDI%0d*m6_lcpKZUIjBgy}^Z>SEOmi3%;cfQJc{z zV@6BGapHv;ou(NrHNLh~t#O*s%vEnKWq8m~*n~iv(J5m_kKIZc>(w}z(P^5|Da^Vs zqtjeE_`6~-qti5_KTa5Cbed+g^p}m5G|lKi5-#dV(~SOi!WZ|YX-3aMYr>39(~SOi z!k6@?xgxwrcwnHa=%tUPIR)+|o@R6t64Q(hH>AXj4(GkXhKnjqGn$1B(~RbwbehrO z)|8mh;if7trb$=7aC5a{!Yy5Cn$hf*VVcpbB%0AqL*X`vq8S~YkPW3BOOQaD(V3F~j_2HzJRgwGinEr=^ds~- zK{%J;$KMNl?~nF#c$(b#=?izJxsWrf@MI+|^Yr=#*}+{lZf#s=$?u z_OsJkcoU+v8Ju|=;CRZ>N>REhaCxU0?8}V)GE!J`*a@s=S)b>yVp_z2?IBu?UXL_Z zw`LK%z|EX6t!@tT79LPoM+mpQ%S`Y*mA87^(1h0Oq&SNUC>-QjuXBQr`*v)%xtv8^~&wmgr^8w$MVcPL_6)8a+io+9%ej0@6IORuWXDA*0Lp z5wUvj!6tR1Rl?3EfoDv01JLAU4Z=0K{eqPC$|$SL=dzsDr(z-?2s{>vkjRQEpeOiTwQ!%d)7q z)hR}F`!|otB@rfwBUn_$6tE1ds7eK z5wlMe3!S;x%d~|q@N&l+YxYSYHF?k|xrXZWcClkOT8I7sg%foeMV+pE1G+lZ7;Vww z=;}sXR39a(PZCv{rA!l8`Og@s53x2USfR#^NWjKuu+A_|vF{%?#mu8CNT$>*{8yV| zCnQKyJPtsb;^zRQDXd1*6e@T<4wOFY)jRvIlJ@zjhda~R(M6|`h8o*s3pm(XhnQUT zNN_2ig1l=y$`X4M$Af9jE0FSW(0}C7S6E#k>qJ`mQ$C7T3`|ab5_FZJtulq%-S)pE z9|h(B<6mWHc_p4>yDeZVC23C81cGCrrtUMD9nQ+>eUX#NH0!e|Y+a8-El8V9lQs*k z0`hO3YT8RGUI=9V!xbc^RdAw|WQjFJ1-sCHMtcM~CkWmQ=JEA7mEh*OedkxGCC9ju z@AKPV5Cm89qy(a|rt@sX{!|rFAgkV-&d^L%Ga$xMccBg3J&RM&4Ih9{Fcs7;qrlC; z*>2=?5Uk#l5&G^xvDXlI5kNnIsZB~<4nR3;*_~6@0kr(Lda(ay)|#OGGKUDL0@^pV zx0?*V2{oMR1hk)0{>P=$ago0ECezbmO_a0uj0Ls^Q_S)@fk#lCSj60Bl|H| zlcUcdC32mKsMKYwu^daE{s_1vP#N*xeW@({_fG-s%cv~|izM+Leyi&~9VR6CbC6&WK;8@J2SWUmTmp3})}#naIIv@%aHtON^q3 zoV3Jf0rhMmptM?gX9 zA97Y_#2<3b$kHETb>M~XEG-*JPk(4Jc=c8MqV|XU#Vq}yStvAKZpqRg;&+7ba!Z!} zkl>rTvh;^~i67OIr9Z^B$IC6*4KCcgB1?Zr@GX5=`a=Sj*JkMt3EbMBy~l;e3}opK ziTtsHS^7hg@3@^=`a=SbAIj1n61Z(o_H`F-AI@?N3EsTvEin8cdDB}W@Q370?~ACl z9BU9wf5=xXu#?gs^5qMt74ynV;UfS~0XEPUF#gb$!01ODtr&Q(zl8alQp1l|w%5 zyRw&|4~R+~)2rFgx4H@P=vz4*d7fIgFwZnUg_Pz*mgW?eCQjw~AtY}WiezQag1(j0 zo)OP$B>kgO&EQUSg9lW#%9 z>kE-w{!qq`KtLBOGA$!V6p_v>Z87GEw;-e$nIqnU$Z`Va0L5Dn)$&g1_L`AzK@>g) zd33RStr^)J^fh_ud}tb)qLkrl4rOV53*3^*a>5pvM-ZT&75!8bs#4&^#B21}tOYssOkm)8BD%6f7r z8>4mdXnk`?r;T!%-fjeQowTL|g4R;AX75v6vtzPepM`Yw>-BZOybHQsufL3#tk?er zz+10hIHm%{;Jf3W>vco(LDy@&96x6CkOkX0rh+sui@0FlkI(;c!Crh!g*Y9#z&yZ#^bG`wH3)7n$&dwokHqD`-B-o= zcI<(?6!$`X9S5x8Dei^(Iz6m%KEw7nn$2hVIm=i_bD{Kep0JK)Tjn@TSQT>QIOMEZ z(!%y`lOxwFtM>}5HomVw)sGSQ8-Py|SkZzh7JwL1Ujh(iDL;IyF8A3i_tJFGI^7g` zuM`=k)u6>9tHfF)8Ev?wxZS!6)>m;p917_=_;?k`lNfxp4Vp(ArLf#-OtbeY=OLEo zc#c9#8!X2Y@8@Qzb-WZ_Jow`|Ftu@WJUgT+4;%UXAxEqCRf;){Vp{J-DJA)7OpcDc zOYaGsCLQ@zP(|WtlsFa#Txx)Moxv&{mn!SGHmyEtp{=4-1jo$TP!J@EJGIqWr3UO~OuZiJ?f)yp@}tm&<&cHj5P zX4aX07^T6C*R#&_b!cSY`=H9KGkqtcQ(MifBWba{GidRSvNfX%X%XG6;*>wrM6um~ ziP`FAG;luBc9Z#tb>Im$l5#jHp}#=cH9ZxC7~fQIw~6qZY&&*ZDs&Q%|7DOW%F3|Y zW5C6-Zs2~aCL#8{ol4TaCkx)}Ptv{@I2%gRz84twy&Q`BvYrqTr=oNme7SY5XpJ>r z6iTJ$X+=AstkugIHhoVkzP$z@gX!m0Ji}i>FwO9>3^-Oq7abdfHshx# zO>)+|5C!mG(x0SpbTi?Bfh28k_9OqLk0ogwO(q`3QT{#%qH*LjB*Zv!@=2QG-v=7M zP?Mx_#2R*B9OYShT7Pya&o}yMCpoPNv6GypYO>MFQ`KoMd09IxT}j$WRKtOtB;sf% z*$w71TX`9s_-zv{I?N^1D9>o4xE2Wk`7!Jqtt(;O19#8BjLeN zk`5fLaQ{`QChnU~XJf#DYvSz6ZsLan*Tj=7X#%+s#_v+($0DF{7Ne52gd7&g7IOz!UQ=*697nG88-~_+0oTLLMIUL`Sqys1LqRu2|9f9G%jmqzY zbgq8>)d}&|{AVQTt+4|AtCUxPe)uJMdJg*Zs?j~Yl6L0n@i@Io(pzJ%z$LUKX9U4F zbtQWM?TC|In=XbgEEi&`*tvtW+wt@Ziyo9)D{x#kR^Phtk2SK7V|Jv#Z^TS2U z^Q%!b^!@D#W9TPo=(FZv=qG9Dv-C9d3lxyQ9|>sa`zI9WNi^{0X6y$HWMHt zJdcPsuQ|EG&l#toOGDq8mJmbV=}gklXO7Nf9POiXF-PanQj%*_jBr<%*U_9Q-QJYs zz|hb0J$f4Yc56ZmeY?p^hu58xH1sJ0uRAAyiEIUKNhN9M3k*X)&pD2>iGO0@qW~MI zfG!l(QhBxx4gGK?RWU2Tv%p)uXF=QazqewKjzIeu?9ma}3V^4E8SZ@T08r+Va=%GB zUXrFW*6CbdaEJ$n+YODMKZUs~i_O2*<5X0eda~BA-D1>VrBd@NcwomL|5oop2ur_+ z{8s=_+5HHu)5&P%WEB@!WdmHZm$31yoR|Vj$Rpowu$IVLCDz;$wr5TpmL+UoWmimY z>}6K(WQsYLVtmoD#y&ik$zgH~Y5VY8F*#;|DiY77L>Lv@wT*GUF)CixHpV&=#Xfoz zl0Rai`z3P(c8>__sC$GS+G-eVNVknxTE0v`eDt2auet zm9dtxtdR}*UYbwhL5kpj(HjFN96Zwk^7Bt z^EZPO^Jl>5A<2df#}^G!`oMIPt8nawU|JmK9)QHK45PLSp2eYBxyl!gfD+y^egR1ra!V2!r;H)J{BA=tS~0Fqst=i4Bs*+@6X)3W8qWqu&9j zO{17G{NgnHeh)MZzc>v)fwQ4F4L^Zl__?>n%Ewp0srN*zURIaYY>Lt)8B5H6jH`Q@ zME_nyIi*{zR53x_JB*;y09#`N$;-eZWkGcrk{-*n`K<{ikC4=l8!O8eu*CfDxH)!8 z$?ahyZO%y9nBK3;Y5?8jYus- zV*b^xkct*kF+xrhA?sP39#@kaYhz`pK%psnmr14j%%$X8;--?UC5Gu4)#|AKNLIVy zC%`)qhYaG;7%6ZG;L(`KGDPr(A4L|2Seomh@t$h*SBSnrWsAEgd{P?%HeSOcNa(*C zlqn}v5F#=am{}$gScFJ`l`@Nn3C+TFq`n#nZ&)x_ypis5-GavIq|m<84nnj zhT=4}1fCa))6{Asets&>xlQm3N^zQ6f?rsU)6}APyjl>asU`5D&NxS=0k@}bWhtAIAAy*RfQ>GeIPm{@}L8F5;I zobByZDo&q462lTSV>;)<%%ZpNGw$|%oc_X}fXDWIoCe_t;l@(D0y%Wb4KJQ`YI z`#w&Ca3AWE%2Cu_*a1!`C|v;GzcZ% zaXaJBx$yX*I1NIB8LkkjtK`1}8a4I#WL6{?&2BA~T zMS$dd=H&H!=A>jkqh@$#P3AL!&3qcQby0 ziqos*VHU1a#UBLRhz`Z;RB?K>GLkk{;yVB*Nw}ydPOtVn!WZ|&>DB(2@TRqKnvne7 z6RuOm>DB&_@W4P-(MunT)8gX|b6%&)eG$37fJBjonA!683X3iOIK5gHmRtTgo`ukr zjkLzZm5nr2c}FWxKWzDX`C-dHPFI$rgIoSmN%}ffZaj3>TmCV#a5a$-0Pmv03u#r zh~%Pt3n15ufSy2PT1-5FNN1d$0CU8azceFr#Fl@YCMt&ow*0H*ozm?!Be(o>8z7IK zfYTZiPrzyN(m7}vdIB=EnnQ7V0s^6LNmXIsARH)nT(bda;dD4TnAT~JXG{^ zpn845zBbCGLOqWW;iv`a>Z<)yR*{^}Iz;7*W~J54+&{Raf(Pyf;NR-~E5g7hz~Tcjum?Z_K+x)d zvj!maJm@!@6k%(LovMWO4qe#2_#ffzLc8TRV2n!epM>@yP_g(Q5GIo5H)j3QG z;OI~#_3aGvdpB8X!)e%=EUR1LMvq@LFs;4I6!8u);!6Z<_b#f@h->nq>eOTa$qz@h zh>qPPHnH-CO-h_uDC>y8D65w>IXcB^Z02DKt5MhE2M5$6zHfvf0AFVhIPA)a6+Co9 zSiO8b!8+P)YRU6x=IN6I01ReLbT&XExp`QT#{L4L(%7?DEEpF{E0n2N(N-@nXIjgQ zm|^X1xY7G9v8N@oI|kH#i)EVRVv{N%XBs+WM!QbaVx=* zO2DllT?bRqea|xrq1<>&8J!3{O4rVJj11yP;iV$o<6s>Hk)J(U_b=&M{=J5Mx0Hjc z_I})N++|6#4a3(w54~#MNm`yD?+3!a-C&*<BpDiQNjXvg+3GhDl`$lei zY$o&lGESd`(w|}U0dJiC&w@S#=126Rj1a}>rSYi zN-@KJW@x52f#qJM)z9IW8AXl@sbNO68z8f)nT^csl^R3FYidLZEH6%3*NCXe6)vRLJvA-T%l!l_b#$M9u8auVRfBdgjszx!VcQUU172~{?HW2 zownR1a>rYyqnv7rAhW}ettY!1jK=>kmH!N_MO~^fMzw#K>MoA~;|Y1GEZ@4I+u$!{ z`PFDHs($mUbpBMH2F?RO;}z~ats8-}p*%N#1ctMe)VKQL-vnRHLaRm7*oMFP2iWe8 zdL@H}4jEwKS2sbzqiBz*i0w04y@cLjYiT|g2O|jmZ4y#B_o6utXL5gPRRs@d3+Yzx z4nDDv1dKnbB88E- zz?l`Wvl#L^rV8JQ%rdcpD8~8|81)zCr3t&UnmYb@ zP^~oSR^qE3to)VL72x!NqSebQ!PbR=Lpn{dFJ!Tktf_|#Ukbd|C1ae6!6FqGydD*{ z+)zysf{Va)M-6TxicdczepUq(uc(4M<^Y_9EN`gdc%M}T`NHG3t4OK4vw#b(@dU~- zbnr4DkEtR(#*bHVJQ7#I?O=SSiWJ8CDDiAhqKE6L$EBVC-{S_S(zM)sjkln9QS&Ni zj7B3pKNyWM8jUXzhS4ZLGnoBX#2g(eTN{lza~AXqkhIZgYXdf{zZotq$<~W_feLdc z-(M<1nc99L{+>S*qrcY;nm?yv^!H{H<`pjj=5UK*IXvxr_)8SlDEWv)=A**;K-}v` zlDi7?qK@5B#S&6szVT>}I}rOQYR5jLiWRwqCyAXbYU3Avpiur51p2tK<{kp+NlJYM zK)_mj(m53XPymkCCWL(HhI^}9fD8Q^*;&bN0JOqyFih@7C>_yCehiaGL@rUM$q}KO zZ)JXpP(}6IT=nWfFG&e#O-#}7lGw>r~FfY|euwCOCf*#c3*H>B3*H>B zOAh9EU0`#(E-?0dGqHOiCAu6zz>4!DyLy8)od+1Q^-(*k0~@Sz0xAiy!5Y?Nr8-&e?yWq`~|5rAX&1#fHHfe;a|1i7ro@4c5YYjIPI96}G-M zbS*{!Hdy7_(1V1{wILpta)VW_4N12(*M|N~CUb3w?lv}9<=PN`a10x)az?*B0N7j` zlJ}&|wINZ|TpLoh&E1Zpg5^=r3 znwAAOl98(x95Q%cRjyjFOY?oz7_*M^mxlEQYm8S)O5AX5_%#E`>aT!QRNtwN{T30g zFNAZk_ZbhO{<*;#o|cvk*08>6!5s10sx%{W#A~Z^WrD*3udPZ(d)&#aBqSxEvb4zqI?=Q;jflgAJ z6O*ykhyGwqqNwI6h!z+m zw?e0TK=c39ER1k7FZZ&z$xeyg-fF4IW=RtGX7;?@ah6dRR5)9n@rW4GY=e1*&nc5#EKYaTtw6 z)@+iSmZ6HIwrB4Ksp&>UW1p)kb*kV$C5~ejH8vo)O5R%UwxzG!oz( zIFES{g6V&CB6UZbHb&HW6(ZFKD3$F-;HyC!TC`S*ZiCNSCEMMp-4Z!dHoHw^HT@Y& zBF;0=QclS;Ooa^_BfKc`c=}^C{ueZbJTW>NjXWL_SSGTXrvz@~EZKJyit~Xhd=y0} zyJCcEWiMhijGuwBy2_5PRn|nbvJ!D-9BPzpXDVg)8F}MHSsKaKp;CDFNZ*a=BYlZE z>s=vJq{RO1Mo6m&IR&*4K=QNk4BiJ;u05e&0O0ACvUeNq6NQ`Zq&2%POE;#ol$cXQ zUy({a&Q$XG6(m>c5d2%c?2Xp(Qgm1E}Q z-iPs2;ckwvRn))~Y?TzjKWx%W7ae%Hmua>$YYK45<49hc^yH~9rvvNk8i8l)8l=}{ zt*og*fprb8Bs&Jtx(XgjeH{N*FEM*P*EUs}Cf{`godCE;U zM5A2rKfooWRVh~H3PYYRX(PcYNGp}Q0)SV!HySR?Ce_Nl92~lGH=4@DRUN}PRIMt$=@9nFwfTEV;s$oP*@lkdD5Uyimu=boDLy0XXL_)SnELG+CA1WrSQR zLg?^Y&611`p~!3|qyHyJC-Z1C$CH!9ewv6WlR5AvQlDxh(J|bCU*XmtKMQaaexgd! zhfE>8hwwg+DdsCg z#1!*oqO1}rSx!Y+AzQ%WgDDm#pld(Q#CqCLi_&a}Z(%ucm$GGOh)o^3A%;we?ttHI zyAgUWR_~1*&uRG}^<31_8xU!wXHgort)xoRFQJe6wty;Cn*If&4!zMMqQM^yGC^Af!YQF+Oxz-W-(XKsB3im)&+Q}(0U z=?*M4NQvBB8+oBNQocZ^6}B^KBRgv&uhvGg{WWP8nuv;AjSgmK&qv--FHriT!NJ_y{WsyMxW%c}iBE%Gf>-|yBU2eG%vmlj4} zsMT_Jbt4>aPNUSsWuQk{NTqLQI2pN}!8bx2b35Zc!sxLX0_?HAVuoq8V;td?PP^n) zYm{{Z$Aj2{hgHdbqr^5)tzPaCq$VE*Ap|Z1a3q0O0MJNB-3+TG0HjKutkoY=diE@K z(5a_^ZY~*5WeM~p&B>MEsk{KKFBwl|*H;PiqA2%zGW>!t9o&GqK@?b5kkyV3 zZb084;$^vjxj}RsVRM7%UkGo&cz*^p@-`#p29b;zbA#xw#G4yLze4T-bAyO)&;`s5 zq8AC98$=v_0ds?BJ@J?AR+$DM>EQa!4I+PDZUr3ywBOtyVtw;>T%>ul2cKCCdK+56 zZ!Q!0^<^SSW-b#^Rs5uj+`?@q08%^pzjp<$I6`| zk!tP~iBxl^NE9=7iUc-yiX;cPy!m~Qmsk$<16Iby!bJBs(2)-UERiYN3Mk5!i*l-p z5~uQQKxU>O;QbE5ReZWe4LrwhJYJ)fyMf=WX&1Fr=!Ccl9 z*j&~W7`A6qCW;KXSr=HXZ$k$3ZAeyNz}$uuW^C4F_;nfX(gi!s$C-mg=^h-t_`Q0$ z2FXE-->a8vkb*bYAUjYC_`Q0$2FcNb->a8vkOG@)kOG@)kOG@)kOG@)kOG@)kRsn) zgOq&DHAsQYHAsQYHAsQm^)*O=&BvJq#x9+FoLM5+rIU{{A4jdZOP84jhS@2zF{Gw`(40_O5!KwnM;SJKu}t}1EkbXiki9&$<1Ysws> ziL8nE4w3n0?s6!0dmTxIA3@IlW^l3|Ej9UxQ8R=T5x#<87umLAU*K?1CsEywpmhte#}L~pyH2wSDtnj7oc@Z{yNgW6Gap}O zrqb_GAJ42{^$j{Jkdbvf^YHb6DvRRr6b>_Qr+!c71evjU4kA*0p~!`yI}q?Wd{JNn|avg`eD{>2xuy-Y6PHn)?w*G0i<> zo95nYvANM+Ze!bSV_RNhKYfW7cO@!=jr}{wIY?u3cTQRx?M)Nv$8~MyQ^D>SOdg}U zG$dL@tfdKcNN_F!=i*xApy9l&4(Zdz?ehjH=I<0!cFEu^TXURikkXfaSIe;*%CZL@ zYsx6efRrw{*&roZYCzY5aO^>QNBF9UEp}Ori5ua&6Lv$@472-8LhUp>z@|D)x=*Ux zbf42q_u1={?sJ-SpE;mP_c_gUpWRAcN+$V*M6uKgc$IcV-rHN_K-VblIM9DtPe|BgXQ`=4%#A<1|W znZ1%tIljgw9uGB*O*~#EA8EhwY(G8ujF-trE;T;?i?3L=ja7hgkNAf$B^|yrrl(kf4BB1FOlZo1!kEBFQR^d_Yf5obacxR#^2l^ z)K?J|fAd0#b{}c{&5aU06;bgwFP7*x5PgC9YEgeg^rdPvcNBgvqZ*xw=&N3|OkeGl zLESa_+0*Wbq_%*Ct{Y}7I&PSjjN7(PiQ9Gx=ycn35BYzZdlUG$iX(r#XP$dJmTc?t zA)m;%4Oo^BZUf^BuzXt*$dGtEl4hjAy3mY#kYGD9LUVH5aah!Zy1jSU-z zEWeOr^K&*p$nCI@`*29Y=H~yc?y7!oE-=5%XaBzePghr0S9e!eS6BCYqdNU2TieXY z86fMhJ)QezLDEZ|D8fsfYGfP+WoOZn^Qx43!j<62OpM4PL~jvB7HQ7JD;YVGs_hF> z9AQ)Q$somVgA};?G1cbm3o^#vg{K4h8yRUb{rfG2$s7r0o(*OqEIp&1m%Jsw^(mN3 zGQoR;$bUimG_YeqTLSz{o&>Ht4;`6MW03w@(Le_v&xwd1d9s{zqHI$*7-I_oa z$CYu0l!rSWBUKYZ5CPsAp8g z*79xT^w%J#X+@%$?)QCdjUC)ML6jX3&Xz$j;fxoqrP@U&s-&>JWp2D-NOeT6>~(G% z5q~O12Bsov(RZ($M3Y4Gg<+Wavcf4B;fxN7eT=UpV|}4jGqs8m%@09Gc|cEW4y zgpZqR<{kGdn3Uj*P7F*TO;8|<8J!fI(aAKUQ-aer)t|O$GHsY1r_!Q=q=4txfwLIu z{0`gh&R~QlJ-4W$QB=v7`N|9AhbX zaDmk&W5N2Og-~f{qsq=kb-obrS6}?KHZIUxOvQMsEfYjrCi+@Yo2!SDXr3kq=V^*R zPg7-{{@;-}yG)lk5acmI;{RPr(1JECULdYyHJqK}BT^k!F&mhHm=uDGP825@G|$RpHUO zDl#VDw&IUsO&vphsPJ{YG9czEU)QU1biF3nL%VLrS@~lFpedYSxe zf~$6NaMi-%1oxbhvX%{`s7=T<8xh;J*R{!t(e}q7`UX)OT_q(MlPl-3zBDTW(nKT$ zs!>JO7)GF|y~LlK49aI*a9NC(PDmFf1f@4ID7~OThxS;5&bv8mgp(|^e2P`@siNT1 zdtB`U&iiQDFA)?d zDBM>u*g;uV1>^-;;-ZOWvBrvRoQQ3_FSgui$yqnG0pZZPn?yY#0KXfyF5nazH({ny z#XDEllIfc!GjH8NG6?vyr2aBGC#WWM!R=&5p!1mQnWU|=g3~(NpVm1tt#kA3#60VR z%}3u%Zx<{xKH0eeI!(UXdE8I4om<0oKKE0T&=zt(O{P8|3o{hdB9~ziiNYeNPJ>ef zQ){s=3Tsi86k%ia?X|R%q>MjPYQ;Um=PNc>2Spt5)eFxMtQevqk5MvdWmYid0l^q2 z7JfLjMh*j8lu|Y#*bO_tDr;z}gE|>>!6EltGr<Fwwq|<1iaSl*@|*LGV|#3B9}eD znq2lkHs7`cR}cB^JVmd4$Pz;=$1Gn*#s+7rBCrTCTa^KMkyc=Wtq#I@w~Cdsz1nqz z?bRRN_~6`5u=5R<-gk9s{b`yc(`2_-)`8&m3LT&Ws+wkXV7lnQIld0mmOl2;YZ}EwDxtY z)TuEzHoN@c`H>kc3yjK6_^XbG=CgtvjY>OFfuo{jYt0F3L(rT+8^#62_G%}Ppvq11 zRc^AV+?3p9I5l?}P7AKP*DvRwCgsUFPj&qJ6{4dh$ES01G!M8FaIAf^V&#Q1IE?tVwhCgC2Przm+6W`#?mdJ$mbTb3KL`r#cK|$Jnm09gC53b$O zxq=!KtYyWIbB*6vMZR1r{bg8H&xHQ{L$$SnHDU$F(Xj31Rj%3fo3&k?Xtkr(bd?tt zuDgQ1c2TkB$_7y%y z(_er80}A!}986!?N*!K<(`^+`HlEJ~&MyZo{l1k#lKutU9P9ujyb~ z%P`?J7j4kk=`^vX(|v1-L#ypsp>r9uS2N4a$VlJtoCog_6BG*l8LEv0 zhhv3*p>%J1_h3gdqcQ{S8TOKov`q9-|!uyA&7e=-9QkDN2vj&yH!;UKI&oN!0k!fz1zc6c zI|*Dqn_6$oA=GOG)v^6A>GFv8RTVuH@&0N53lZ=CsQQTa$^9?rP{jMDY7LLXjMJ-4 zBh*Zq^8zI}iwQUC;gltyCugMu!3OYmdw6Qmm%OP3rav)|Nm?ConuD&J7BP`f2i6xL zoxT9hRS6(Us02!^N&rZ;_h!4n6i*)qd()_3VZ5gUO{ts5no<|SM1B*KxLik$>j{wy z^=N?QIiMHuMnUFljz_%Nt$O4MOw8!WBJJHwaBBgqB3>iNBHp}cwVo9@sz=sC{TAtw zJ$k0iRZ;FudWOwaA{Tlibm{_h3828Pbs<2&Eh)sQH(D$I*y)TWDC1I)V1V&im886s?qZhcK)`lrHyvyRROr(|cFw zxGuxktbn2z=}0U-EZd0p>wPa_X?k~}4%XsW^r1Wwy~4ZcI5qOeeNPd?d(a4SKiT&} zcoY`N$Boq-Rdm6)h44ROHGKow-`79boyaER$?jxNvNu~`OWleulBMdXpOUqDFmbye41~YkX zqaN9aIvG9U0$sLNmwS7%GyzcD^CI3jA5woPE7lGN6}ogM%t@Jdo!@i@V^&1 zjMY=G=eykbMtL6I-$+XMHD%a-YCkOq?>|%&WZ`ow_4K7!%#C_nEBdfbFQ(<)s?U!s zig*w1Pw8n9?^}ppx_nS?fx4$sx+|q;Kcy$PM#7iZ=rE!{7`2Vwugl9mp{pL&<#*_+ z_vVV=Zmf%Qu?PY}Ak+$=tQe@*^U$5FKA(EAP>+BaAz45Sw}Wy{#QPN@V@*Rhrwn7{ zcj(zLL6L;k;&Czx`y;zny&M8 znKz~$dTY%{XO@iZf-~l|$eceGv{p zwBEY`!Pz6;`9tXBx22OCO(&PRPLj4q&=C*TiW@7$dJeF91iA^ljvtb4shI#{&~oQ;0ZB`ZQp;~W@rmgY1_ zb3BS`j_c{@e8pYC{ugxqL+Ctqo$sq`xD2c0_gEhz)HXPOg&t6`Rg&Ym8n+}qm`!&V zsIqUKt&4ejv9EWd%ND`NEZ5b`bzQxlx?Inx*I~0KmcO9KmVFhTB_zIF*T8xiGg=v0 zs-r+mZ`CugOV;Z-%k^cgI@+o$vE4NW@Qts5SKjsYu#jGTcyT-SYkZx#1YlCQ@ z5xw%-T6G;D>eX`KJjCbouF#>k!Pu6esgY&(LA91c2U6Y_6s4_DWjL-dlwZZ_qHuI8n%f2tUJ-$`Bn;?9IwRiy+CM}(@g4XI;SSoswU;@h z#~h?p0izx9eyA|~F=aJaH*h?#tQx&T@SvYpl%}8p-haaNsDSkz--z5n3qA{`>9B{% zrieQu5bvqj#G7-C%ANk6?mhOr^LIW8?M&{a6Ak*|JX?Db+5??}2}ip*9xe)*-L0 zZ$#~`EZeQeUyghu7Uh>rTIJGcCnKU)m>S!(x*Hzrcs&+~T2#3Z&cJfL@Tgv3bbccF zwd=I{gsvz{o3%U=MwgCC%3Db;vG;k*Y$c39b>woS(G>jSbylZd&`SYUtplbJGoC^9 zA@4Eh19a(&IP{PYcMQG{ev(sk=5tRp=7jRP&oU)W$M$&StC1Q=_I4x(Fw1#!UodNI zOM>$U#VDo)MZLNb6D@})(i5X&&&&01#jh$Ufk%dPT>Hu9BLJb zVpV%(&tkgYpvN!LV=vbgmsopuoIJS-up)Dbz_EOlJLO(_q zm%)sVD#KxG%sO38Yop$Kcwfr;S1o}9Mt85C|u60TZ#2@aP*!DMeDIhaqw#d zpD-r*BEr$(>UmUn0gNxy5pVRco_B$+@V>VXQ=Bs=FP#0Hc#mSUt%-O)4YfwR_wO6R z(0&>k0yGTics~o#0fEkY592gQBcB-YmcIb~c*^LAndX5u8!i+ zcnd5(PL!}o(`X)tBjLGd=vTLd7lvrkzptJ>d>94o>(;H)ql?Tiu0n9^Q_=ZQm*@&T z&KNK62e)9q#nCk!o&_;lhV?$f!#Z+x35Ik`4&ku>%q`|@dNhnhGxj35W-0Gmw~zvQ zkD#w(yg^d<6t-AzOiC}p=&xub!y1CqrlOByd!^B2F$v4G7wtc&LvIZud`swk#+iQw z3$)NpDPpsD>ndT1&fcu4On+B$fNox3qhN-zeFJj825aQorQp_8%r2q#dAk$sY&rLJ zLF)!HR>EkJfs$b9US$Z!EHX1kz1~JW)~jCb^`^Y)Xr0&F>Qx`t=QrxPje2&LJP=&x z!E+b|qfr*UAmVKg&kyN&5pNcGJ6XLHS2tPcWOxJS{0-qHIK)Q0Ijwpj)T&xvlGQ6y zdd`rZ(WuXX_c@HUvR2nT27Nu`U4N7`d>-5%OePMNJL{=Kdh8+Fmul0Oqx$?|(-*9K zFo<{)vN{ZN72SgVcmv@Wwx?2E+I+TM%Dk>FJzJzp3%yZTZ?|EomBW^dFMAsX6kc2n z?F`qC)9M~vj?$re2-k=yJsmfS%k@N@c^XX~2I=eSs2;sdkH?7CU~XUrtFgkpitt4t zJrTMby({89u>Yv{oVfuy32l$ggR$I#5q@w#%?KRxA1m035A5eT_zC6i*&m)0@_vHj z0glBDt$Ny!#uY*t=3wFpU9%3;aNK+U{^K+cKf|$_jQ#u2!ATMC7dTQ+MSt&txB3fp z9BC`1bXZMvD& zm@duRptvK{-~Pu}WX=ll$ zn@@+@$aSkE<|AkIXiG){G>q}`kli=TwF*!e1!ORFuk8#-PG(BEPJtlFW$A{2k z+($gHA5H~~!k<~o_QL*-P*FkQ#JWQs09uwmgw3YP^cvP4fR^KKr};~vAzwzyV7KIe?}E{|aaDN*L0V zt^$&Lz})h;qI|rmQDIL1hOP!g(=nP+aEr*?&(^x^3NxsYFM$>pj7dx!+@Fyk9M`UE zHXw_;J~*dgsG5rW0$sWs`4{wz<$4^hLmI;&IxraFNAUexo3HipgAX?T`&)2w7w&Z9 zU5Va~?qa6}apSR}`ulOQJ-F!Ep!6P$V?nO*$X)6id8tpN``#NPUI%u^h&KZV^SJRZ z@erd9ZsZ{Lk;=Ew4MNzPhWoOsBi`EMM0pO$+e^UjJSXBUeKy+V?TMzMmqu4cFVz#h zY;^h0q8Agz4Nt*`@-BfPz#-vfJYl0rd#y|$Mt26 zw7-E3E$JCxT7`QM+?m69$_)73@;Pbw&>9_O*C_tX<-O)XWOyBX z({ID`ei+A#y>z+=!GWt(6`sho_RW!2p`VvF<7F6cn^{oG+YdbqT^{jT>o{2#c#4tP-X6**!Z9ZMvto>gYw6oZ*SCd-x z8|l!hFGl4_bT4&7Bzyy9TWuC{Y8sC&=ymip0QB}&eRrr;Ka9JhC+YrZC~^Y#QqhOa z)o6uLumADGjNOY>rYq6GN1EVC<<;F9yTt}y1p=nDVqzCA;nv6|4#$TSQT`S_xyg9S z74f>^h(jTRz&*1YPyilxYM9=?k&3dyU}*bhz*?!r2y&??%J5#p(E(dO+TVFX{6(>Ic$w!RM`ugE7xr^cOO5& z65dD%ZNyaX%0PESjcNa;-}9BVrCwDrj1oI_hG z&Nn|XPmU_!lT1nJ8F;Rr(i3n~gi_#|2HBf<+ zu7!tzhoFsgcrpxMM$y>9qR8jSuHA#Qem$iO@AAv(p$g$M>NtZI`NQ_dP~9a+j=%SwE&%}M=PoDXw2ds zOvPEACCP^8O{g>LW@dY0G_mHzxoVObUd0IGK#hC&LpWOBhOW@XIJ9X^jWI9}VRg}c z=4)%yS?o%$!)I^bi)VW7X$ve$?lp;TV%+d@twhis72D5VzZD|!$=?N~%?|GlUZ7_l zhVo{0J#G`T_A)X_*J7JIsA)siOVX{_TSAm;%jyK(GAyJ=BwiACoOnAXg>x8@Tm?|i z%i2sYWp2poZQ=8)^=vqVaL60I4xH4c;cl%xJTs)vBa2j|^@qH8%A0ZAi?@1MSo06jxdTmVdI#YM z&I`uac4~pSKx_}kYVDJ4qfu99lF}@(9cYVKBW;9xg3YZNVow~xOG1r zEN6Lt!8--F!rILRgb4}P<7uNoU~l{zY-A;_=^`YVHK_E;zVN&dJxdwF12Z^-SPxP1 z2%%1Y+eep1-a)uHi%bE1d4Js(zBr`c2=og&)v9+6=}oj6Fb(UiR^u5|qxWaj1^2gx zPzF|i!qYa$@q_eu=STZ+#({pk9enBTsJzkp!#?N=5E#mQoOllb0er-JN9ZZs3F7>M z1I0T-Seh^Iqs!(7$`E{Rh)Ui?CBNqqWC%tHR`cz6^KeXLnBHRqj0aNsJnU7idOG#k zyxjgB!R*^d1t<-sl>T)Y*Botc^0`QapIc-5$PP*4a~7XLQp| zDu{J|}YF1}>YlrA-Ii7(=}xEJ-NGK;$U zdXkw%*0y&T2`%E)6}Fktl1F1YQ@_1YQ@&8 z<6GBkX<55<&1!Yk+VyMVYg(JvY;0P)X`@=Z@!A#Z*RGBe+GW)b4bz zN!$AS@qTe{GTxo+Rd`aLPV}lwJl)fY??g{q8kce^>!3`Wwh$mV>FR-d_3ex& zvMSZL3ojFA(w)7@jyh^w#pCqm`o;0AN@V)69mNL{*>s=Ul}_&N?;F5;^cBnSfPH!@U9~#8FO`BOxGyMt@?@2;cP-dS(s{U>@(3d4S z^;$_|6IZ(uc#{w`=6Q%}->Wd2wwCPq<{cTl%>!%(l2#B&XSx^s2aqFP83=zbINEP) z{PEOaZ@Y@G?Ca|W8po3UB#7Gky3t-HP6VjhH_(B?{0vaNeFHrZb9Nxnn@Ir%iq9hk z1rE%S_<}2z7~zZ-LRT?G-F@xoFPgE)tWjh8vRPuFGs8*@rR-*v-klieP4{+E0W==H zq}8Z;GMx%pG|`b%iFTFPWtXbFO`qycbgC5_R<5Nrv}(nMHCtDx^=q%brWp$dufE?j zi1pJ=Jh67#d-_eY1CV3N3Y}g#mX%;;fe<{)E^nvRWqBrD-p-oKx+$YZ`@125w!QI8 z(lnjUB)a>%64Z;7S+-cv3A?<}KU$@>r@hqGzJBC8lbDR;9?~f+@b>P$Op;%^VZqu< zbsj6$6kV~$&8w;Q7YFi2wMxN`^+Fw4euXbwqiOVoJCV+$y8CF=1DWkhDRf~VK})=| z&B1&2-t0?pX$N$#w=>B#(&i*Z-OAF%3j~nGqNKU_ z^s@ozh7+X~!=I0GQQ&LqLnf0KLiG@c^SwHC(&y< zvo~(+e|k@{n>LGhhh2X}Mm1GO267^ix|g z2d7l9Ats;b-J9*A)tl(=@7`+-U_9H$_QotAz{ymKrY(g{)J?US%l_m*yq`J_BLZs< zYeU}|On0(3zDIz)X1FvoBNyV&^4i@u(A{C$OZ2E<25V<`uuteB?^3Kvq?=?j@sB&( zF_74;`Um=MG@HyG^S#%6_xEMU1fxUrz1IrUytGwy z)Y5dMF}5_skRZF+FXomyfi(w2z$BZQATG}O%U)vXcv11A^!{#PMk}{1gZ2mUlQHZ& zc|5I+4=}Z6%+jg;2Gx=5?d!43X&`uOhK5IvW6ij*02p8mq7fQ(f%zZk!+vPUpgFW< zVUcEtZqPE!e;#O7j4@rb<+Sg_s_KTu^4hTlpfQ_3+h8_J8y;yg?@7`z47n%S)6=&L zmeN`Z-oktKklwZ3oE+#=PraM5^fC_1|CQpkBZMW?PVWPJvbsc!ZYdPyPU-3n_Q-vh}uY~3AZ z36pjkj?}dDjmR=L4JHPX@K22GFt;fNl#LFw?J#(-3hjx0@hSkSRY`TN6tT16>#)?e zZIkw5{q_fPZBTj3SG7VPyBkzrcLy9Em0hf|OH|Kd)q`*${K1u|`Gi!9fQucfNkE|= zp%BUIFqgX|#?S^%!AronLtQIi+M!w)a!HIKsU1?y0)B*xLaND;GZ5ocNJDCifYQ~F z+MZwQ7$d&GDLO6SGY-`x;13+CpwoqnnuSpVuDa+G!gS_+3TthVS`<8)K4;bGtx{`| zt0jWAT<{&^qScP1MZj){Y7(%AQFg8+m+=V&%;pff))+XzrFXcBEdu^Br=sNk%O@0Y zI-W?-r?}cl3-5Lnn*|h}5TSs7@u>v#0_>X)OKu`#i-`Yy%!A^+(kG-g3n73&8_Pq$e{{8)gc1HGvH6@;kG2S-kGopih0#ksiXlH? zL6kXxvM@_nk_W!INEl+Y0=BwZO~U)bK1z5W_fY|^20Y0{ z^n8Opm=Xagl!QfXr+BaQq35pjDWVaDjGBefvyS&>0l(u=1y-bx(H3EJu4_InJ$j>$ zvR(7PrH%h|ZEY5CimTNmpfH3c3rK(AojyhMW(ODD=tx=w{IEl9zmLHso-o=@p|R<6 zjgO-E?DW~;qb$PzE^Mw@nxlv}^g$=3ISQe~C~1!3NifO+{`VtHjX!X0J`jL_6eNQ_ zu-d{%ItwZR6F!wC_rHbF=a_d`H5?Y$@8xCz%N(bItxb61ZUU)qLh`~hNv`TB;Y~U{Pqtq_>_<05xAs~QL`|5udCH0jK1lk90vyGa?$%7NnC1u z$4BMYlKgZAFb)CdG0N_Pl3VB#3itts+WruOS2|%9xIj#y>Rhd60i_LUvH7s%&h-fe z^jmByY_UL}W89e?u2U@nrWs|&D7ikLP{79>YWvq2{H&8|!5F2*Hdm`zKxxB{QF7u2 zVTB0jx7bwJV!;?sa%WDvPPGX5Q%2b_O77P_p@5e=ldzqmqbLNDGM{3b5Hon*F=`f2 z+OT7k90fU|55_2<-(pi?iv?q})$vEl7=W${Sj{LqMj^~k5#7Rk&;tR36`RFz&#$Mr z=ji$t0mnFAoAb%*7$NHe{S@$Xu2%d>22c4YhFns|kkm%M1$>-~Ffqbtgj2QxeMF=T z^Eu&aHA$_2+2cZ&tY;|6si&&cVaaqdQUf_FbXc-OK5gi*WN!6oL!gzch#P#vhb42b zPm2dohozfh=FuFXnaCwCF!Xayi=2Igq z0u|c|D%!5ona_T(WCfht|bqv5P3b=q#)QQ3sa)e9o;}mlv;8z@~z?`4qBHvOb1f1aXtb>VM^8376 zVO*w4wM)5LSY;f&05L9G<5)KfxY?n$3bmy9wWu|z_953=zmU81GhFtA(yafDi=KBR zTU>Pp#6JDlkrW8=yIk}ON79_nU&qDoPt6 z)h3`+^we(IE&R^@DX*I(YN>b)w-{FY{0aN3GzlG5) zj-**YsU1>p5YT5-An-0`@L^8LoC*9V$2=~ea15)(hXoey#Vp|fvl!-dwA!UAU%{th z^5Utkq5HX1t6lqm&S#uk$rpl!>aooa7vvQ_>Yd$wPEwu z3GhdEIW6K-2qz&Kp?3d471+@?G0(d=9j$H&2tt~Pa5GxnLW0Qe^eir}cfBcCV~4ot zbB?4#z%Mf@tadjD{7auKzp-y{(W{U&uzW9ba^51~%MMkri3!OnCh=6uog*Yefm!LJ z)tw`Nwi*BX8(jRnV_#qfzsW@}I+6lg^&KwynIkEXBgGS@&wn|Rf~BMQ{4kDF>?8uV zBk&k~a3LWeg2x#n`BP2&bw&~-krb4L+(K)Y1^gZVL z3r=z4WLf&(KjflcJCXv?zQ{$tb0h^5^iwYSt0O58Z9jK3>%`F_;IKnA33xZ7tY{_o zfKMpkgE@r$xN@Ny&cfpqP$r}JE+WU@?7)?4~L&se#O%z?0oL3OGH&9DHx6fTWIV?{HjN1gv6< zRYa_XwVI_?jjL54*1}p_q}CzVe8Drmvmm*hYwz)_1dB>u3g5;=AypuZ4{*^JeG&mr zGm0cHaL5g{fYZH9{vST4{AsS^+S?qLW&y>+pe0)9_0Qo7^EoAlP2l%9oG7f{tZ@CM zYcL_;eY}%fn;^MQINu@RbFq-{dff495%6ADYrBBL&>A(#`Rof^LSg@qW8W+wei&vx z&`JS?VR3OC;|fo>iY)@(?yPoG{s0SWHA}7cxLO4o9%Db_zJPlo@N~EP7HG@Ynf!;G z!gbH@&ri9i%5h25Fz7Qbn5H%+dCb-7$Y(71yBUC86;KXgcG`q6KNa&0(<;wYgmQODas;U6+~#l*^mqYSYgZzUV3@1YFGK zhAJiwOYSmf!V=QBq{8cij#rC-4X)O90fnIzyX1WK1*=8azumEK7O>v2ZxT=#79Vzu zE2Le;gn;tY&<Fo^`bfme~TfsvmXMH6h@axmGb< z7|mrJj&s3G$!K`Jz@Pu7vR`3z1nAw-JEM~SUM@N3T=EP<-{KU*cVz;wl6jn(figVD;R*-Z zz-3Dv&7cx^o5K~>lT~_vX*`vRxFf46;~L?DGf$oc@|P^`CiQQ@{EJ(3H+4fRk-X=aoIN<&7cza8*F)t2~VCD zJnpP>8;j8;6L>-{Ve1%HOAibD28UZ#FrQNI2Ch%HPXd3$;T9hj_~#C{v(Y%H`8)OxYG@2Pzihv*DN+)!gUeTpg{qD#T!KN2Iq5y^BnU*CGan~ zX0Zm(aM>%IqCo*44xIc89~u3DEBx6pA5;P#<(kDB{1+}e;b;bxz!XZ8KE>+Y$Yni_ zW>5*7tt?&dW~P4!r$v_Y(lNIBMVuBP`5wP<_d`yLkXRlFvBm&M1gv6I@u{oh((_!! z76CW8Wz;0#W=0ja&r*7WtJosoH{7|TNx-KWRh-uo%;U?BSAu(3kj(VEE}(yb@y2}e zag12PY3^P1C5+v|si$`BFE9qO#|<+P+^}T=-^;inb99P}e&|SA1pKWV<#qvIW>j(U z$o0wbkYzSny*Y3@{dva9(;rX0xo{Nn8tNQwh@44*FLeD$aA#feRW5p_G|5M~=y^xd z=Bf+8_VGMU;mZivz^LK_7k^Wz;R6U5tXR1F#3Qd!U}cw>extLw+I(_zDAc+>*QmJ^SV?L+^mYT&n zdXnkC5U3|`H7j7TdYidSoJjHt1g1Y&|2|8yw=kDGUY(neJ;Y>1Ooni{+mW>Sy~%|<&IUcrc@9^oFAZFF1E*+R zzy}#sT$~qh>BXELM({UP9TZ=TAR7(QJ+LWd6sKuTXLWDoz7CcZgIR?1pKJ0wOv4ANbFk< zOU`Fsa6FW*?sV*%1-#d>ZxT=#68l1f`N1pI|N#5BEjt!An9D_5&v z^nK-)&%besVF);8v@I$&`Yl{`3#X_i;Pc!VMnBAU-tX!TF1*e4s9^N++pO{KFxDdA z$STVTb6>&W2l%*AL>&qlH4CG1$7p*YqXHR8tv^@V=F8L}Rt&_RWln!(7dKcYxOec@ z7*Yj;{qM5A)v-7CxJxUxlYNaOY>yp)4xidL^neH=9PRBT7MywyxEJHqB`@9 zIL}Cn(N6+0~Yk&`_$!bT<3d2CAmhSsQYP@=CjK!Nm ze9;fOsNFMpeBNg0$ElNf^dAGhSpOd`f&aAOGa2vY*ml{!Qcsqkf35`nrzP<8@TgdS z{#pVbfj~$;9o(N0prg-3;EVC8D}kS10#6TVi}AU-1fJfPE=EtU=NH3wmcaLxz-LR~ z_m{xabC_c7-ctfkN9tnq$ABljI(0B+%fcUr~z^9SIm zKf`ag{rLg+X9NyW#puVCz|SgyUs?ixWeGgploo53eym#zPfw?d;Rj3Lhf3hzT>^hk z3H<#f@SiM!|2*)tzPfmQ)v`(bI`Aa_*nL+1pJe%ekMWxiTl|ffC;I%9@h6YOO#T4l zSHS5aKI)?uPj-YpbZJ^lKBHi8is8qXz|SjzUs?hmD}iq;fxoTc7@c;8t9Z^K0u?qBznpns$U{<9_Ubg(YgpJz(oe^dhh`x5vH81Q2J&ntnC zmB4Qm~4|{D&7oAHvOA-Jh-g7$xGbV*U9o=*b)T z#W!P2Ws`^|KDA0!uE@bpHTVhYRGvRD2l#4Q*J~}GuW+rUj6d@)7EgWyeMaCISEnYa zy6Rm1S22D6J7R`zzWG+_5qPeK|BV*UE~RQ_`nu~a{(+FKu$}QcK49^8S+u%Q@OvzN z1@wtNdl)Z&U{~<(0=^3UjB!8fm_NOYNByZg6f^a=nQx{37voPZwRrgv=3|Uk8H@i2 z^EqkoTse@?voYd-@D3|6%fmgfT& zzl-_PlV58043F!2Wk2-01tb3_EIprjRTT3`_{!N9Ki870OPT)Ug%&S2%GVe?69tm% znO;3%>1AB)CFlp4{uqyUI`@A+<1621`MiwO~AKT?AJbA%69s^^}FF{MqO~ga*5cPP{`bP?BNpGyczR2r*nCw+Egy-UHH+yd8$4$M3H?N*7@rl)NAY@}&vkBK zd>!k<+Zdl@eC6k21|zSw?P2_pOD&%KUHS|${`A8!lfT@2EA>v{&+BUi37^7Gxt@drK} zGx@vCw^HGhW0ek=6{#vdEDm=~E3{sw(fKGh}ga||B+9I|{iF`tGK z^f9K7wOjgIc|U3tK2KP@%s4S7C(*g4;egX0?B8E&wDNXD4wq`Fn;rG7XMAI^A*82S^S%s z{^=6@f5`L=dF$e@z*phiabVU8!`ZkufJT*B`Sicv^8bh_Rcb!tPo*thU$=*gBnV@X+VWEuSR!XBOi(AG3Hksphkg@v*rUzs#c5#U=P(!}Jn? zGRAyb8Q;Iq@{xD@yBL2aZymjb@jL#((%-}F-XZ)yVevOH{zHsE@(zm^zwrT~|G35X zGyS8CuVj2P5trD>C;@cknzKBwfN64{vx5@Xz{Y2 zu4a6!(cFX}=`kGhxt;NwKV|V>WBmP$S4%AZ zCyYPF_g#O)@eh=fn%=pubEnaNhvy4A-zQuo)>0cE7yxv7Qi!iHvVxySjz(GZ-(SMMtuH&SU%mwm)+I zx(|9ZwBSYYw=Jcd3=#>Y0sOkV6~KjZ82*4;jX zH>5dVcQE}a_LuJG(gzveusLQhZ1&WrOYm6_`ICOWo&8B^;Y${HHLVCZWI3@>$3DE}`f3CI0pv#-HN(ZRYVF zWc-=WT0U|<{h;vS{bd!?|D*7^!O~CUg?Ehcir489?#~H>=S(1ZO89)#^0|b|o-RTE zVhKDwzc+sPJj>_z%;y#1f4{}cpByTKLq+ucET5~Hej?-5do2Ay#?Lc&&IFQ6nf~-@ zOD}I)uK=F>ZF&AHRjy(B&8sYZKNoB*!G8zSA7ee7!Spwkpno&dD?X1OV0wBvfyNu- zeX5V~cQgLX6)}Sm`QOL*hAS<8JJbJ@!E+{%JXr$&d>~dh-&I*;ityn zajyTQrI-1g&G;DWTY{@DV*HL)OaD0Yzl`yf35#!Fe{UV*PqUntF`s6}*YWyV!T2=e z&wS4Ek$vYDgJ+^Z^6nD&kCebaPy&D4;BhWvecsG%{2SwkdA{W52;VBf=Vwe`$$UDQ z&r2of!!^a{rQG1rpSdx^;SlqwEJ6RZa_|YmX{xjIOs-~@pud#)tAmzap6!VvybK~4fwH47-r3#P zhNw&(2>gIxQGzkbj6!Mv@n+&3gFQWaQ6-Rz zo5(;xQVzW(VSW5SLG>oWkBb?T>`wN8IlAsp5=O?>8O)};QOXfuT&R=Wa3A$)1lj1q z*ohBE&Y*A=fgl(8Au94hO}G#a5`TfCCSdU3DZvc@A{GNj{jnJv=f}b(AcX}vZiUSZ zBzI9Di}rqq5J4TX0~8O)79ki<+CnzQl7&Hn@Hq@qC>($$C{rB4P&y>o5=RWPWGojWfA{ncToko)hv2 z)pPT0Hlo>JKVsTYSdm0WybTdU5Io4h6y+$lhKU_SVN0wiog{++m~5$yeq`ZvCexp2 zC;dP*ihv|&6Bfy4g3+BUCe@RmxI?HyF>a(v2V!-R9Dug7YGF)Tdlw0dIyTsbEMN-Z zLyLn!KPC_(C~Odeeq8h)m z)-=bPSFA*6J{4cRZR3g!Yggrk$0?Kp%@GDDG57qSFYR4PgsXuO7|4%ZQY6%g@C}R` zk%mYTCZ3)PA?9LfQ4|$JkcwTse(lOt@g?<3>Mx+qNPMnbmYs+KIFL3PmChKoGt&oi zPP&m8gn>);BZO9;4a8(3d*v)IA{$_j`g z@5K8N1SU=47cspQ2{0$TkF_(lz?!a9x^ob!t6H0=+Z!o#SvJv|(+u^Xh~7CxE>LpS zdUY~;-G+@OyxldBJclWw&_y}1)8g^Y9&|L5O(2|LT#>cRX}NU;gt^rSa}$J##fxQR zLZrFI-J(Ijv~;d`f+4C@>nangXsrn;*4ot7WAmHSdwMYaW>-}`g~7cFWA0!YV5*>~ zZLC!k3zDp2PS0tdv%$X5Y1&wFN)h!Bk^6E{#w5vVU1`EEZN|i~=qOa6RU3|t#xc3b z4X|^34e5t?Z#k;x;@m-HdfNuD(<7RdGb5P!zW%){py9Os5UMJtt{+nl z{wzh#GizD3uC{8*>SCh3VH9=)hMr+pv=J-)m1tL{Z_o1rKC(uNlrYoS)G+Zf2X^ZH zUQ=sk>nG`vVR2Di+36sB&^uABS3xjWui}ZIh>AAe76;YJjTa|@#JCv*l63ou?Kll= z%V2U~@3l4~14-5QF`Xul6uCBvO2J3^7i%*adtF-&%* zFK%tQ9Rvm5vvXi}+1z>B&`04@H{v^Gg1Y(f5RE>QE7{eT$x`6V9PJ8Pa1&&(b@O0$ zB^*&ZIBKMD*F`u}UP=gH3FByD<5Be1V029)aa+d{*2wI@AogRkPuS>}Zcc4*Qp_92 z?qu@?Z85q`(I167#p}d)lD)ffhT>RBAXHKU6IqkzxXpB%JWrhKI-rf+gPATkS#24F ze5DPN)rR6mwl z54d+l7I7MB&g^#XCX2_77=q;VTxvv@*Mz4c#cSLTbH-ycD~8TKUnbFBm(~T0Rp=m?qZExl!kCSQ?Cg zjKLZT5`2wmV8B{P_L$g@v(bN5XD=c}!`xyftrNt~z#XN#5~mtVm#N(Y>1?ib@^uAvYan6dwW>SazsZJ;mig#N;)VwU zC+(5&%l^{6xgg-A3^k|#eneH_YS$jZN+wgdq}lCyy5tg-xoIF*scE3AlXmHv3lB%V zc$sS3n@t+0g=WG?C?{?z#YcAJ=2!#|Fy4!}u>tWAzI8Lq76qp@5v4KSL|!LWL1j9V zc5{Lu8Av0>C=MQwiVYcRb%k6ZRS$15n`lFt9k6MaK*mAnSM|Mp*<^iZ?_fQG$ifLh zuuvb>Hkj`2ScqWX7PVsK+J$r@XUMw}u&VVPdwaErn?+Sm7jh`;Gx}Sf?BXl9E<_M^Ia|YC+bL5+U@%Vf;4oR=3DZem^`-&K z47Oj@<4TY&h0xh#+hC_%nhYn}+Hi{{B_?<^mq1(&jTqsKHL;^Ja%K77N$EKdU2XF< zwyO1FhFvW`Set5c{uj{(KeLb-iGNc6Vy-Vi)aru7fTMZ&3y}}jZ{_-}-2Uu5`Vo2g zwR!dBcY1H;`gM8q`Sou=Io-WW|BrC{N4WkG9x(NhKGJ{Ta~*Imzw%0-)Q{;Hk*OG8 z=!^XF>l-3`CGZbd+OGW_Twi|iPVafshuWpCNc**f#3zk^)KzJJPk9VEybn)I@sU5N zV{?{=z?9yEe~1a-`hWk}7@^hucy3CcA)A;vB2e0qbRTek3)G)q5hF4+AJ0GObHIGt zep4OkKcm&{07#a??*Xp=0M~C|!hHG3_}|am+)e~RaU>QfzQU+Uir9Lbf% ztlV>jIw0|p=cG1g`zkP{AI866{kpmsp;cX-Nz@tEBb%dVdiEpf$B_-zm-p~1XIr{2 z$^((SdYn}c=hc7iiI^#R?g^8qF*b4EqPK#06acj^@|X7+)hSEyQxQB@kbZMkod6K5 zFTX?i#WyX*YA0Bm&u{-rdG#BdY%9 zar$C&zWxfIKcXO5-~YW2VL|UE)?}Uhq<$D=!TR!ho;oVPCuS2{8Q*mdvOpBp`w z&#QOvi(&I+pj=Pd6*gl~pPFb81gBE}&3SmDrH`caJYHa1V!yx3?O%FN5L-w)vqb#~ zAGTb3CcS$7h7$D;e%jWbQ~&DqmvjC6@jvjNw*L3njtduy^~XWKM;4sWP(|Y+3}zuo;GfLD*xymWiSAfR`~AR1%XI^u a(*{3wR6Yi;0TiwO`-H8(Bd +#+ +:+ +#+ */ +/* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 12:54:25 by tfregni #+# #+# */ -/* Updated: 2023/08/29 13:39:57 by tfregni ### ########.fr */ +/* Updated: 2023/08/31 17:44:42 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ #include "camera.h" +#include "ray.h" #include double radians(double grades) @@ -75,39 +76,105 @@ void cam_orientation(t_camera *c) c->m.matrix[3][3] = 1; } +// void cam_setup(t_camera *c) +// { +// t_vec3 half_hor; +// t_vec3 half_ver; +// t_vec3 temp; + +// c->m = mx_get_identity(); +// cam_orientation(c); +// c->aspect_ratio = WIDTH / (double)HEIGHT; +// c->viewport_width = 2.0f * (tan(radians(c->fov) / 2.0f)); +// c->viewport_height = c->viewport_width / c->aspect_ratio; +// c->horizontal = vec3(c->viewport_width, 0, 0); +// c->vertical = vec3(0, -c->viewport_height, 0); +// // c->horizontal = vec3_mult(c->right, c->viewport_width); +// // c->vertical = vec3_mult(c->up, -c->viewport_height); +// half_hor = vec3_div(c->horizontal, 2); +// half_ver = vec3_div(c->vertical, 2); +// temp = vec3_sub(c->pos, vec3(0, 0, c->focal_length)); +// temp = vec3_sub(c->pos, half_hor); +// temp = vec3_sub(temp, half_ver); +// c->viewport_top_left = vec3_sub(temp, vec3(0, 0, c->focal_length)); +// c->pxl_size_hor = vec3_div(c->horizontal, WIDTH); +// c->pxl_size_ver = vec3_div(c->vertical, HEIGHT); +// printf("Camera: vp_w: %f, vp_h: %f, ratio: %f, top_left: %f %f %f\n", c->viewport_width, c->viewport_height, c->aspect_ratio, c->viewport_top_left.x, c->viewport_top_left.y, c->viewport_top_left.z); +// printf("Horizontal: "); +// vec3_print(c->horizontal); +// printf(" Half_hor: "); +// vec3_print(half_hor); +// printf("\nVertical: "); +// vec3_print(c->vertical); +// printf(" Half_ver: "); +// vec3_print(half_ver); +// printf("\n"); +// } + void cam_setup(t_camera *c) { - t_vec3 half_hor; - t_vec3 half_ver; - t_vec3 temp; - c->m = mx_get_identity(); cam_orientation(c); c->aspect_ratio = WIDTH / (double)HEIGHT; c->viewport_width = 2.0f * (tan(radians(c->fov) / 2.0f)); c->viewport_height = c->viewport_width / c->aspect_ratio; + c->half_hor = c->viewport_width/2; + c->half_ver = c->viewport_height/2; c->horizontal = vec3(c->viewport_width, 0, 0); c->vertical = vec3(0, -c->viewport_height, 0); // c->horizontal = vec3_mult(c->right, c->viewport_width); // c->vertical = vec3_mult(c->up, -c->viewport_height); - half_hor = vec3_div(c->horizontal, 2); - half_ver = vec3_div(c->vertical, 2); - temp = vec3_sub(c->pos, vec3(0, 0, c->focal_length)); - temp = vec3_sub(c->pos, half_hor); - temp = vec3_sub(temp, half_ver); - c->viewport_top_left = vec3_sub(temp, vec3(0, 0, c->focal_length)); + c->viewport_top_left = ray_at(ray(c->pos, c->orientation), c->focal_length); + c->viewport_top_left = vec3_sub(c->viewport_top_left, vec3_mult(c->right, c->viewport_width/2)); + c->viewport_top_left = vec3_sum(c->viewport_top_left, vec3_mult(c->up, c->viewport_height/2)); + /*1. calculate point at t of direction + 2. move horizontally and vertiacally to the top left*/ c->pxl_size_hor = vec3_div(c->horizontal, WIDTH); c->pxl_size_ver = vec3_div(c->vertical, HEIGHT); printf("Camera: vp_w: %f, vp_h: %f, ratio: %f, top_left: %f %f %f\n", c->viewport_width, c->viewport_height, c->aspect_ratio, c->viewport_top_left.x, c->viewport_top_left.y, c->viewport_top_left.z); printf("Horizontal: "); vec3_print(c->horizontal); - printf(" Half_hor: "); - vec3_print(half_hor); - printf("\nVertical: "); - vec3_print(c->vertical); - printf(" Half_ver: "); - vec3_print(half_ver); - printf("\n"); } +// void cam_setup(t_camera *c) +// { +// t_vec3 half_hor; +// t_vec3 half_ver; +// t_vec3 temp; + +// t_vec3 vup = vec3(0, 1, 0); +// c->m = mx_get_identity(); +// cam_orientation(c); +// c->focal_length = vec3_len(vec3_sub(c->pos, c->look_at)); +// c->aspect_ratio = (double)WIDTH / (double)HEIGHT; +// c->viewport_height = 2.0f * (tan(radians(c->fov) / 2.0f)) * c->focal_length; +// c->viewport_width = c->viewport_height * c->aspect_ratio; +// t_vec3 w,u,v; + +// w = vec3_unit(vec3_sub(c->pos, c->look_at)); +// u = vec3_unit(vec3_cross(vup, w)); +// v = vec3_cross(w, u); +// c->horizontal = vec3_mult(u, c->viewport_width); +// c->vertical = vec3_mult(vec3_inv(v), c->viewport_height); +// half_hor = vec3_div(c->horizontal, 2); +// half_ver = vec3_div(c->vertical, 2); +// temp = vec3_mult(w, c->focal_length); +// temp = vec3_sub(temp, half_hor); +// temp = vec3_sub(temp, half_ver); +// c->viewport_top_left = vec3_sub(c->pos, temp); +// c->pxl_size_hor = vec3_div(c->horizontal, WIDTH); +// c->pxl_size_ver = vec3_div(c->vertical, HEIGHT); + +// printf("Camera: vp_w: %f, vp_h: %f, ratio: %f, top_left: %f %f %f\n", c->viewport_width, c->viewport_height, c->aspect_ratio, c->viewport_top_left.x, c->viewport_top_left.y, c->viewport_top_left.z); +// printf("Horizontal: "); +// vec3_print(c->horizontal); +// printf(" Half_hor: "); +// vec3_print(half_hor); +// printf("\nVertical: "); +// vec3_print(c->vertical); +// printf(" Half_ver: "); +// vec3_print(half_ver); +// printf("\n"); +// } + diff --git a/srcs/camera.o b/srcs/camera.o new file mode 100644 index 0000000000000000000000000000000000000000..1e542423698ad2aa5cf33e565a0900a7e03f8dd8 GIT binary patch literal 10560 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 literal 0 HcmV?d00001 diff --git a/srcs/cylinder.o b/srcs/cylinder.o new file mode 100644 index 0000000000000000000000000000000000000000..1f71d3267323c254cd4c8520ed43a397db5a5f20 GIT binary patch literal 28968 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 PBHss+9R23o?f?G+_k*Mg literal 0 HcmV?d00001 diff --git a/srcs/event_handler.c b/srcs/event_handler.c index fad4c60..9b1b77a 100644 --- a/srcs/event_handler.c +++ b/srcs/event_handler.c @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* event_handler.c :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: tfregni +#+ +:+ +#+ */ +/* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 12:29:38 by tvasilev #+# #+# */ -/* Updated: 2023/08/29 11:44:38 by tfregni ### ########.fr */ +/* Updated: 2023/08/31 17:01:41 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -43,13 +43,13 @@ int key_handle(int keycode, t_scene *scene) scene->camera.orientation.z -= ORIENT_PACE; else if (keycode == E) scene->camera.orientation.z += ORIENT_PACE; - else if (keycode == A) + else if (keycode == W) scene->camera.orientation.y -= ORIENT_PACE; - else if (keycode == D) + else if (keycode == S) scene->camera.orientation.y += ORIENT_PACE; - else if (keycode == W) + else if (keycode == A) scene->camera.orientation.x += ORIENT_PACE; - else if (keycode == S) + else if (keycode == D) scene->camera.orientation.x -= ORIENT_PACE; else ft_printf("KeyCode: %d\n", keycode); diff --git a/srcs/event_handler.o b/srcs/event_handler.o new file mode 100644 index 0000000000000000000000000000000000000000..a2b54c58a12548cda767bdffa598e6ea03fcd628 GIT binary patch literal 14016 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 literal 0 HcmV?d00001 diff --git a/srcs/libx.o b/srcs/libx.o new file mode 100644 index 0000000000000000000000000000000000000000..43488e8cfa867fd3a73d30127291eb72f2bb46d2 GIT binary patch literal 13328 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 NYE_dQEeYHHe*v$;wRZpj literal 0 HcmV?d00001 diff --git a/srcs/parse.o b/srcs/parse.o new file mode 100644 index 0000000000000000000000000000000000000000..4c8d1d7cca7e295159742dea4ab804803a69db7f GIT binary patch literal 18352 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 aEPAZC?`t7SJum%nK_i_+JA8+txBtK0ExIoN literal 0 HcmV?d00001 diff --git a/srcs/populate_element.o b/srcs/populate_element.o new file mode 100644 index 0000000000000000000000000000000000000000..6806dd71431295c9e9c628fc86d2ab3018143395 GIT binary patch literal 14720 zcmb`O3wT?_m4N3;y0RiCmi$N}w#-LGPn1b^`&B_$G7pvJ-*PtkoP=|tlZ>#{Mdz$fmY59 zEd}1Yt@R14Bg6+wBK!B<0KzFSxYCcuivoDu7(C_MG!|7_4_-U9Q5tH6)|+MPKL7Hm zjo3OCs#dVDKC*x1S}Y4dlvXy&LLGnK#$zx#FBc7g?!Ev_1g*Z$1DSRjVi{lE^JjZP zzDaw~72%sCFy0+QCq#JvkHQC6{&n{mM{X1i;(O~c%Ca$-Ad8Ec;slvhMA|_)L2z(9 zk%NyP24{5bKyh&7)PQM0qhT|lCdOADfokF1pF6Fy;pi$n2O5FMm!JC=*|p*fc)019 zH1e$MlRSK|M9CjW|8ZO>59gi0b}k9`cO?^PE0`F}CgN5;I5(J$c$7q48$8mYqiCo@ z8~RHLl}sqfPi@o{+v?Qf?jqX!brO%4(BC$+UK_flSgS)DdaZ=Gq3Kj~M^PoJYrS4V zyp~aEOsl9iofZD^brqFHm0Jjh%ZOAvE6U3+DF0Hq5YBqxteD^v!Zj6y#pUI|%y9x$ zl!Ck3C~23C0i{SamMjECPY4>QayJL=Tw1I2XVgZjm(&U|$`p?A3Pq}g@b2Gb7){lc z5b^RGcNxMFxOr(nh|z$B!ef-i?MrJ>sUif8Vk>BGQ7u~Znc$QVexE#5PM4>ulAhA4 zmfo7m^%|SEu&<6apyxu2n+#RY1MkOUkITy!gBX}U#NAqmhd65t=;@x;jW=|}CX59$ zGr%M9(I^O;47r-7qj~sc{tXx&M=uq*j5$sz%A+BV4taFSqe~u5d34KTnQEfUWo{!I zj`612LBZ}=7*TNF;V;88PIgC?D9P2Hl3e3gmRueW>SDSF{)~+%Icpw+2tj{Ta@HIh znjM5e@m@&_26f7fPUmT3Jq)1@j=p=OjQ25HNx8A!as6m9=Hw7|v9Ul5F(4|iA=k#M zLCuE_DF02D|2oL{Vd^O0Hk4vqDqTCh zl!|0ImWX1=;*g_|tr{A#RYOCzYQ&Ive@P1#>_QwN77$y`t`)<^=ZvlD=(FSmK`UTj zmMsH=pmgI?>O7f&DOLDNUBu~zk`Ni=#H~B;;J`D8{2%Pnr2P85tFlLRo3Uco7t6_Q!|L{`k<@ zAII4bJG@HH1kQy2)BeHMhx7Ww&S4jbeFysDrUUMnIHNHc=lOpKo1A$P4l=)2&ZXmq zah;6WG>D+FL&fYKly|Dl^aYf^?3Y9ID$2VKt0Ag|YR2v-R0cb2>^Wu#|4h&^7r;R_ zvQ`QUjTN$uBUryxwISt*Y6CYOqs?E^S*7N&wL747In==S{6Qw`HZspUnpmlycqUd<7$}W=#uPozFEriu)u1S z@=Yigu9Wh}C=c{W`2<|XjIC;szK`;tTBOp^ZBIy@8kR~i`H9w@EOi%p>q@$3D_!)@JFyfP@1#blgKc|*^KC(@H6x&l$%`{Yh-UAU zlDTO%bJLYM>BbCYPRjN3OQz3RD9pRao>A{V0^$U0)As~OzTz6rvvJL&obTVhfdf-uTAeIw_bUxXePIL#8X-jl;E?d^p z(IHm1td6b-N7_Yr-OA{?mWw+h>spqJ6_NIqXv?PcEo(X=7p)PIH5ydu#Y{_k z%j%Xj>x=p2oomJFNJmGsb4}#p&K3b)=5k_CbY}`(sRUe(wu^jpAQ7J@EPcvmz?FHT z$BM>sxl|$z&#RV*_kpi~lKGxgCT7V}E7KzqgH|pUx1zb;E@WF{xpXq!Tf~FgwhQ^N zi}9J)9nC>F6T)sHDP(&BeTWv)NlQv19_x?h6ILM$#d(p*;nQ@?f2ih*QeYc`X!qJ0T`qAumPCcCXZ(HBegMEf#1CBTqF z3-MSg3K8gq;$m$WLts6Y0Nv#F47im7mvdGUltp$h70oBNC#0cb292Rg6uJZdatx$?w{%IN@eMRdtHr4#u))Yqlt zZ(l5%5c#YCFXT%V(8y=|61fC8Lqawsav7R4a&B8NwlWT&oP~9by6PO?CLjQ?AO%eg z2FT?ZOEkiiIkvq{=eMxaEFxlMsPN^uY;?v->4g1<~amcoqRp)>&E+SXvPbSJW@B$nG}3 z>blAKHHTwEMLigjMao9j@%~UG=0kP;9tv+|$riS+Y+Q$i$%AXPEW|hA(Z?l5LF<@KaNT}O0%A=D)y)Q8RCKB%N&t}EcBY#$WhBCS@CQnp}j=0Suj zSl;S}NjeAjz_cPX7vR*Vv_Yji(E~Ev8N+n4VsI@`B`{}|AmByCsN%Dzv&Jyp-h0d% z_b$`D$gFfXnQnKR8L-SLA+xT{*}KV{>8x!t8`{hZLgriv!p_=VrqjL3tagXYnQdlS z8`R00t_7wyVwO7xEmOFiNz0t&c24kAnNz^tI^JU=yHOEZ9IdPsj4rB&X*i z8{bKs*VsyS=ytMLBTd|2BuY3;y!fDKD|d?G^s-TSQzhgb;}C`!r@Ct#hI4O}ic`RQ zzhRP7a4&@@fZi9W5L3Ya;W&0{IDTjZ{=x|Sff0Cg1peptE8_P$nn~u`8gnC zLXNM7G+%@e66ebmmOaDSrS;`2P}0X&znXWGz8B8;aBw!|w=hmwf$z;QVY~Qyo3^tL zAtdh4V+u=d@9*gFbNxaYeXO(bKiTZy9Mk%f zXp2F8d;A-T>v*<9Ii?G3`u2I)X5;pGc*O`jK^#x`466OP#-?u{_Zx_7e^TfSq≻ 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 literal 0 HcmV?d00001 diff --git a/srcs/ray.o b/srcs/ray.o new file mode 100644 index 0000000000000000000000000000000000000000..d928ea852b13c804fb2e9e2e85925396373d8c8a GIT binary patch literal 3912 zcmb_fU5pb|6h1Sv?RK}@e}1~6SYr{?FxwSOKn*NdUY5lyG~knBG(P#HJ{Tc}M_)`#eD^2uLF0=F7(D0xw9`w8K6sMOJ?A@r_nv$2 zxx26IIk;EXG?1jh4(Le|1qg+E{1juSAc2-v=PzsdU^Z=a9*xH~<+Gt!VmKDhXEU+H zzBFlasM&O>9J~D#^LoNs`t69-xoRz+%AP~S>g2QWSo}=(H56irv8;9WcsBP7*;>o_ z>=fxYQNUa*k;gRXc7k-w4f8c)i6Q1=b$y<;IuB#WeAbF346E~lwRHK&;Y;Ym$Pl9r zZIJxNF4h!WZ^#MuuoyM4CHt{}hTu=lzR+{w-2DRBCPqpq`HNkwCAi+8CA1CERKSSF z*RG2uv}6!KHxWz*r_%549yg*7gdYrV9N(YXISyb1Ku>dMe+pn|E9h%`VgR*1G1xh& zX_Ki0?(gvHCpGk3*`3C%HML&QhsG)FNB}6@XbLsqFeL;CN5F{gPm!<<#jz}kJHlaP zBWuu_hrnf=#_&UIIU#nC#(GQhaa229%2a>tDU!6Zp(AJY-fbmScyDvQ*07*CBgq1> zm964IsT{`YG(?CY($_|qGqI~-dZu0X+L>b2uFq!X9k*3!)H9R!nK^TE^W^q6({6#5 zTWn3Z_M%yYiF&y;G1sU$tqE`5ZdIzz{6yYq9rYT`iCU#zaXq{2Iqtme!n{-5QmD17 z9xOnq(VnR~un5PXRUie|w%RqoxX^Gbvz0n{T;&y-jY{3y0;P)U6g`|0I+2;jzQ`49 z4_v23u|4>YivU=~3V@q^>=0-Rac$k$aOf>8OC0fAg-%}c49fCa)2V@7(Re=ET+($n z8s8OV8?u1#5cWchsA*TD5gMq<_|vFlP^lNI?UIA{mlqEew03ijP9#B$!PC(_gtH5cI_fAR_`7zU z(=zfzgwq9)ICe`$gz+xKW!Z%Y@3sQulU&VW5Pp}C*Z6Q5lb~CCIN8%WiPrOhy`9}1 zN9^94;M)Z*=d&c_eG2}nkf#;=ypWIhaQU1ORPy08&o71C6eH~$%~S5r%L144`CQ0n z6TnM&tiMpJEXI{gW{*DmcYkmDr+I=7b%KeL@g7%F)ayU|6qWAEp&WZ3}>4T)^ zS8eI;su=mbEx@ly@R4e3p-#of{E#?g9Yv{#@G#o?`#t#*eJ9s1Hiy +#+ +:+ +#+ */ +/* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/08/29 13:37:20 by tfregni ### ########.fr */ +/* Updated: 2023/08/31 18:23:23 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -120,7 +120,8 @@ int convert_trgb(t_color c) * 3. Get ray direction * 4. Normalize ray direction */ -t_ray create_cam_ray(t_camera *c, double screen_x, double screen_y) + +t_ray create_cam_ray(t_camera *c, double int_x, double int_y) { // return (create_scratch_cam_ray(c, screen_x, screen_y)); t_ray ray; @@ -134,14 +135,65 @@ t_ray create_cam_ray(t_camera *c, double screen_x, double screen_y) // temp = vec3_sum(gradient_hor, gradient_ver); // ray.direction = vec3_sub(c->viewport_top_left, ray.origin); // ray.direction = vec3_sum(ray.direction, temp); - t_vec3 pxl_x = vec3_mult(c->pxl_size_hor, screen_x); - t_vec3 pxl_y = vec3_mult(c->pxl_size_ver, screen_y); - t_vec3 pxl_pos = vec3_sum(c->viewport_top_left, pxl_x); - pxl_pos = vec3_sum(pxl_pos, pxl_y); + ///// Vectors + t_vec3 pxl_x = vec3_mult(c->pxl_size_hor, int_x); + t_vec3 pxl_y = vec3_mult(c->pxl_size_ver, int_y); + t_vec3 pxl_pos = vec3_sum(c->viewport_top_left, vec3_mult(c->right, vec3_len(pxl_x))); + pxl_pos = vec3_sum(pxl_pos, vec3_mult(vec3_inv(c->up), vec3_len(pxl_y))); ray.direction = vec3_sub(pxl_pos, ray.origin); + static int i = 0; + ray.direction = vec3_unit(ray.direction); + //?Debug + if (i == 0 || i == WIDTH * HEIGHT - 1) + printf("direction (%f, %f, %f)\n", ray.direction.x, ray.direction.y, ray.direction.z); + i++; + //?Debug return (ray); } +// t_ray create_cam_ray(t_camera *c, double int_x, double int_y) +// { +// // return (create_scratch_cam_ray(c, screen_x, screen_y)); +// t_ray ray; +// // t_vec3 temp; +// // t_vec3 gradient_hor; +// // t_vec3 gradient_ver; +// double ndc_x = (int_x + 0.5f) / WIDTH * 2.0f - 1.0f; +// double ndc_y = 1.0f - (int_y + 0.5f) / HEIGHT * 2.0f; + +// ray.origin = c->pos; +// // gradient_hor = vec3_mult(c->horizontal, screen_x); +// // gradient_ver = vec3_mult(c->vertical, screen_y); +// // temp = vec3_sum(gradient_hor, gradient_ver); +// // ray.direction = vec3_sub(c->viewport_top_left, ray.origin); +// // ray.direction = vec3_sum(ray.direction, temp); +// double screen_x = ndc_x * c->half_hor; +// double screen_y = ndc_y * c->half_ver; +// static int i = 0; +// // //?Debug +// // if (i == 0 || i == WIDTH * HEIGHT - 1) +// // printf("screen_x: %f; screen_y: %f;\n", screen_x, screen_y); +// // i++; +// // //?Debug +// ray.direction.x = screen_x * c->right.x + screen_y * c->up.x - c->focal_length * c->orientation.x; +// ray.direction.y = screen_x * c->right.y + screen_y * c->up.y - c->focal_length * c->orientation.y; +// ray.direction.z = screen_x * c->right.z + screen_y * c->up.z - c->focal_length * c->orientation.z; +// ray.direction = vec3_unit(ray.direction); +// //?Debug +// if (i == 0 || i == WIDTH * HEIGHT - 1) +// printf("direction (%f, %f, %f)\n", ray.direction.x, ray.direction.y, ray.direction.z); +// i++; +// //?Debug + +// ///// Vectors +// // t_vec3 pxl_x = vec3_mult(c->pxl_size_hor, ndc_x); +// // t_vec3 pxl_y = vec3_mult(c->pxl_size_ver, ndc_y); +// // t_vec3 pxl_pos = vec3_sum(c->viewport_top_left, vec3_mult(c->right, vec3_len(pxl_x))); +// // pxl_pos = vec3_sum(pxl_pos, vec3_mult(vec3_inv(c->up), vec3_len(pxl_y))); +// // ray.direction = vec3_sub(pxl_pos, ray.origin); +// return (ray); +// } + /** * Former intersect_element function * @brief Checks if the ray hits any element in the scene diff --git a/srcs/render.o b/srcs/render.o new file mode 100644 index 0000000000000000000000000000000000000000..7564751c51449293b480385bacad4b3a1578e570 GIT binary patch literal 25176 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 literal 0 HcmV?d00001 diff --git a/srcs/shade.o b/srcs/shade.o new file mode 100644 index 0000000000000000000000000000000000000000..a54d12df32b8e553c58e8d1a08db9e011e951e73 GIT binary patch literal 12472 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 L1I+MVRQvy5ME}w9 literal 0 HcmV?d00001 diff --git a/srcs/sphere.o b/srcs/sphere.o new file mode 100644 index 0000000000000000000000000000000000000000..0b061aef7c33e73d0cfa8b563d6ec09bcc335fd1 GIT binary patch literal 19144 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 iuUuQ2BauRRY`U)(0HDVX`OeJ2D>U*S +#+ +:+ +#+ */ +/* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 11:42:25 by tfregni #+# #+# */ -/* Updated: 2023/08/29 11:18:36 by tfregni ### ########.fr */ +/* Updated: 2023/08/31 17:48:15 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -116,5 +116,5 @@ t_vec3 vec3_inv(t_vec3 a) void vec3_print(t_vec3 a) { - printf("x: %f, y: %f, z: %f", a.x, a.y, a.z); + printf("x: %f, y: %f, z: %f\n", a.x, a.y, a.z); } diff --git a/srcs/vec3.o b/srcs/vec3.o new file mode 100644 index 0000000000000000000000000000000000000000..b982d0bc2e4c375abdfc75f47b9325a55819901e GIT binary patch literal 9672 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 literal 0 HcmV?d00001 diff --git a/srcs/vector_calcs.o b/srcs/vector_calcs.o new file mode 100644 index 0000000000000000000000000000000000000000..a246d20fa53ee65e233a2777f499d4f2ef6abab8 GIT binary patch literal 6328 zcmbVQZ){vg5#M*`J)eEay*r&@9b^>g`XJy?U z1>ZL0tFAo)Bbn85^SXT$kmD<(Ykx&=Ej~7Q_C|W}{QIumeXOewf{k|#fP4|cz|)Ok zF6nUHYcL5sfshdl`S)$E-E$06NRD?!DKvzEydfmO$5*hTb^FO{uHCxg+D~4Aic(od658yQp6(@b4ao@+@ zF|VtJU{TdhFvixw=drGCsP{Ff4Qg)tJ@6~`2=?mY8s`IbV0`$5HbEV)fx{KmF0At} zuKk-gEr^s?k#0a5ufrVUs3o_8w7PDOUxVZ)>X&Z-*W2!vn3>%TYi*BQQmYMfwWFMR zB(a8rCe0JTTr?73i7bn|2x<`TSlJgz*}%etghW-a%$^}Jv%$Vf$XvjW<#&C|+u)~n ztPm?SBE?c-YAMR)!|}w{&Un&li3kzO0N4^4X#e)7JHqk% zV)w`PbR13{=nx_-MW|gvhf_i{fV#D&%6)ZeBoL+_tQ*l8g=oeKhE2zWXp*89r@0H1 z{jnI}u`S|oN{!Ga5ix^1evOG zqpA^`xb!-n0xS5_gxk&i91=TpM>0oN`CHPcl2Dq@2Xe*$Dng)PbBhSHS zW9UNS1q5}J4s^4c5U@IwPczC54Y6M!2MTq>R<$HTZ7SjRP+~J8|G?1}QIk{An%tTY zI#SdxybL_ESh5L}|4k1NA{3tpypZ z%Y-!@L}|4q1oq6)IxnRO@%Uu5SgEFS`E2n-de$j>)1_j%|ISQbrvHxqd#h@6ukgw_ zuXonTRZ8WFTsEKcGC9#(biLk_rGn%2R%Wx_bl#cmJ?MC+Dy5m;!gO)ET*r#zc2 z3-p{QWKRe;U&>a*te6v1rRrqf5vRo&;Z4B!UQr1!n1`IId9X+KVyRrvl2`SGNsUaE z$S7AXd7j3mi&%{V@4K?&VU&WHgje|gSg_#hhjr#rVa+A1&P|QcML4JlScQ+mgT!A0 zsH@!zd;lKtKs@2aqwqNt#~p{`M-T_XjgR98<9%mCq4{{?fp`>S&L9qin-&SNb4n5d z_aG8tdXLxUL+mFw2!uNX39%IvfH=p~kb48%wO}J!*8B0z$nd=bkANXC|d4a-=>m7&O(6n~N}%{yf)sOcejn=3nq zWY3UnS`IsI7~~Mh85vrXB66qfXbzuQkgdOzosk9Ew=8=WWYdB&jHbiRXt;A(rXt~{ zA(k zcYac~E<&9l3p$Mp@gZ~-@CNa(o91w{a%wPPrH5JB(j+{wo}0^(_e; zakc>wdZUT)kCDD5fb&HaA?!aA+ux^Ev7I=k6($+kCrCE&dkN<_-zEK!fmcZ9^+fyN zZv4Dqf1UJf07rYC&k5kz2V5tlr!`Z{g8B3MKTkO4$^PFlaL)7l23{on=LUX(^j8f0 z8>C+}@Ux`<*1%^;|AT=)L;4#A{uR>yY2fBh170uQ*9`~&aUWjNs%SBA?!&eKj{WEU z?hN3;{@)(J(VkyKe13S|ztOx0$Q~K47w7+o5$8u_f84O=^LH{}kNNzJ>}L)9I^pLG z{08CQ4B(jmZKN*+@L;_!5{^vmH`0G<*uPBiUor6OgkLsr&gW_X$9%Z{YXLl%&s&5e z!+iLCxo+66z?dR@=>YM%T-U0I8#w3F5x_B@Z&BQB0X&#b58<2-zt`_J>@U;24;ncB z5I}m&zM-e-aPBjyLS&|#$?A!T?BrzGnH8C`lh0-<&Rj)!PnYSI zi`U&uu2d*EMM4VxHCf+)DTr4oQv@A!y6Bel?byFVt7~N80 z_(T&tD?u6{1%IdqDG^ja#viD7{!Cijq>(`yNCL-Dco#ux*Gzl>9OvhI1Hs}cn%A6< zb>?_pjS^Le8S;PG7&KJnYhoB+4;A%>idOqDZSlTfVrUKjVo~%g<)O8Wwnt&$R{gt1 z{hOgU*gw2Cnf-eRFr2>+o**sKCF|`V2r}o&yqhr7f1W1V^I!b&-+~+~X!-+AGzi|p z_SYKYRlvf-H%q|g;qi&jF9Yb0WX}I@z>F=X?B2sKQlJ;e0U6G1&i@}x Cl#N;d literal 0 HcmV?d00001 From 799ff8852bd14b856f1e078ab84852fc1b5958cb Mon Sep 17 00:00:00 2001 From: Tsvetoslav Vasilev Date: Mon, 4 Sep 2023 16:19:21 +0200 Subject: [PATCH 60/67] fixed z-axis position of the camera --- .../StandardApexLibrary/ApexPages/Action.cls | 7 + .../ApexPages/Component.cls | 12 + .../ApexPages/ComponentIteration.cls | 8 + .../ApexPages/HammerProcessor.cls | 3 + .../ApexPages/IdeaStandardController.cls | 12 + .../ApexPages/IdeaStandardSetController.cls | 26 + ...wledgeArticleVersionStandardController.cls | 11 + .../StandardApexLibrary/ApexPages/Message.cls | 10 + .../ApexPages/PageReference.cls | 3 + .../ApexPages/SelectOption.cls | 3 + .../ApexPages/Severity.cls | 7 + .../ApexPages/StandardController.cls | 12 + .../ApexPages/StandardSetController.cls | 27 + .../AppLauncher/AccountSettingsController.cls | 18 + .../AppLauncher/AppLauncherHelper.cls | 4 + .../AppLauncherSetupReordererController.cls | 6 + .../AppLauncher/AppMenu.cls | 8 + .../AppLauncher/ChangePasswordController.cls | 7 + .../AppLauncher/CommerceStoreController.cls | 6 + .../AppLauncher/CommunityLogoController.cls | 7 + .../EmployeeLoginLinkController.cls | 7 + .../AppLauncher/ForgotPasswordController.cls | 6 + .../AppLauncher/IdentityHeaderController.cls | 11 + .../AppLauncher/LoginFormController.cls | 13 + .../AppLauncher/SelfRegisterController.cls | 11 + .../AppLauncher/SocialLoginController.cls | 12 + .../Approval/LockResult.cls | 9 + .../Approval/ProcessRequest.cls | 9 + .../Approval/ProcessResult.cls | 17 + .../Approval/ProcessSubmitRequest.cls | 20 + .../Approval/ProcessWorkitemRequest.cls | 14 + .../Approval/UnlockResult.cls | 9 + .../Auth/AuthConfiguration.cls | 30 + .../Auth/AuthProviderCallbackState.cls | 8 + .../Auth/AuthProviderPlugin.cls | 7 + .../Auth/AuthProviderPluginClass.cls | 6 + .../Auth/AuthProviderPluginException.cls | 9 + .../Auth/AuthProviderTokenResponse.cls | 9 + .../StandardApexLibrary/Auth/AuthToken.cls | 9 + .../246/StandardApexLibrary/Auth/C2CToken.cls | 8 + .../Auth/CommunitiesUtil.cls | 9 + .../Auth/ConfigurableSelfRegHandler.cls | 4 + .../Auth/ConfirmUserRegistrationHandler.cls | 4 + .../Auth/ConnectedAppPlugin.cls | 12 + .../Auth/ConnectedAppPluginException.cls | 9 + .../Auth/DiscoveryCustomErrorException.cls | 9 + .../Auth/HeadlessSelfRegistrationHandler.cls | 4 + .../Auth/InvocationContext.cls | 17 + .../246/StandardApexLibrary/Auth/JWS.cls | 7 + .../246/StandardApexLibrary/Auth/JWT.cls | 18 + .../Auth/JWTBearerTokenExchange.cls | 23 + .../Auth/LightningLoginEligibility.cls | 9 + .../Auth/LoginDiscoveryException.cls | 9 + .../Auth/LoginDiscoveryHandler.cls | 4 + .../Auth/LoginDiscoveryMethod.cls | 4 + .../Auth/MyDomainLoginDiscoveryHandler.cls | 4 + .../Auth/OAuthRefreshResult.cls | 9 + .../Auth/RegistrationHandler.cls | 5 + .../Auth/SamlJitHandler.cls | 5 + .../StandardApexLibrary/Auth/SessionLevel.cls | 5 + .../Auth/SessionManagement.cls | 22 + .../Auth/ThirdPartyAccountLinkInfo.cls | 14 + .../246/StandardApexLibrary/Auth/UserData.cls | 16 + .../StandardApexLibrary/Auth/UserOrgInfo.cls | 14 + .../Auth/VerificationException.cls | 10 + .../Auth/VerificationMethod.cls | 10 + .../Auth/VerificationPolicy.cls | 3 + .../Auth/VerificationResult.cls | 8 + .../BulkApiKeysLimitExceededException.cls | 9 + .../Cache/CacheBuilder.cls | 4 + .../Cache/CacheBuilderExecutionException.cls | 9 + .../Cache/CacheException.cls | 9 + .../Cache/ExecutionException.cls | 9 + .../Cache/InvalidCacheBuilderException.cls | 9 + .../Cache/InvalidParamException.cls | 9 + .../Cache/ItemSizeLimitExceededException.cls | 9 + .../246/StandardApexLibrary/Cache/Org.cls | 41 + .../Cache/OrgPartition.cls | 36 + .../StandardApexLibrary/Cache/Partition.cls | 36 + .../Cache/PlatformCacheDelegateWrapper.cls | 4 + ...PlatformCacheInvalidOperationException.cls | 9 + .../StandardApexLibrary/Cache/ScanResult.cls | 8 + .../Cache/SecondaryKeyApi.cls | 10 + .../246/StandardApexLibrary/Cache/Session.cls | 48 + .../Cache/SessionPartition.cls | 36 + .../Cache/UnsupportedOperationException.cls | 9 + .../StandardApexLibrary/Cache/Visibility.cls | 4 + .../Canvas/ApplicationContext.cls | 9 + .../Canvas/CanvasLifecycleHandler.cls | 5 + .../Canvas/CanvasRenderException.cls | 9 + .../Canvas/ContextTypeEnum.cls | 5 + .../Canvas/EnvironmentContext.cls | 11 + .../Canvas/RenderContext.cls | 5 + .../246/StandardApexLibrary/Canvas/Test.cls | 15 + .../ChatterAnswers/AccountCreator.cls | 4 + .../ChatterServiceRegisterController.cls | 4 + .../SCCChangePasswordController.cls | 4 + .../SCCForgotPasswordConfirmController.cls | 4 + .../SCCForgotPasswordController.cls | 4 + .../ConnectApi/AIFieldRecommendation.cls | 12 + .../AIFieldRecommendationCollection.cls | 12 + .../ConnectApi/AIFieldRecommendationValue.cls | 11 + .../ConnectApi/AbstractCartItem.cls | 16 + .../ConnectApi/AbstractContentHubItemType.cls | 14 + .../AbstractCreateServiceAppointmentInput.cls | 11 + .../AbstractDirectoryEntrySummary.cls | 12 + .../AbstractExtensionInformation.cls | 9 + .../AbstractGatewayCommonResponse.cls | 14 + .../ConnectApi/AbstractGatewayResponse.cls | 10 + ...AbstractManagedContentDeliveryDocument.cls | 18 + .../AbstractManagedContentReference.cls | 11 + .../ConnectApi/AbstractMessageBody.cls | 11 + .../ConnectApi/AbstractNBAAction.cls | 10 + .../ConnectApi/AbstractNBATarget.cls | 9 + .../AbstractProductAttributeSetSummary.cls | 9 + .../ConnectApi/AbstractProductSummary.cls | 13 + .../ConnectApi/AbstractRecommendation.cls | 11 + .../AbstractRecommendationExplanation.cls | 10 + .../ConnectApi/AbstractRecordField.cls | 9 + .../ConnectApi/AbstractRecordView.cls | 8 + .../ConnectApi/AbstractRepositoryFile.cls | 22 + .../ConnectApi/AbstractRepositoryFolder.cls | 11 + .../ConnectApi/AbstractRepositoryItem.cls | 20 + .../ConnectApi/AbstractSearchSuggestion.cls | 9 + ...stractSmartDataDiscoveryAIModelMetrics.cls | 12 + ...bstractSmartDataDiscoveryAIModelSource.cls | 9 + ...overyAggregatePredictionRepresentation.cls | 12 + ...stractSmartDataDiscoveryAssetReference.cls | 10 + ...ctSmartDataDiscoveryFieldMappingSource.cls | 9 + ...rtDataDiscoveryManyToOneTransformation.cls | 11 + .../AbstractSmartDataDiscoveryModelField.cls | 13 + ...AbstractSmartDataDiscoveryModelRuntime.cls | 9 + ...actSmartDataDiscoveryModelRuntimeInput.cls | 8 + ...artDataDiscoveryOneToOneTransformation.cls | 11 + ...iscoveryPredictConditionRepresentation.cls | 10 + ...AbstractSmartDataDiscoveryPredictInput.cls | 10 + ...martDataDiscoveryPredictRepresentation.cls | 9 + ...ctSmartDataDiscoveryPredictionProperty.cls | 9 + ...tSmartDataDiscoveryProjectedPrediction.cls | 9 + ...eryProjectedPredictionsIntervalSetting.cls | 9 + ...ojectedPredictionsIntervalSettingInput.cls | 8 + ...stractSmartDataDiscoveryTransformation.cls | 9 + ...SmartDataDiscoveryTransformationFilter.cls | 9 + ...artDataDiscoveryTransformationOverride.cls | 11 + ...taDiscoveryTransformationOverrideInput.cls | 9 + .../AbstractUserMissionActivity.cls | 10 + .../Abstractcommerceproductsearchresults.cls | 3 + .../ConnectApi/ActionLinkDefinition.cls | 24 + .../ConnectApi/ActionLinkDefinitionInput.cls | 18 + .../ConnectApi/ActionLinkDiagnosticInfo.cls | 11 + .../ActionLinkExecutionsAllowed.cls | 5 + .../ConnectApi/ActionLinkGroupDefinition.cls | 18 + .../ActionLinkGroupDefinitionInput.cls | 14 + .../ActionLinkTemplateBindingInput.cls | 10 + .../ConnectApi/ActionLinkType.cls | 6 + .../ConnectApi/ActionLinks.cls | 10 + .../ConnectApi/ActivitySharingInput.cls | 10 + .../ConnectApi/ActivitySharingResult.cls | 10 + .../ConnectApi/ActivitySharingType.cls | 5 + .../StandardApexLibrary/ConnectApi/Actor.cls | 10 + .../ConnectApi/ActorWithId.cls | 13 + .../AddItemAdjustmentOutputRepresentation.cls | 12 + .../AddItemOutputRepresentation.cls | 13 + .../AddItemTaxOutputRepresentation.cls | 11 + ...ddOrderItemSummaryOutputRepresentation.cls | 13 + ...onJournalAttributeOutputRepresentation.cls | 11 + .../ConnectApi/Address.cls | 15 + .../ConnectApi/AddressRequest.cls | 14 + .../AdjustItemInputRepresentation.cls | 13 + ...ustOrderItemSummaryInputRepresentation.cls | 10 + ...AdjustOrderSummaryOutputRepresentation.cls | 14 + .../ConnectApi/AdjustmentAmountScope.cls | 5 + .../ConnectApi/AdjustmentType.cls | 4 + .../ConnectApi/AiAcceleratorConnectFamily.cls | 3 + .../ConnectApi/Alternative.cls | 12 + .../ConnectApi/AlternativeInput.cls | 11 + .../ConnectApi/AlternativePaymentMethod.cls | 14 + .../AlternativePaymentMethodOutput.cls | 15 + .../AnalysisFieldDataPropertyEnum.cls | 13 + .../ConnectApi/AnalyticsLicenseAttributes.cls | 9 + .../ConnectApi/AnalyticsLicenseType.cls | 7 + .../ConnectApi/Announcement.cls | 15 + .../ConnectApi/AnnouncementInput.cls | 14 + .../ConnectApi/AnnouncementPage.cls | 13 + .../ConnectApi/Announcements.cls | 10 + .../ApexClassOutputRepresentation.cls | 13 + .../ConnectApi/ApplicationSettings.cls | 19 + .../ApplicationSettingsCollection.cls | 10 + .../ConnectApi/ApplicationsRequest.cls | 12 + .../ConnectApi/ApplyCreditResult.cls | 13 + .../ConnectApi/ApplyCreditResults.cls | 10 + .../AppointedRepresentativeOutput.cls | 11 + .../ConnectApi/AppointmentSlotResult.cls | 13 + .../AppointmentSlotStatusResult.cls | 13 + .../ConnectApi/ApprovalAttachment.cls | 13 + .../ConnectApi/ApprovalCapability.cls | 13 + .../ConnectApi/ApprovalIntent.cls | 10 + .../ConnectApi/ApprovalPostTemplateField.cls | 12 + .../ConnectApi/ArticleItem.cls | 14 + .../ConnectApi/ArticleRecommendation.cls | 17 + .../ArticleRecommendationCollection.cls | 10 + .../ArticleRecommendationsChannelType.cls | 3 + .../ArticleRecommendationsRuntimeMetric.cls | 20 + .../ArticleRecommendationsRuntimeMetrics.cls | 10 + .../ConnectApi/ArticleSmartAnswer.cls | 10 + .../ConnectApi/ArticleSummary.cls | 17 + .../ArticleTopicAssignmentJobInput.cls | 10 + .../ConnectApi/ArticleTopicJobType.cls | 4 + .../AssessmentSearchDerivedStatusEnum.cls | 5 + .../ConnectApi/AssetMgmt.cls | 3 + .../ConnectApi/AssetMgmtAmendmentType.cls | 4 + .../ConnectApi/AssetMgmtCancellationType.cls | 3 + .../AssetMgmtInitiateAmendQtyInput.cls | 12 + .../AssetMgmtInitiateCancellationInput.cls | 11 + .../AssetMgmtInitiateRenewalInput.cls | 9 + .../AssetRevertHistoryInputRepresentation.cls | 10 + .../ConnectApi/AssignedResourcesInput.cls | 12 + .../AssociateRecordsWithRecipientInput.cls | 10 + .../AssociatedActionsCapability.cls | 10 + .../AssociatedActionsCapabilityInput.cls | 9 + .../ConnectApi/AsyncOutputRepresentation.cls | 9 + .../ConnectApi/AttributeRepresentation.cls | 15 + .../ConnectApi/Audience.cls | 16 + .../ConnectApi/AudienceCollection.cls | 10 + .../ConnectApi/AudienceCriteria.cls | 9 + .../ConnectApi/AudienceCriteriaDetail.cls | 13 + .../ConnectApi/AudienceCriteriaInput.cls | 7 + .../ConnectApi/AudienceCriteriaOperator.cls | 12 + .../ConnectApi/AudienceCriteriaType.cls | 9 + .../ConnectApi/AudienceCriterionDetail.cls | 10 + .../ConnectApi/AudienceCriterionInput.cls | 12 + .../AudienceCriterionValueInput.cls | 19 + .../ConnectApi/AudienceInput.cls | 12 + .../ConnectApi/AudienceTarget.cls | 12 + .../ConnectApi/AudienceTargetAssignment.cls | 18 + .../ConnectApi/AuditParamsRequest.cls | 11 + .../AuthApiPaymentMethodRequest.cls | 9 + .../AuthReversalGatewayResponse.cls | 9 + .../AuthorizationGatewayResponse.cls | 10 + .../ConnectApi/AuthorizationRequest.cls | 16 + .../ConnectApi/AuthorizationResponse.cls | 15 + .../AuthorizationReversalRequest.cls | 12 + .../AuthorizationReversalResponse.cls | 13 + .../AvailableLocationOutputRepresentation.cls | 10 + ...rageDistanceResultOutputRepresentation.cls | 10 + .../ConnectApi/BannerCapability.cls | 11 + .../ConnectApi/BannerPhoto.cls | 12 + .../ConnectApi/BannerPhotoInput.cls | 15 + .../ConnectApi/BannerStyle.cls | 3 + .../BaseApiPaymentMethodRequest.cls | 10 + .../BaseAsyncOutputRepresentation.cls | 9 + .../BaseInvoiceOutputRepresentation.cls | 9 + .../ConnectApi/BaseManagedSocialAccount.cls | 17 + .../ConnectApi/BaseOutputRepresentation.cls | 10 + .../ConnectApi/BasePaymentMethodRequest.cls | 7 + .../ConnectApi/BaseRequest.cls | 9 + .../ConnectApi/BasicTemplateAttachment.cls | 15 + .../ConnectApi/BatchInput.cls | 10 + .../ConnectApi/BatchResult.cls | 16 + ...enefitDisbursementsInputRepresentation.cls | 12 + ...nefitDisbursementsOutputRepresentation.cls | 11 + ...cheduleParticipantsInputRepresentation.cls | 9 + ...heduleParticipantsOutputRepresentation.cls | 11 + ...SessionParticipantsInputRepresentation.cls | 9 + ...essionParticipantsOutputRepresentation.cls | 11 + .../ConnectApi/BenefitSessions.cls | 12 + .../ConnectApi/Billing.cls | 3 + .../ConnectApi/BillingAddressRequest.cls | 16 + .../ConnectApi/BillingMethodEnum.cls | 4 + .../BillingScheduleOutputRepresentation.cls | 11 + .../ConnectApi/BillingScheduleStatusEnum.cls | 4 + .../ConnectApi/BillingStatusEnum.cls | 5 + .../ConnectApi/BillingTypeEnum.cls | 3 + .../ConnectApi/BinaryInput.cls | 9 + .../ConnectApi/BlankRecordField.cls | 9 + .../ConnectApi/BlockchainConfig.cls | 3 + .../ConnectApi/BlockchainConfigObject.cls | 20 + .../ConnectApi/BookAppointmentResult.cls | 16 + .../ConnectApi/BookAppointmentsInput.cls | 18 + .../ConnectApi/BookingStatus.cls | 7 + .../ConnectApi/BookmarkSummary.cls | 9 + .../ConnectApi/BookmarksCapability.cls | 10 + .../ConnectApi/BookmarksCapabilityInput.cls | 9 + .../ConnectApi/BotInfoRepresentation.cls | 12 + .../ConnectApi/BotLLMPromptTemplateType.cls | 5 + .../ConnectApi/BotLLMProviderType.cls | 6 + .../ConnectApi/BotRuntimeApi.cls | 3 + .../ConnectApi/BotRuntimeApiInfo.cls | 10 + .../ConnectApi/BotVersionActivation.cls | 3 + .../ConnectApi/BotVersionActivationInfo.cls | 12 + .../ConnectApi/BotVersionActivationInput.cls | 9 + .../ConnectApi/BotVersionActivationStatus.cls | 4 + .../BuildVerificationContextInput.cls | 12 + .../ConnectApi/BundleCapability.cls | 11 + .../ConnectApi/BundleType.cls | 4 + .../ConnectApi/BuyerProfileRepresentation.cls | 12 + ...jectedRebateAmountOutputRepresentation.cls | 10 + .../ConnectApi/CalculateTaxRequest.cls | 12 + .../ConnectApi/CalculateTaxResponse.cls | 14 + .../ConnectApi/CalculateTaxTypeRequest.cls | 4 + .../CalculatedInsightDefinitionTypeEnum.cls | 5 + ...lculatedInsightPublishScheduleInterval.cls | 9 + .../CallCollaborationCapability.cls | 11 + .../ConnectApi/CancelAppointmentResult.cls | 15 + .../ConnectApi/CancelAppointmentsInput.cls | 17 + .../ConnectApi/CandidateAnswersStatus.cls | 12 + .../ConnectApi/CanvasAttachmentInput.cls | 15 + .../ConnectApi/CanvasCapability.cls | 17 + .../ConnectApi/CanvasCapabilityInput.cls | 15 + .../ConnectApi/CanvasTemplateAttachment.cls | 17 + .../CapacityRequestInputRepresentation.cls | 10 + .../CapacityResponseOutputRepresentation.cls | 12 + .../ConnectApi/CaptureGatewayResponse.cls | 9 + .../ConnectApi/CaptureRequest.cls | 14 + .../ConnectApi/CaptureResponse.cls | 14 + .../ConnectApi/CardCategory.cls | 4 + .../ConnectApi/CardDetailOutput.cls | 14 + .../ConnectApi/CardOutput.cls | 14 + .../ConnectApi/CardPaymentMethodOutput.cls | 27 + .../ConnectApi/CardPaymentMethodRequest.cls | 24 + .../ConnectApi/CardRowOutput.cls | 13 + .../ConnectApi/CardType.cls | 10 + .../CareAuthorizationCaseOutput.cls | 34 + .../ConnectApi/CareAuthorizationOutput.cls | 19 + .../CareAuthorizationOutputResult.cls | 10 + .../CareAuthorizationPatientOutput.cls | 13 + .../CareAuthorizationRequestGetResult.cls | 12 + ...uthorizationRequestRelatedRecordResult.cls | 9 + .../CareAuthorizationRequestResult.cls | 13 + .../ConnectApi/CareDiagnosisOutput.cls | 41 + .../ConnectApi/CareProcessingErrorOutput.cls | 26 + .../ConnectApi/CareProviderResult.cls | 14 + .../ConnectApi/CareRequestDrugOutput.cls | 64 + .../ConnectApi/CareRequestItemOutput.cls | 74 + .../ConnectApi/CareRequestOutput.cls | 146 ++ .../ConnectApi/CareRequestReviewerOutput.cls | 16 + .../ConnectApi/Careauthorizationrequest.cls | 3 + .../ConnectApi/CartCoupon.cls | 11 + .../ConnectApi/CartCouponCollection.cls | 13 + .../ConnectApi/CartCouponInput.cls | 9 + .../ConnectApi/CartCouponList.cls | 10 + .../ConnectApi/CartInput.cls | 14 + ...oryItemReservationOutputRepresentation.cls | 15 + ...nventoryReservationInputRepresentation.cls | 9 + ...ventoryReservationOutputRepresentation.cls | 14 + .../ConnectApi/CartItem.cls | 20 + .../ConnectApi/CartItemCollection.cls | 18 + .../ConnectApi/CartItemInput.cls | 11 + .../ConnectApi/CartItemProduct.cls | 16 + ...PromotionCollectionInputRepresentation.cls | 9 + ...romotionCollectionOutputRepresentation.cls | 11 + .../CartItemPromotionInputRepresentation.cls | 9 + .../ConnectApi/CartItemResult.cls | 12 + .../ConnectApi/CartItemSortOrder.cls | 8 + .../ConnectApi/CartItemType.cls | 4 + .../ConnectApi/CartItemWithoutPrice.cls | 9 + .../ConnectApi/CartMessage.cls | 15 + .../ConnectApi/CartMessageSeverity.cls | 5 + .../ConnectApi/CartMessagesSummary.cls | 14 + .../CartMessagesVisibilityInput.cls | 9 + .../CartMessagesVisibilityResult.cls | 10 + .../ConnectApi/CartProductAttribute.cls | 12 + .../ConnectApi/CartPromotionCollection.cls | 13 + .../ConnectApi/CartPromotionList.cls | 10 + .../CartPromotionOutputRepresentation.cls | 16 + .../ConnectApi/CartPromotionType.cls | 4 + .../ConnectApi/CartStatus.cls | 8 + .../ConnectApi/CartSummary.cls | 31 + .../ConnectApi/CartTaxType.cls | 4 + .../ConnectApi/CartToWishlistInput.cls | 9 + .../ConnectApi/CartToWishlistResult.cls | 11 + .../ConnectApi/CartType.cls | 3 + .../ConnectApi/CaseActorType.cls | 4 + .../ConnectApi/CaseComment.cls | 16 + .../ConnectApi/CaseCommentCapability.cls | 16 + .../ConnectApi/CaseCommentEventType.cls | 9 + .../ConnectApi/CaseInfoWrapper.cls | 15 + .../ConnectApi/CaseParticipantInfoWrapper.cls | 16 + .../CaseProgramsInputRepresentation.cls | 9 + .../CaseProgramsOutputRepresentation.cls | 11 + .../ConnectApi/CdpActionResponse.cls | 10 + .../ConnectApi/CdpAssetBase.cls | 17 + .../ConnectApi/CdpAssetReference.cls | 9 + .../ConnectApi/CdpCalculatedInsight.cls | 10 + .../CdpCalculatedInsightDataSource.cls | 11 + .../CdpCalculatedInsightDimension.cls | 17 + ...atedInsightErrorResponseRepresentation.cls | 11 + .../ConnectApi/CdpCalculatedInsightInput.cls | 17 + .../CdpCalculatedInsightInputValidator.cls | 3 + .../CdpCalculatedInsightMeasure.cls | 17 + .../ConnectApi/CdpCalculatedInsightOutput.cls | 30 + .../ConnectApi/CdpCalculatedInsightPage.cls | 10 + .../CdpCalculatedInsightPageData.cls | 18 + ...htStandardActionResponseRepresentation.cls | 9 + .../CdpCalculatedInsightValidateInput.cls | 3 + ...alculatedInsightValidateInputValidator.cls | 3 + .../ConnectApi/CdpDataActionPage.cls | 3 + .../ConnectApi/CdpDataActionPageValidator.cls | 3 + .../ConnectApi/CdpDataActionTargetPage.cls | 3 + .../CdpDataActionTargetPageValidator.cls | 3 + ...ansformActionRunResponseRepresentation.cls | 9 + .../ConnectApi/CdpEnumHelpers.cls | 3 + .../ConnectApi/CdpErrorResponse.cls | 11 + .../ConnectApi/CdpIdentityResolution.cls | 3 + .../CdpIdentityResolutionConfigInput.cls | 16 + ...IdentityResolutionConfigInputValidator.cls | 3 + .../CdpIdentityResolutionConfigPatchInput.cls | 13 + ...ityResolutionConfigPatchInputValidator.cls | 3 + ...CdpIdentityResolutionConfigurationType.cls | 4 + .../CdpIdentityResolutionMatchCriterion.cls | 13 + ...IdentityResolutionMatchCriterionOutput.cls | 14 + ...esolutionMatchCriterionOutputValidator.cls | 3 + ...nMatchCriterionPartyIdentificationInfo.cls | 10 + ...CriterionPartyIdentificationInfoOutput.cls | 11 + ...ntityResolutionMatchCriterionValidator.cls | 3 + .../CdpIdentityResolutionMatchMethodType.cls | 7 + .../CdpIdentityResolutionMatchRule.cls | 10 + .../CdpIdentityResolutionMatchRuleOutput.cls | 11 + ...tityResolutionMatchRuleOutputValidator.cls | 3 + ...dpIdentityResolutionMatchRuleValidator.cls | 3 + .../CdpIdentityResolutionOutput.cls | 28 + .../CdpIdentityResolutionOutputValidator.cls | 3 + .../CdpIdentityResolutionPublishOutput.cls | 9 + ...ntityResolutionReconciliationFieldRule.cls | 12 + ...esolutionReconciliationFieldRuleOutput.cls | 13 + ...ReconciliationFieldRuleOutputValidator.cls | 3 + ...lutionReconciliationFieldRuleValidator.cls | 3 + ...dpIdentityResolutionReconciliationRule.cls | 13 + ...tityResolutionReconciliationRuleOutput.cls | 16 + ...utionReconciliationRuleOutputValidator.cls | 3 + ...entityResolutionReconciliationRuleType.cls | 5 + ...yResolutionReconciliationRuleValidator.cls | 3 + ...IdentityResolutionReconciliationSource.cls | 9 + ...tyResolutionReconciliationSourceOutput.cls | 10 + .../CdpIdentityResolutionRunNowInput.cls | 10 + .../CdpIdentityResolutionRunNowOutput.cls | 10 + ...dentityResolutionRunNowOutputValidator.cls | 3 + .../CdpIdentityResolutionRunNowResultCode.cls | 6 + .../CdpIdentityResolutionsOutput.cls | 10 + .../CdpIdentityResolutionsOutputValidator.cls | 3 + .../CdpMlCustomizableFieldTypeEnum.cls | 4 + .../ConnectApi/CdpMlFieldDataTypeEnum.cls | 5 + .../CdpMlFilterFieldOperatorEnum.cls | 15 + .../ConnectApi/CdpMlFilterFieldTypeEnum.cls | 5 + .../ConnectApi/CdpMlFilterValueTypeEnum.cls | 4 + .../ConnectApi/CdpMlModelOutcomeGoalEnum.cls | 5 + .../CdpMlModelPartitionStatusEnum.cls | 4 + .../CdpMlModelPredictionTypeEnum.cls | 5 + .../CdpMlModelRefreshRecipientTypeEnum.cls | 4 + .../ConnectApi/CdpMlModelSourceTypeEnum.cls | 4 + .../ConnectApi/CdpMlModelStatusEnum.cls | 5 + .../ConnectApi/CdpQuery.cls | 31 + .../ConnectApi/CdpQueryDataOutput.cls | 10 + .../ConnectApi/CdpQueryInput.cls | 9 + .../ConnectApi/CdpQueryMetadataItem.cls | 12 + .../ConnectApi/CdpQueryMetadataOutput.cls | 10 + .../ConnectApi/CdpQueryOutput.cls | 16 + .../ConnectApi/CdpQueryOutputV2.cls | 18 + .../ConnectApi/CdpQueryV2Row.cls | 10 + .../CdpScheduleFrequencyTypeEnum.cls | 6 + .../ConnectApi/CdpSegment.cls | 11 + .../ConnectApi/CdpSegmentActionOutput.cls | 15 + .../ConnectApi/CdpSegmentContainerOutput.cls | 13 + .../ConnectApi/CdpSegmentDbtInput.cls | 9 + .../ConnectApi/CdpSegmentDbtModel.cls | 11 + .../ConnectApi/CdpSegmentDbtModelInput.cls | 10 + .../ConnectApi/CdpSegmentDbtPipeline.cls | 10 + .../ConnectApi/CdpSegmentInput.cls | 20 + .../ConnectApi/CdpSegmentInputValidator.cls | 3 + .../ConnectApi/CdpSegmentLookalike.cls | 11 + .../ConnectApi/CdpSegmentLookalikeInput.cls | 10 + .../ConnectApi/CdpSegmentMemberOutput.cls | 3 + .../CdpSegmentMemberOutputValidator.cls | 3 + .../ConnectApi/CdpSegmentMemberRowOutput.cls | 15 + .../CdpSegmentMembershipTableOutput.cls | 12 + .../ConnectApi/CdpSegmentOutput.cls | 31 + .../CdpSourceSubscriptionModeEnum.cls | 3 + .../ConnectApi/CdpUser.cls | 12 + .../ConnectApi/ChangeInputRepresentation.cls | 9 + .../ChangeItemFeeInputRepresentation.cls | 14 + .../ChangeItemInputRepresentation.cls | 13 + .../ChangeItemOutputRepresentation.cls | 26 + ...hangeOrdersInvoiceOutputRepresentation.cls | 9 + .../ConnectApi/Chatter.cls | 9 + .../ConnectApi/ChatterActivity.cls | 13 + .../ConnectApi/ChatterActivitySummary.cls | 13 + .../ConnectApi/ChatterConversation.cls | 14 + .../ConnectApi/ChatterConversationPage.cls | 14 + .../ConnectApi/ChatterConversationSummary.cls | 14 + .../ConnectApi/ChatterFavorites.cls | 22 + .../ConnectApi/ChatterFeeds.cls | 306 ++++ .../ConnectApi/ChatterGroup.cls | 25 + .../ConnectApi/ChatterGroupDetail.cls | 12 + .../ConnectApi/ChatterGroupInput.cls | 18 + .../ConnectApi/ChatterGroupPage.cls | 13 + .../ConnectApi/ChatterGroupSummary.cls | 10 + .../ConnectApi/ChatterGroups.cls | 62 + .../ConnectApi/ChatterLike.cls | 13 + .../ConnectApi/ChatterLikePage.cls | 18 + .../ConnectApi/ChatterLikesCapability.cls | 13 + .../ConnectApi/ChatterMessage.cls | 18 + .../ConnectApi/ChatterMessagePage.cls | 14 + .../ConnectApi/ChatterMessages.cls | 38 + .../ConnectApi/ChatterStream.cls | 16 + .../ConnectApi/ChatterStreamInput.cls | 12 + .../ConnectApi/ChatterStreamPage.cls | 13 + .../ConnectApi/ChatterUsers.cls | 43 + .../ConnectApi/CheckoutSessionState.cls | 7 + .../ConnectApi/ChimeAttendeeResult.cls | 12 + .../ConnectApi/ChimeMediaPlacementResult.cls | 17 + .../ConnectApi/ChimeMeetingResult.cls | 11 + .../ConnectApi/ClientInfo.cls | 11 + .../StandardApexLibrary/ConnectApi/Clm.cls | 3 + .../ConnectApi/CloseCapability.cls | 11 + .../ConnectApi/CloseCapabilityInput.cls | 9 + .../StandardApexLibrary/ConnectApi/Column.cls | 13 + .../ConnectApi/Comment.cls | 29 + .../ConnectApi/CommentCapabilities.cls | 18 + .../ConnectApi/CommentCapabilitiesInput.cls | 12 + .../ConnectApi/CommentInput.cls | 13 + .../ConnectApi/CommentPage.cls | 18 + .../ConnectApi/CommentSummary.cls | 10 + .../ConnectApi/CommentType.cls | 4 + .../ConnectApi/CommentsCapability.cls | 10 + .../ConnectApi/CommerceActionResult.cls | 11 + .../ConnectApi/CommerceAddressCollection.cls | 19 + .../ConnectApi/CommerceAddressFieldInput.cls | 10 + .../ConnectApi/CommerceAddressInput.cls | 24 + .../ConnectApi/CommerceAddressOutput.cls | 26 + .../ConnectApi/CommerceAddressSort.cls | 6 + .../ConnectApi/CommerceBuyerExperience.cls | 3 + .../ConnectApi/CommerceCart.cls | 3 + .../ConnectApi/CommerceCatalog.cls | 3 + .../CommerceCatalogAttributeType.cls | 6 + .../CommerceEinsteinActivityJobStatusEnum.cls | 5 + .../CommerceEinsteinConfiguration.cls | 5 + .../CommerceEinsteinOutputConfiguration.cls | 16 + .../ConnectApi/CommerceEinsteinStatusEnum.cls | 8 + .../ConnectApi/CommerceInventory.cls | 3 + .../ConnectApi/CommerceInventoryPricing.cls | 3 + .../CommerceProductAttributeSetSummary.cls | 9 + .../CommerceProductSearchResults.cls | 9 + .../ConnectApi/CommerceProductSummary.cls | 11 + .../ConnectApi/CommerceProductSummaryPage.cls | 12 + .../ConnectApi/CommercePromotions.cls | 3 + .../ConnectApi/CommerceSearch.cls | 3 + .../CommerceSearchAttributeType.cls | 6 + .../CommerceSearchConnectFamily.cls | 3 + .../CommerceSearchFacetDisplayType.cls | 6 + .../ConnectApi/CommerceSearchFacetType.cls | 3 + .../CommerceSearchGroupingOption.cls | 4 + .../ConnectApi/CommerceSearchIndex.cls | 19 + .../CommerceSearchIndexBuildType.cls | 4 + .../CommerceSearchIndexCollection.cls | 10 + .../CommerceSearchIndexCreationType.cls | 4 + .../ConnectApi/CommerceSearchIndexLog.cls | 17 + .../CommerceSearchIndexLogCollection.cls | 10 + .../ConnectApi/CommerceSearchIndexStatus.cls | 5 + .../ConnectApi/CommerceSearchIndexUsage.cls | 4 + .../ConnectApi/CommerceSearchSettings.cls | 3 + .../CommerceSearchSortRuleDirection.cls | 5 + .../ConnectApi/CommerceSearchSortRuleType.cls | 7 + .../CommerceSearchTopProductType.cls | 3 + .../ConnectApi/CommerceStorePricing.cls | 3 + .../ConnectApi/CommerceWishlist.cls | 3 + .../ConnectApi/Communities.cls | 8 + .../ConnectApi/Community.cls | 32 + .../ConnectApi/CommunityFlagReasonType.cls | 6 + .../ConnectApi/CommunityFlagType.cls | 4 + .../ConnectApi/CommunityFlagVisibility.cls | 4 + .../ConnectApi/CommunityLanguage.cls | 11 + .../ConnectApi/CommunityModeration.cls | 35 + .../ConnectApi/CommunityPage.cls | 11 + .../ConnectApi/CommunityPublish.cls | 14 + .../ConnectApi/CommunityStatus.cls | 5 + .../ConnectApi/CommunitySummary.cls | 11 + .../ConnectApi/CommunityTemplate.cls | 11 + .../ConnectApi/CommunityTemplates.cls | 11 + .../ConnectApi/CompanyVerifySummary.cls | 9 + .../ConnectApi/ComplaintInfoWrapper.cls | 20 + .../ComplaintMgmtOutputRepresentation.cls | 12 + ...omplaintMgmtRequestInputRepresentation.cls | 14 + .../ConnectApi/ComplexSegment.cls | 9 + .../ConnectApi/CompoundRecordField.cls | 10 + ...nfirmHeldFOCapacityInputRepresentation.cls | 9 + ...firmHeldFOCapacityOutputRepresentation.cls | 10 + ...ldFOCapacityRequestInputRepresentation.cls | 10 + ...FOCapacityResponseOutputRepresentation.cls | 10 + .../ConnectApi/ConnectApiException.cls | 6 + ...nnectCommerceSearchSortRuleLabelSuffix.cls | 28 + ...ConnectCommerceSearchSortStandardField.cls | 8 + .../ConnectManagedContentChannelType.cls | 6 + .../ConnectManagedContentDeploymentType.cls | 4 + .../ConnectManagedContentMediaType.cls | 5 + .../ConnectManagedContentNodeType.cls | 11 + .../ConnectApi/ConnectSitesPageType.cls | 4 + .../ConnectApi/ConnectStatusCheckType.cls | 4 + .../ConnectApi/ConnectUtilities.cls | 6 + .../ConnectApi/ConnectWaveSortOrderEnum.cls | 4 + .../ConnectApi/Content.cls | 37 + .../ConnectApi/ContentAttachment.cls | 30 + .../ConnectApi/ContentAttachmentInput.cls | 9 + .../ConnectApi/ContentCapability.cls | 37 + .../ConnectApi/ContentCapabilityInput.cls | 12 + .../ConnectApi/ContentDocumentOutput.cls | 10 + .../ConnectApi/ContentHub.cls | 80 + .../ContentHubAllowedItemTypeCollection.cls | 10 + .../ContentHubAuthenticationProtocol.cls | 5 + .../ContentHubDirectoryEntryType.cls | 4 + .../ContentHubExternalItemSharingType.cls | 5 + .../ConnectApi/ContentHubFieldDefinition.cls | 14 + .../ConnectApi/ContentHubFieldValueInput.cls | 10 + .../ConnectApi/ContentHubGroupType.cls | 5 + .../ConnectApi/ContentHubItemInput.cls | 10 + .../ConnectApi/ContentHubItemType.cls | 5 + .../ConnectApi/ContentHubItemTypeDetail.cls | 10 + .../ConnectApi/ContentHubItemTypeSummary.cls | 9 + .../ConnectApi/ContentHubPermission.cls | 12 + .../ContentHubPermissionCollection.cls | 10 + .../ConnectApi/ContentHubPermissionType.cls | 11 + .../ConnectApi/ContentHubProviderType.cls | 11 + .../ConnectApi/ContentHubRepository.cls | 14 + .../ContentHubRepositoryAuthentication.cls | 12 + .../ContentHubRepositoryCollection.cls | 13 + .../ContentHubRepositoryFeatures.cls | 11 + .../ConnectApi/ContentHubStreamSupport.cls | 5 + .../ConnectApi/ContentHubVariableType.cls | 11 + .../ConnectApi/ContentImageFile.cls | 11 + .../ConnectApi/ContentImageFileDetails.cls | 13 + .../ConnectApi/ContextSupertype.cls | 5 + .../ContractInputRepresentation.cls | 12 + .../ContractOutputRepresentation.cls | 10 + .../ConversationApplicationDefinition.cls | 3 + ...icationDefinitionDetailRespresentation.cls | 15 + ...ConversationApplicationIntegrationType.cls | 4 + .../ConversationReasonChannelType.cls | 5 + .../ConversationRuntimeProxyMessageType.cls | 7 + .../ConversationRuntimeProxyMessageWidget.cls | 4 + ...onvertNegativeInvoiceLinesInputRequest.cls | 12 + .../ConvertNegativeInvoiceLinesResult.cls | 12 + .../ConnectApi/CorporateMemberInput.cls | 22 + .../ConnectApi/CorporateMemberOutput.cls | 14 + .../CouponCodeRedemptionCollection.cls | 10 + .../ConnectApi/CouponCodeRedemptionInput.cls | 11 + .../ConnectApi/CouponCodeRedemptionResult.cls | 14 + .../ConnectApi/CreateCredentialAction.cls | 3 + .../CreateCreditMemoInputRepresentation.cls | 9 + .../CreateCreditMemoOutputRepresentation.cls | 10 + ...iceFromChangeOrdersInputRepresentation.cls | 10 + ...cesFromChangeOrdersInputRepresentation.cls | 9 + ...esFromChangeOrdersOutputRepresentation.cls | 10 + ...OrderPaymentSummaryInputRepresentation.cls | 11 + ...rderPaymentSummaryOutputRepresentation.cls | 10 + .../ConnectApi/CreatePatientResult.cls | 12 + .../CreateRevenueElementRequest.cls | 9 + .../CreateServiceAppointmentInput.cls | 8 + .../CreateServiceAppointmentResult.cls | 12 + .../ConnectApi/Credential.cls | 16 + .../CredentialAuthenticationProtocol.cls | 5 + ...redentialAuthenticationProtocolVariant.cls | 5 + .../CredentialAuthenticationStatus.cls | 5 + .../ConnectApi/CredentialCustomHeader.cls | 13 + .../CredentialCustomHeaderInput.cls | 12 + .../ConnectApi/CredentialInput.cls | 14 + .../ConnectApi/CredentialPrincipalType.cls | 5 + .../ConnectApi/CredentialValue.cls | 12 + .../ConnectApi/CredentialValueInput.cls | 11 + .../ConnectApi/CreditInvoiceInputRequest.cls | 15 + .../ConnectApi/CreditInvoiceInvoiceLine.cls | 15 + .../CreditInvoiceInvoiceLineTax.cls | 12 + .../CreditMemoAddressesInputRequest.cls | 10 + .../ConnectApi/CreditMemoApply.cls | 6 + .../CreditMemoApplyInputRequest.cls | 10 + .../ConnectApi/CreditMemoBaseInputRequest.cls | 18 + .../ConnectApi/CreditMemoStatus.cls | 7 + .../ConnectApi/CreditMemoTypeEnum.cls | 3 + .../CreditMemoUnapplyInputRequest.cls | 11 + .../ConnectApi/CurrencyRecordField.cls | 9 + .../ConnectApi/CustomListAudienceCriteria.cls | 11 + .../CustomListAudienceCriteriaInput.cls | 10 + ...cleDetectionInputRequestRepresentation.cls | 12 + .../CycleDetectionOutputRepresentation.cls | 12 + .../ConnectApi/DaoSourceObjectType.cls | 4 + .../DashboardComponentAttachment.cls | 19 + .../ConnectApi/DashboardComponentSnapshot.cls | 19 + .../DashboardComponentSnapshotCapability.cls | 10 + .../ConnectApi/DataActionStatusEnum.cls | 6 + .../DataActionStatusErrorCodeEnum.cls | 5 + .../ConnectApi/DataActionTargetStatusEnum.cls | 6 + .../DataActionTargetStatusErrorCodeEnum.cls | 5 + .../ConnectApi/DataActionTargetTypeEnum.cls | 5 + .../DataEnrichmentFilterOperationEnum.cls | 8 + .../ConnectApi/DataEnrichmentStatusEnum.cls | 6 + .../DataKitBundleConnectorTypeEnum.cls | 4 + .../ConnectApi/DataKitComponentTypeEnum.cls | 4 + .../ConnectApi/DataProviderSchema.cls | 10 + .../ConnectApi/Datacloud.cls | 3 + .../ConnectApi/DatacloudCompanies.cls | 14 + .../ConnectApi/DatacloudCompany.cls | 32 + .../ConnectApi/DatacloudCompanyIdentifier.cls | 5 + .../ConnectApi/DatacloudContact.cls | 23 + .../ConnectApi/DatacloudContacts.cls | 14 + .../ConnectApi/DatacloudImport.cls | 15 + .../ConnectApi/DatacloudImportStatus.cls | 11 + .../ConnectApi/DatacloudImportStatusType.cls | 5 + .../ConnectApi/DatacloudInternalCompany.cls | 15 + .../ConnectApi/DatacloudOrder.cls | 14 + .../ConnectApi/DatacloudOrderInput.cls | 11 + .../ConnectApi/DatacloudPurchaseUsage.cls | 13 + .../ConnectApi/DatacloudUserType.cls | 4 + .../ConnectApi/DateRecordField.cls | 10 + .../ConnectApi/DecisionTable.cls | 3 + .../DecisionTableCollectOperator.cls | 7 + .../ConnectApi/DecisionTableCondition.cls | 12 + .../ConnectApi/DecisionTableConditionType.cls | 5 + .../ConnectApi/DecisionTableDataType.cls | 8 + .../DecisionTableDefinitionOutput.cls | 24 + .../ConnectApi/DecisionTableHitPolicy.cls | 9 + .../ConnectApi/DecisionTableInput.cls | 10 + .../ConnectApi/DecisionTableOperator.cls | 12 + .../DecisionTableOperatorString.cls | 12 + .../ConnectApi/DecisionTableOutcome.cls | 14 + .../ConnectApi/DecisionTableOutcomeItem.cls | 10 + .../ConnectApi/DecisionTableOutput.cls | 13 + .../DecisionTableParameterInput.cls | 20 + .../DecisionTableParameterOutput.cls | 21 + .../ConnectApi/DecisionTableParameterType.cls | 4 + .../ConnectApi/DecisionTableSortType.cls | 7 + .../DecisionTableSourceConditionValueType.cls | 7 + .../DecisionTableSourceCriteriaInput.cls | 13 + .../DecisionTableSourceCriteriaOutput.cls | 14 + .../ConnectApi/DecisionTableSourceType.cls | 5 + .../ConnectApi/DecisionTableStatus.cls | 6 + .../ConnectApi/DecisionTableUsageType.cls | 4 + .../ConnectApi/DeleteIntent.cls | 10 + .../ConnectApi/DeleteIntents.cls | 10 + .../ConnectApi/DeleteSocialPostIntent.cls | 11 + .../DependencyDetailOutputRepresentation.cls | 14 + .../ConnectApi/DeploymentActionEnum.cls | 5 + .../DetailedProjectedRebateAmountCalc.cls | 18 + .../ConnectApi/DigestJobRepresentation.cls | 10 + .../ConnectApi/DigestPeriod.cls | 4 + .../DigitalCertificateRepresentation.cls | 11 + .../ConnectApi/DirectMessageCapability.cls | 13 + .../DirectMessageCapabilityInput.cls | 11 + .../DirectMessageMemberActivity.cls | 13 + .../DirectMessageMemberActivityPage.cls | 14 + .../ConnectApi/DirectMessageMemberPage.cls | 14 + .../ConnectApi/DispenserAddressOutput.cls | 14 + ...istanceCalculationOutputRepresentation.cls | 12 + .../ConnectApi/DistinctFacetValue.cls | 12 + .../DistinctValueRefinementInput.cls | 9 + .../ConnectApi/DistinctValueSearchFacet.cls | 10 + ...utePickedQuantitiesInputRepresentation.cls | 11 + ...tePickedQuantitiesOutputRepresentation.cls | 13 + .../DistributeToOrdersInputRepresentation.cls | 10 + .../ConnectApi/DocumentInfoAttributes.cls | 11 + .../DocumentInfoAttributesWrapper.cls | 11 + .../ConnectApi/DownVoteSummary.cls | 9 + .../ConnectApi/DraftEinsteinResponse.cls | 10 + .../ConnectApi/EUProgram.cls | 3 + .../ConnectApi/EditCapability.cls | 15 + .../EffectiveMappingRepresentation.cls | 10 + .../ConnectApi/EinsteinAnswerType.cls | 4 + .../EinsteinLLMEmbeddingItemOutput.cls | 11 + .../EinsteinLLMEmbeddingsOutput.cls | 11 + .../EinsteinLLMGenerationItemOutput.cls | 11 + .../EinsteinLLMGenerationsOutput.cls | 13 + .../ConnectApi/EinsteinLlm.cls | 3 + .../EinsteinLlmAdditionalConfigInput.cls | 18 + ...teinLlmEmbeddingsAdditionalConfigInput.cls | 12 + .../ConnectApi/EinsteinLlmEmbeddingsInput.cls | 11 + .../EinsteinLlmGenerationsInput.cls | 11 + .../ConnectApi/EinsteinRecommendation.cls | 21 + .../EinsteinRecommendationValue.cls | 15 + .../ConnectApi/EinsteinRecommendations.cls | 11 + .../EinsteinResponseSpeakerType.cls | 4 + .../ConnectApi/EinsteinResponseType.cls | 3 + .../ConnectApi/EinsteinUser.cls | 14 + .../ConnectApi/EinsteinUsers.cls | 10 + .../EligibleProgramRebateTypesOutput.cls | 14 + .../ConnectApi/EmailAddress.cls | 12 + .../ConnectApi/EmailAttachment.cls | 12 + .../EmailMergeFieldCollectionInfo.cls | 10 + .../ConnectApi/EmailMergeFieldInfo.cls | 10 + .../ConnectApi/EmailMergeFieldService.cls | 5 + .../ConnectApi/EmailMessage.cls | 14 + .../ConnectApi/EmailMessageCapability.cls | 23 + .../ConnectApi/EmailMessageDirection.cls | 4 + .../ConnectApi/EmailMessageStatus.cls | 8 + .../StandardApexLibrary/ConnectApi/Emoji.cls | 12 + .../ConnectApi/EmojiCollection.cls | 10 + .../ConnectApi/EmployeeProfiles.cls | 16 + .../EngagementAttendeeCreateInput.cls | 20 + .../EngagementAttendeeCreateOutput.cls | 11 + .../EngagementAttendeeDetailsOutput.cls | 21 + .../EngagementAttendeeFetchOutput.cls | 11 + .../EngagementCustomFieldsInput.cls | 10 + .../EngagementCustomFieldsOutput.cls | 11 + .../ConnectApi/EngagementDetailsOutput.cls | 27 + .../EngagementInteractionCreateInput.cls | 27 + .../EngagementInteractionDetailsOutput.cls | 30 + .../EngagementInteractionFetchOutput.cls | 11 + .../EngagementInteractionUpdateInput.cls | 25 + .../ConnectApi/EngagementStatusOutput.cls | 11 + .../ConnectApi/EngagementTopicCreateInput.cls | 21 + .../EngagementTopicCreateOutput.cls | 11 + .../EngagementTopicDetailsOutput.cls | 20 + .../ConnectApi/EngagementTopicFetchOutput.cls | 11 + .../ConnectApi/EngagementTopicOutput.cls | 22 + .../ConnectApi/Engagementcontainerconnect.cls | 3 + .../ConnectApi/EngagementsCreateInput.cls | 9 + .../ConnectApi/EngagementsCreateOutput.cls | 11 + .../ConnectApi/EngagementsFetchOutput.cls | 11 + .../ConnectApi/EngagementsIdCreateOutput.cls | 12 + .../ConnectApi/EngagementsIdOutput.cls | 10 + .../ConnectApi/EngagementsUpdateInput.cls | 11 + .../ConnectApi/EngagementsUpdateOutput.cls | 13 + .../ConnectApi/EnhancedLinkCapability.cls | 14 + .../ConnectApi/EnrollmentChannelResource.cls | 12 + .../EnsureFundsAsyncInputRepresentation.cls | 9 + .../EnsureFundsAsyncOutputRepresentation.cls | 9 + .../EnsureRefundsAsyncInputRepresentation.cls | 13 + ...EnsureRefundsAsyncOutputRepresentation.cls | 9 + .../ConnectApi/EntityLabel.cls | 11 + .../ConnectApi/EntityLinkSegment.cls | 11 + .../ConnectApi/EntityLinkSegmentInput.cls | 9 + .../ConnectApi/EntityRecommendation.cls | 12 + .../ConnectApi/EntityResult.cls | 14 + .../ConnectApi/ErrorRepresentation.cls | 15 + .../ConnectApi/ErrorResponse.cls | 11 + .../ErrorResponseRepresentation.cls | 11 + .../ConnectApi/ErrorsOutputRepresentation.cls | 12 + .../ConnectApi/Essentials.cls | 3 + .../EvaluateCallerVideoCallResult.cls | 11 + .../ConnectApi/EventTypeResource.cls | 5 + .../ConnectApi/Example.cls | 10 + .../ExampleEntityInputRepresentation.cls | 13 + .../ExampleEntityRepresentation.cls | 15 + .../ExampleListInputRepresentation.cls | 10 + .../ConnectApi/ExampleListRepresentation.cls | 12 + .../ExampleMapInputRepresentation.cls | 11 + .../ConnectApi/ExampleMapRepresentation.cls | 12 + .../ExampleObjectInputRepresentation.cls | 9 + .../ConnectApi/ExecutionStatus.cls | 5 + .../ExplainabilityActionLogCreate.cls | 11 + .../ExplainabilityActionLogDetail.cls | 20 + .../ExplainabilityActionLogInput.cls | 17 + .../ExplainabilityActionLogSortEnum.cls | 4 + .../ConnectApi/ExplainabilityActionLogs.cls | 11 + .../ConnectApi/ExplainabilityLogDetail.cls | 16 + .../ConnectApi/ExplainabilityLogs.cls | 11 + .../ConnectApi/ExplainabilityService.cls | 3 + .../ConnectApi/ExpressionDataType.cls | 8 + ...SetVersionDependencyEnumRepresentation.cls | 5 + ...tVersionDependencyOutputRepresentation.cls | 11 + .../ConnectApi/ExtendedFieldInput.cls | 10 + .../ConnectApi/Extension.cls | 14 + .../ConnectApi/ExtensionDefinition.cls | 20 + .../ConnectApi/ExtensionDefinitions.cls | 15 + .../ConnectApi/ExtensionInformationType.cls | 3 + .../ConnectApi/ExtensionInput.cls | 12 + ...xtensionOutputCollectionRepresentation.cls | 11 + .../ExtensionOutputRepresentation.cls | 16 + .../ConnectApi/ExtensionsCapability.cls | 10 + .../ConnectApi/ExtensionsCapabilityInput.cls | 10 + .../ConnectApi/ExternalCredential.cls | 20 + .../ExternalCredentialAuthParameterName.cls | 10 + .../ConnectApi/ExternalCredentialInput.cls | 15 + .../ConnectApi/ExternalCredentialList.cls | 10 + .../ExternalCredentialParameter.cls | 14 + .../ExternalCredentialParameterInput.cls | 13 + .../ExternalCredentialParameterType.cls | 9 + .../ExternalCredentialPrincipal.cls | 16 + .../ExternalCredentialPrincipalAccess.cls | 12 + .../ExternalCredentialPrincipalAccessType.cls | 5 + .../ExternalCredentialPrincipalInput.cls | 13 + ...ExternalDocCreationInputRepresentation.cls | 12 + ...xternalDocCreationOutputRepresentation.cls | 13 + .../ConnectApi/ExternalDocument.cls | 3 + .../ExternalDocumentOutputRepresentation.cls | 15 + .../ConnectApi/ExternalEmailService.cls | 5 + .../ExternalFilePermissionInformation.cls | 14 + .../ConnectApi/ExternalManagedAccount.cls | 3 + .../ExternalManagedAccountAddressOutput.cls | 17 + ...ExternalManagedAccountCollectionOutput.cls | 11 + .../ExternalManagedAccountOutput.cls | 14 + .../ConnectApi/FacetValue.cls | 9 + ...atureExtractionParametersFieldMapValue.cls | 9 + .../FeatureValidationUseCaseEnum.cls | 3 + .../ConnectApi/Features.cls | 57 + .../StandardApexLibrary/ConnectApi/Feed.cls | 19 + .../ConnectApi/FeedBody.cls | 9 + .../ConnectApi/FeedCommentSortOrder.cls | 5 + .../ConnectApi/FeedDensity.cls | 4 + .../ConnectApi/FeedDirectory.cls | 11 + .../ConnectApi/FeedDirectoryItem.cls | 15 + .../ConnectApi/FeedElement.cls | 18 + .../ConnectApi/FeedElementCapabilities.cls | 46 + .../FeedElementCapabilitiesInput.cls | 21 + .../ConnectApi/FeedElementCapability.cls | 8 + .../ConnectApi/FeedElementCapabilityInput.cls | 7 + .../ConnectApi/FeedElementCapabilityType.cls | 41 + .../ConnectApi/FeedElementInput.cls | 10 + .../ConnectApi/FeedElementPage.cls | 19 + .../ConnectApi/FeedElementType.cls | 5 + .../ConnectApi/FeedEnabledEntity.cls | 15 + .../ConnectApi/FeedEntityIsEditable.cls | 12 + .../FeedEntityNotAvailableSummary.cls | 9 + .../ConnectApi/FeedEntityReadSummary.cls | 9 + .../ConnectApi/FeedEntityShareCapability.cls | 10 + .../FeedEntityShareCapabilityInput.cls | 9 + .../ConnectApi/FeedEntityStatus.cls | 5 + .../ConnectApi/FeedEntitySummary.cls | 17 + .../ConnectApi/FeedFavorite.cls | 20 + .../ConnectApi/FeedFavoriteType.cls | 5 + .../ConnectApi/FeedFavorites.cls | 11 + .../ConnectApi/FeedFilter.cls | 13 + .../ConnectApi/FeedItem.cls | 31 + .../ConnectApi/FeedItemAttachment.cls | 9 + .../ConnectApi/FeedItemAttachmentInput.cls | 7 + .../ConnectApi/FeedItemAttachmentType.cls | 14 + .../ConnectApi/FeedItemInput.cls | 14 + .../ConnectApi/FeedItemPage.cls | 18 + .../ConnectApi/FeedItemSummary.cls | 16 + .../ConnectApi/FeedItemTopicPage.cls | 11 + .../ConnectApi/FeedItemType.cls | 32 + .../ConnectApi/FeedItemVisibilityType.cls | 4 + .../ConnectApi/FeedModifiedInfo.cls | 12 + .../ConnectApi/FeedPoll.cls | 12 + .../ConnectApi/FeedPollChoice.cls | 14 + .../ConnectApi/FeedPostSummary.cls | 10 + .../ConnectApi/FeedReadStatus.cls | 10 + .../ConnectApi/FeedReadStatusInput.cls | 9 + .../ConnectApi/FeedReadSummary.cls | 11 + .../ConnectApi/FeedSortOrder.cls | 7 + .../ConnectApi/FeedType.cls | 22 + .../ConnectApi/FieldChangeNameSegment.cls | 9 + .../ConnectApi/FieldChangeSegment.cls | 9 + .../ConnectApi/FieldChangeValueSegment.cls | 11 + .../ConnectApi/FieldChangeValueType.cls | 4 + .../ConnectApi/FieldClassificationSetting.cls | 12 + .../ConnectApi/FieldService.cls | 3 + .../ConnectApi/FieldValue.cls | 10 + .../ConnectApi/FieldValueInput.cls | 10 + .../FieldValueOutputRepresentation.cls | 11 + .../StandardApexLibrary/ConnectApi/File.cls | 41 + .../ConnectApi/FileAsset.cls | 17 + .../ConnectApi/FileIdInput.cls | 10 + .../ConnectApi/FilePreview.cls | 14 + .../ConnectApi/FilePreviewCollection.cls | 13 + .../ConnectApi/FilePreviewFormat.cls | 8 + .../ConnectApi/FilePreviewStatus.cls | 6 + .../ConnectApi/FilePreviewUrl.cls | 11 + .../ConnectApi/FilePublishStatus.cls | 5 + .../ConnectApi/FileSharingOption.cls | 4 + .../ConnectApi/FileSharingPrivacy.cls | 4 + .../ConnectApi/FileSharingType.cls | 7 + .../ConnectApi/FileStat.cls | 11 + .../ConnectApi/FileStatsCollection.cls | 11 + .../ConnectApi/FileStatsType.cls | 4 + .../ConnectApi/FileSummary.cls | 9 + .../ConnectApi/FileText.cls | 13 + .../ConnectApi/FilesCapability.cls | 10 + .../ConnectApi/FilesCapabilityInput.cls | 9 + .../ConnectApi/FindAppointmentSlotResult.cls | 13 + ...SplitsGroupUsingOCIInputRepresentation.cls | 11 + ...tesWithFewestSplitsInputRepresentation.cls | 11 + ...esWithFewestSplitsOutputRepresentation.cls | 10 + ...ewestSplitsUsingOCIInputRepresentation.cls | 9 + ...tSplitsUsingOCIItemInputRepresentation.cls | 11 + ...westSplitsUsingOCIOutputRepresentation.cls | 10 + ...plitsWithInventoryOutputRepresentation.cls | 11 + .../ConnectApi/FirstReviewerOutput.cls | 10 + .../ConnectApi/FolderItemType.cls | 4 + .../ConnectApi/FollowIntents.cls | 10 + .../ConnectApi/FollowSocialPersonaIntent.cls | 11 + .../ConnectApi/FollowerPage.cls | 14 + .../ConnectApi/FollowingCounts.cls | 12 + .../ConnectApi/FollowingPage.cls | 14 + .../StandardApexLibrary/ConnectApi/Form.cls | 13 + .../ConnectApi/FormField.cls | 11 + .../ConnectApi/FormFieldInput.cls | 10 + .../ConnectApi/FormFieldType.cls | 7 + .../ConnectApi/FormFields.cls | 10 + .../ConnectApi/FormInput.cls | 11 + .../ConnectApi/FormSubmission.cls | 10 + .../ConnectApi/FormSubmissionFieldInput.cls | 10 + .../ConnectApi/FormSubmissionInput.cls | 9 + .../ConnectApi/FormulaFilterType.cls | 5 + .../ConnectApi/FormulaScope.cls | 13 + .../FulfillmentGroupInputRepresentation.cls | 12 + .../FulfillmentGroupOutputRepresentation.cls | 16 + .../ConnectApi/FulfillmentOrder.cls | 3 + ...derCancelLineItemsOutputRepresentation.cls | 9 + .../FulfillmentOrderInputRepresentation.cls | 12 + ...illmentOrderInvoiceInputRepresentation.cls | 8 + ...llmentOrderInvoiceOutputRepresentation.cls | 10 + ...llmentOrderLineItemInputRepresentation.cls | 10 + ...erLineItemsToCancelInputRepresentation.cls | 9 + .../FulfillmentOrderOutputRepresentation.cls | 10 + .../ConnectApi/GatewayLogResponse.cls | 13 + .../ConnectApi/GeneralPractitionerOutput.cls | 10 + ...rateBenefitSessionOutputRepresentation.cls | 11 + .../ConnectApi/GenericBundleCapability.cls | 9 + .../ConnectApi/GenericFeedElement.cls | 9 + .../ConnectApi/GenericObject.cls | 9 + .../ConnectApi/GenericObjectOutput.cls | 10 + .../ConnectApi/GenericObjectWrapper.cls | 9 + .../GenericPricingResponseRepresentation.cls | 11 + .../ConnectApi/GetBlockchainConfigOutput.cls | 10 + .../ConnectApi/GetContractValueInput.cls | 12 + .../ConnectApi/GetContractValueOutput.cls | 10 + ...etFOCapacityValuesOutputRepresentation.cls | 10 + ...pacityValuesRequestInputRepresentation.cls | 9 + .../ConnectApi/GetFunctionValueInput.cls | 14 + .../ConnectApi/GetFunctionValueOutput.cls | 10 + .../ConnectApi/GetSlotStatusInput.cls | 18 + ...tDesignationRecordOutputRepresentation.cls | 11 + ...efaultDesignationsOutputRepresentation.cls | 10 + ...tDesignationRecordOutputRepresentation.cls | 11 + ...efaultDesignationsOutputRepresentation.cls | 10 + .../GiftCommitmentOutputRepresentation.cls | 10 + .../ConnectApi/GiftCommitmenteDetails.cls | 17 + .../ConnectApi/GlobalInfluence.cls | 11 + .../ConnectApi/GroupArchiveStatus.cls | 5 + .../ConnectApi/GroupChatterSettings.cls | 10 + .../ConnectApi/GroupEmailFrequency.cls | 7 + .../ConnectApi/GroupInformation.cls | 11 + .../ConnectApi/GroupInformationInput.cls | 10 + .../ConnectApi/GroupMember.cls | 14 + .../GroupMemberAssociationCycleDetector.cls | 3 + .../ConnectApi/GroupMemberPage.cls | 15 + .../ConnectApi/GroupMembershipRequest.cls | 17 + .../GroupMembershipRequestStatus.cls | 5 + .../ConnectApi/GroupMembershipRequests.cls | 11 + .../ConnectApi/GroupMembershipType.cls | 7 + .../ConnectApi/GroupRecord.cls | 12 + .../ConnectApi/GroupRecordInput.cls | 9 + .../ConnectApi/GroupRecordPage.cls | 14 + .../GroupViralInvitationsStatus.cls | 9 + .../ConnectApi/GroupVisibilityType.cls | 5 + .../ConnectApi/HCAddressInput.cls | 15 + .../ConnectApi/HashtagSegment.cls | 12 + .../ConnectApi/HashtagSegmentInput.cls | 9 + .../ConnectApi/HideSocialPostIntent.cls | 11 + .../HoldFOCapacityInputRepresentation.cls | 9 + .../HoldFOCapacityOutputRepresentation.cls | 10 + ...ldFOCapacityRequestInputRepresentation.cls | 10 + ...FOCapacityResponseOutputRepresentation.cls | 10 + .../ConnectApi/HsrCommerceCatalog.cls | 3 + .../ConnectApi/HttpRequestMethod.cls | 8 + .../IComplaintMgmtConnectFamily.cls | 3 + .../IServiceProcessConnectFamily.cls | 3 + .../StandardApexLibrary/ConnectApi/Icon.cls | 12 + .../IdentityVerfFormDisplayRecord.cls | 11 + .../ConnectApi/IdentityVerfFormFieldInput.cls | 11 + .../IdentityVerfFormFieldListOutput.cls | 10 + .../IdentityVerfFormFieldOutput.cls | 12 + .../ConnectApi/IdentityVerfFormInput.cls | 11 + .../ConnectApi/IdentityVerfFormOutput.cls | 16 + .../ConnectApi/Identityverification.cls | 3 + .../ConnectApi/IndividualMemberInput.cls | 23 + .../ConnectApi/IndividualMemberOutput.cls | 14 + .../IndustriesFundraisingOperationsFamily.cls | 3 + .../ConnectApi/IndustriesPricingResponse.cls | 12 + .../ConnectApi/IngestionEventInputWrapper.cls | 9 + .../IngestionEventOutputWrapper.cls | 12 + .../ConnectApi/InlineImageSegment.cls | 14 + .../ConnectApi/InlineImageSegmentInput.cls | 10 + ...nerEnsureFundsAsyncInputRepresentation.cls | 10 + .../ConnectApi/Insight.cls | 11 + .../ConnectApi/InsightsComparisonEnum.cls | 5 + .../ConnectApi/InsightsResultCategory.cls | 4 + .../ConnectApi/InsightsResultTypeEnum.cls | 4 + .../ConnectApi/InsightsTypeEnum.cls | 4 + .../InteractionCalculationProcedures.cls | 3 + .../ConnectApi/InteractionsCapability.cls | 10 + .../ConnectApi/InternalTestUtilities.cls | 3 + .../ConnectApi/InvalidIds.cls | 10 + ...yCheckAvailabilityOutputRepresentation.cls | 11 + .../InventoryLevelsOutputRepresentation.cls | 12 + .../InventoryOutputRepresentation.cls | 12 + ...tCheckAvailabilityOutputRepresentation.cls | 12 + .../InventoryProductOutputRepresentation.cls | 13 + ...rycheckavailabilityinputrepresentation.cls | 3 + .../ConnectApi/Invitation.cls | 12 + .../ConnectApi/Invitations.cls | 10 + .../ConnectApi/InviteInput.cls | 10 + ...vocableInternalTestInputRepresentation.cls | 10 + ...eInternalTestNestedInputRepresentation.cls | 9 + ...InternalTestNestedOutputRepresentation.cls | 12 + .../InvocableInternalTestNestedWrapper.cls | 3 + ...ocableInternalTestOutputRepresentation.cls | 10 + .../InvocableInternalTestWrapper.cls | 3 + .../ConnectApi/InvoiceAction.cls | 4 + .../ConnectApi/InvoiceBillingTermUnitEnum.cls | 5 + .../InvoiceListOutputRepresentation.cls | 10 + .../InvoiceOutputRepresentation.cls | 14 + .../ConnectApi/InvoiceStatus.cls | 6 + .../ConnectApi/InvoiceStatusEnum.cls | 4 + .../InvoiceToPayInputRepresentation.cls | 9 + .../ItemQuantityInputRepresentation.cls | 10 + .../ItemQuantityOutputRepresentation.cls | 12 + .../ConnectApi/JoinVideoCallResult.cls | 13 + .../ConnectApi/JournalStatusResource.cls | 6 + .../ConnectApi/JwsVerifierInput.cls | 11 + .../ConnectApi/JwsVerifierOutput.cls | 13 + .../ConnectApi/Knowledge.cls | 3 + .../ConnectApi/KnowledgeArticleVersion.cls | 16 + .../KnowledgeArticleVersionCollection.cls | 10 + .../ConnectApi/KnowledgeMigration.cls | 11 + .../ConnectApi/LabeledRecordField.cls | 10 + .../ConnectApi/Language.cls | 11 + .../ConnectApi/LeadInput.cls | 14 + .../ConnectApi/LeaveVideoCallResult.cls | 11 + .../LightningExtensionInformation.cls | 13 + .../ConnectApi/LightningScheduler.cls | 8 + .../ConnectApi/LikeIntent.cls | 11 + .../ConnectApi/LikeIntents.cls | 10 + .../ConnectApi/LikeSocialPostIntent.cls | 11 + .../ConnectApi/LikeSummary.cls | 10 + .../ConnectApi/LineItemResponse.cls | 17 + .../ConnectApi/LinkAttachment.cls | 11 + .../ConnectApi/LinkAttachmentInput.cls | 10 + .../ConnectApi/LinkCapability.cls | 11 + .../ConnectApi/LinkCapabilityInput.cls | 10 + .../ConnectApi/LinkMetadata.cls | 20 + .../ConnectApi/LinkMetadataCollection.cls | 10 + .../ConnectApi/LinkMetadataInput.cls | 9 + .../ConnectApi/LinkMetadataSource.cls | 4 + .../ConnectApi/LinkMetadataType.cls | 9 + .../ConnectApi/LinkSegment.cls | 10 + .../ConnectApi/LinkSegmentInput.cls | 9 + .../ConnectApi/LiteralJson.cls | 10 + ...ocationAvailabilityInputRepresentation.cls | 11 + .../LocationCapacityOutputRepresentation.cls | 14 + ...nCheckAvailabilityOutputRepresentation.cls | 11 + ...pCheckAvailabilityOutputRepresentation.cls | 11 + ...ocationGroupLevelsOutputRepresentation.cls | 11 + .../LocationInputRepresentation.cls | 11 + .../LocationLevelsOutputRepresentation.cls | 11 + .../LocationOutputRepresentation.cls | 11 + ...oncheckavailabilityinputrepresentation.cls | 3 + ...upcheckavailabilityinputrepresentation.cls | 3 + .../ConnectApi/LoyaltyConnect.cls | 3 + .../ConnectApi/LoyaltyManagementConnect.cls | 3 + .../ConnectApi/LoyaltyVoucherConnect.cls | 3 + .../ConnectApi/MLDomainTraining.cls | 3 + .../ConnectApi/MaintenanceInfo.cls | 18 + .../ConnectApi/MaintenanceType.cls | 6 + .../ConnectApi/ManagedContent.cls | 25 + ...dContentActionCollectionRepresentation.cls | 10 + .../ManagedContentActionRepresentation.cls | 14 + .../ConnectApi/ManagedContentAssociations.cls | 10 + .../ConnectApi/ManagedContentBodyInput.cls | 9 + .../ConnectApi/ManagedContentChannel.cls | 19 + .../ManagedContentChannelCollection.cls | 14 + .../ManagedContentChannelDetail.cls | 16 + .../ManagedContentChannelSummary.cls | 13 + .../ManagedContentChannelTargetSummary.cls | 10 + ...dContentCollectionDetailRepresentation.cls | 19 + .../ManagedContentCollectionItem.cls | 13 + ...anagedContentCollectionItemTypeSummary.cls | 11 + .../ManagedContentCollectionItems.cls | 19 + .../ManagedContentCollectionMetadata.cls | 19 + ...agedContentCollectionMetadataAuthoring.cls | 18 + .../ManagedContentDateAndTimeNodeValue.cls | 11 + .../ManagedContentDateNodeValue.cls | 10 + .../ManagedContentDeliveryDocument.cls | 13 + ...nagedContentDeliveryDocumentCollection.cls | 16 + .../ManagedContentDeliveryDocumentSummary.cls | 9 + .../ConnectApi/ManagedContentInput.cls | 10 + .../ManagedContentLanguageSummary.cls | 11 + .../ManagedContentMediaNodeValue.cls | 20 + .../ManagedContentMediaSourceNodeValue.cls | 17 + .../ConnectApi/ManagedContentNodeType.cls | 12 + .../ConnectApi/ManagedContentNodeValue.cls | 9 + .../ConnectApi/ManagedContentOutput.cls | 12 + .../ConnectApi/ManagedContentReference.cls | 11 + .../ManagedContentReferenceSummary.cls | 10 + .../ConnectApi/ManagedContentSpace.cls | 18 + ...edContentSpaceCollectionRepresentation.cls | 10 + .../ConnectApi/ManagedContentStatus.cls | 7 + .../ManagedContentTextNodeValue.cls | 10 + .../ConnectApi/ManagedContentType.cls | 12 + .../ConnectApi/ManagedContentTypeSummary.cls | 11 + .../ConnectApi/ManagedContentVersion.cls | 20 + .../ManagedContentVersionCollection.cls | 15 + .../ConnectApi/ManagedContentVersionInput.cls | 15 + .../ManagedContentVersionOutput.cls | 27 + .../ConnectApi/ManagedSocialAccount.cls | 9 + .../ConnectApi/ManagedSocialAccountStatus.cls | 4 + .../ConnectApi/ManagedSocialAccounts.cls | 10 + .../ConnectApi/ManagedTopic.cls | 15 + .../ConnectApi/ManagedTopicCollection.cls | 12 + .../ManagedTopicPositionCollectionInput.cls | 9 + .../ConnectApi/ManagedTopicPositionInput.cls | 10 + .../ConnectApi/ManagedTopicType.cls | 5 + .../ConnectApi/ManagedTopics.cls | 18 + .../ConnectApi/Managedcontentdelivery.cls | 3 + .../MappingOutputCollectionRepresentation.cls | 11 + .../MappingOutputRepresentation.cls | 13 + .../ConnectApi/MarketingIntegration.cls | 7 + .../ConnectApi/MarkupBeginSegment.cls | 13 + .../ConnectApi/MarkupBeginSegmentInput.cls | 11 + .../ConnectApi/MarkupEndSegment.cls | 11 + .../ConnectApi/MarkupEndSegmentInput.cls | 9 + .../ConnectApi/MarkupType.cls | 12 + .../ConnectApi/MatchType.cls | 5 + .../ConnectApi/MediaReference.cls | 11 + .../ConnectApi/MediaReferenceCapability.cls | 10 + .../ConnectApi/MedicalDirectorOutput.cls | 10 + .../ConnectApi/MemberAccountInput.cls | 13 + .../ConnectApi/MemberAccountOutput.cls | 11 + .../ConnectApi/MemberBenefitOutput.cls | 20 + .../ConnectApi/MemberBenefitsOutput.cls | 10 + .../ConnectApi/MemberContactInput.cls | 13 + .../ConnectApi/MemberContactOutput.cls | 13 + .../ConnectApi/MemberCurrencyOutput.cls | 29 + .../ConnectApi/MemberDetailsOutput.cls | 33 + .../ConnectApi/MemberTierOutput.cls | 21 + .../ConnectApi/MemberVouchersSortField.cls | 5 + .../ConnectApi/MemberVouchersSortOrder.cls | 4 + .../ConnectApi/MentionCompletion.cls | 16 + .../ConnectApi/MentionCompletionPage.cls | 13 + .../ConnectApi/MentionCompletionType.cls | 5 + .../ConnectApi/MentionSegment.cls | 13 + .../ConnectApi/MentionSegmentInput.cls | 10 + .../ConnectApi/MentionValidation.cls | 11 + .../ConnectApi/MentionValidationStatus.cls | 5 + .../ConnectApi/MentionValidations.cls | 11 + .../ConnectApi/Mentions.cls | 9 + .../ConnectApi/MessageBody.cls | 9 + .../ConnectApi/MessageBodyInput.cls | 9 + .../ConnectApi/MessageSegment.cls | 10 + .../ConnectApi/MessageSegmentInput.cls | 7 + .../ConnectApi/MessageSegmentType.cls | 15 + .../ConnectApi/MetricSpanEnum.cls | 6 + .../ConnectApi/Missions.cls | 9 + .../ConnectApi/MlDomainTrainingErrorType.cls | 9 + .../MlDomainTrainingInfoRepresentation.cls | 12 + .../MlDomainTrainingRepresentation.cls | 11 + .../ConnectApi/MobilePublisherOutput.cls | 9 + .../ConnectApi/ModelFeature.cls | 12 + .../ConnectApi/ModerationCapability.cls | 10 + .../ConnectApi/ModerationFlagItemDetail.cls | 15 + .../ConnectApi/ModerationFlags.cls | 13 + .../ConnectApi/ModerationFlagsCollection.cls | 15 + .../ConnectApi/ModifyShiftResult.cls | 10 + .../ConnectApi/MoreChangesSegment.cls | 11 + .../StandardApexLibrary/ConnectApi/Motif.cls | 14 + .../MultipleAsyncOutputRepresentation.cls | 10 + ...pleEnsureFundsAsyncInputRepresentation.cls | 9 + ...pleFulfillmentOrderInputRepresentation.cls | 10 + ...llmentOrderInvoicesInputRepresentation.cls | 9 + ...lmentOrderInvoicesOutputRepresentation.cls | 10 + ...leFulfillmentOrderOutputRepresentation.cls | 10 + .../ConnectApi/MuteCapability.cls | 10 + .../ConnectApi/MuteCapabilityInput.cls | 9 + .../ConnectApi/MuteSummary.cls | 9 + .../ConnectApi/NBAActionParameter.cls | 12 + .../ConnectApi/NBAActionType.cls | 3 + .../ConnectApi/NBAFlowAction.cls | 13 + .../ConnectApi/NBAFlowType.cls | 4 + .../ConnectApi/NBANativeRecommendation.cls | 12 + .../ConnectApi/NBARecommendation.cls | 19 + .../ConnectApi/NBARecommendations.cls | 13 + .../ConnectApi/NBAStrategyInput.cls | 12 + .../ConnectApi/NBATargetType.cls | 3 + .../ConnectApi/NamedCredential.cls | 20 + .../NamedCredentialCalloutOptions.cls | 12 + .../NamedCredentialCalloutOptionsInput.cls | 11 + .../ConnectApi/NamedCredentialInput.cls | 17 + .../ConnectApi/NamedCredentialList.cls | 10 + .../ConnectApi/NamedCredentialParameter.cls | 13 + .../NamedCredentialParameterInput.cls | 13 + .../NamedCredentialParameterType.cls | 4 + .../ConnectApi/NamedCredentialType.cls | 4 + .../ConnectApi/NamedCredentials.cls | 20 + .../ConnectApi/NavigationMenu.cls | 6 + .../ConnectApi/NavigationMenuItem.cls | 15 + .../NavigationMenuItemActionType.cls | 6 + .../NavigationMenuItemCollection.cls | 10 + .../NavigationMenuItemOpenTarget.cls | 4 + .../ConnectApi/NavigationMenuItemType.cls | 12 + .../ConnectApi/NetworkConnection.cls | 13 + .../ConnectApi/NetworkConnectionInput.cls | 10 + .../ConnectApi/NewFileAttachmentInput.cls | 10 + .../ConnectApi/NewUserAudienceCriteria.cls | 10 + .../NewUserAudienceCriteriaInput.cls | 9 + .../ConnectApi/NextBestAction.cls | 12 + .../ConnectApi/NftSettings.cls | 3 + .../ConnectApi/NftSettingsOutput.cls | 14 + .../ConnectApi/NonEntityRecommendation.cls | 11 + .../ConnectApi/NotFoundException.cls | 5 + .../ConnectApi/NotifyAccessResult.cls | 16 + .../ConnectApi/OAuthCredentialAuthUrl.cls | 13 + .../OAuthCredentialAuthUrlInput.cls | 12 + .../OCIBaseOutputRepresentation.cls | 10 + ...CICancelReservationInputRepresentation.cls | 9 + ...ICancelReservationOutputRepresentation.cls | 9 + ...teReservationErrorOutputRepresentation.cls | 11 + ...CICreateReservationInputRepresentation.cls | 15 + ...ICreateReservationOutputRepresentation.cls | 14 + ...teReservationSingleInputRepresentation.cls | 12 + ...eReservationSingleOutputRepresentation.cls | 14 + ...llReservationErrorOutputRepresentation.cls | 12 + ...IFulfillReservationInputRepresentation.cls | 9 + ...FulfillReservationOutputRepresentation.cls | 11 + ...llReservationSingleInputRepresentation.cls | 13 + ...lReservationSingleOutputRepresentation.cls | 14 + ...OCIFutureInventoryOutputRepresentation.cls | 11 + ...ventoryAvailabilityInputRepresentation.cls | 14 + ...entoryAvailabilityOutputRepresentation.cls | 11 + ...OCIInventoryRecordOutputRepresentation.cls | 17 + ...cationAvailabilityOutputRepresentation.cls | 11 + ...nGroupAvailabilityOutputRepresentation.cls | 11 + ...hLocationStructureOutputRepresentation.cls | 10 + ...ionStructureStatusOutputRepresentation.cls | 18 + ...seReservationErrorOutputRepresentation.cls | 12 + ...IReleaseReservationInputRepresentation.cls | 9 + ...ReleaseReservationOutputRepresentation.cls | 11 + ...seReservationSingleInputRepresentation.cls | 14 + ...eReservationSingleOutputRepresentation.cls | 15 + ...erReservationErrorOutputRepresentation.cls | 12 + ...TransferReservationInputRepresentation.cls | 10 + ...ransferReservationOutputRepresentation.cls | 11 + ...erReservationSingleInputRepresentation.cls | 17 + ...rReservationSingleOutputRepresentation.cls | 18 + ...entoryAvailabilityOutputRepresentation.cls | 10 + ...AvailabilityStatusOutputRepresentation.cls | 18 + .../ConnectApi/OauthProviderInfo.cls | 11 + .../ConnectApi/OcrResult.cls | 14 + .../ConnectApi/OcrResultCollection.cls | 10 + .../ConnectApi/OcrResultNormalizedText.cls | 14 + .../OmnichannelInventoryService.cls | 3 + .../ConnectApi/OperationType.cls | 4 + .../ConnectApi/Orchestration.cls | 5 + .../ConnectApi/OrchestrationInstance.cls | 16 + .../OrchestrationInstanceCollection.cls | 10 + .../OrchestrationInstanceStatus.cls | 5 + .../ConnectApi/OrchestrationStageInstance.cls | 14 + .../ConnectApi/OrchestrationStepInstance.cls | 15 + .../ConnectApi/OrchestrationStepType.cls | 8 + .../ConnectApi/OrchestrationWorkItem.cls | 18 + .../OrchestrationWorkItemStatus.cls | 4 + .../ConnectApi/OrderDeliveryGroupSummary.cls | 10 + .../OrderDeliveryGroupSummaryCollection.cls | 16 + .../OrderDeliveryGroupSummaryLookupOutput.cls | 14 + .../OrderDeliveryGroupSummarySort.cls | 4 + .../OrderDeliveryMethodLookupOutput.cls | 11 + .../ConnectApi/OrderItemSummary.cls | 15 + .../OrderItemSummaryAdjustmentAggregates.cls | 13 + .../OrderItemSummaryAdjustmentCollection.cls | 10 + ...erItemSummaryAdjustmentCollectionInput.cls | 9 + .../OrderItemSummaryAdjustmentInput.cls | 9 + .../OrderItemSummaryAdjustmentList.cls | 10 + .../ConnectApi/OrderItemSummaryCollection.cls | 16 + .../OrderItemSummaryInputRepresentation.cls | 10 + .../OrderItemSummaryLookupOutput.cls | 15 + .../OrderItemSummaryOutputRepresentation.cls | 12 + .../ConnectApi/OrderItemSummaryProduct.cls | 16 + .../ConnectApi/OrderItemSummarySort.cls | 4 + .../ConnectApi/OrderPaymentSummary.cls | 3 + .../OrderQuantitiesOutputRepresentation.cls | 11 + .../ConnectApi/OrderShipment.cls | 15 + .../ConnectApi/OrderShipmentCollection.cls | 18 + .../ConnectApi/OrderShipmentItem.cls | 16 + .../OrderShipmentItemCollection.cls | 18 + .../ConnectApi/OrderShipmentItemSort.cls | 4 + .../ConnectApi/OrderShipmentSort.cls | 6 + .../ConnectApi/OrderSummary.cls | 3 + .../ConnectApi/OrderSummaryAdjustment.cls | 15 + .../OrderSummaryAdjustmentAggregates.cls | 17 + ...rSummaryAdjustmentAggregatesAsyncInput.cls | 9 + ...SummaryAdjustmentAggregatesAsyncOutput.cls | 10 + ...OrderSummaryAdjustmentAggregatesStatus.cls | 6 + .../OrderSummaryAdjustmentCollection.cls | 10 + .../OrderSummaryAdjustmentTargetType.cls | 4 + .../OrderSummaryCollectionRepresentation.cls | 18 + .../ConnectApi/OrderSummaryCreation.cls | 5 + .../OrderSummaryInputRepresentation.cls | 15 + .../ConnectApi/OrderSummaryLookupInput.cls | 10 + .../ConnectApi/OrderSummaryLookupOutput.cls | 16 + .../OrderSummaryOutputRepresentation.cls | 10 + .../OrderSummaryProductAttribute.cls | 12 + .../OrderSummaryProductLookupOutput.cls | 16 + .../ConnectApi/OrderSummaryRepresentation.cls | 19 + .../ConnectApi/OrderSummarySortOrder.cls | 6 + .../OrderSummaryVerificationInput.cls | 11 + .../ConnectApi/OrderToCartFailedProduct.cls | 14 + .../ConnectApi/OrderToCartInput.cls | 9 + .../ConnectApi/OrderToCartResult.cls | 13 + .../ConnectApi/Organization.cls | 5 + .../ConnectApi/OrganizationSettings.cls | 15 + .../ConnectApi/OriginCapability.cls | 11 + .../OriginalDenialMedicalDirectorOutput.cls | 10 + .../ConnectApi/OutOfOffice.cls | 10 + .../ConnectApi/PardotBusinessUnitContext.cls | 3 + .../PardotBusinessUnitContextItem.cls | 12 + .../PardotBusinessUnitContextOutput.cls | 12 + .../ParticipantRecentInteractionsResult.cls | 10 + .../PayLoadOutputRepresentation.cls | 11 + .../PaymentAuthAdjustmentResponse.cls | 17 + .../PaymentAuthorizationResponse.cls | 18 + .../ConnectApi/PaymentGroupRequest.cls | 12 + .../ConnectApi/PaymentGroupResponse.cls | 12 + .../ConnectApi/PaymentLineApplyRequest.cls | 13 + .../ConnectApi/PaymentLineApplyResponse.cls | 11 + .../ConnectApi/PaymentLineUnapplyRequest.cls | 10 + .../ConnectApi/PaymentLineUnapplyResponse.cls | 11 + .../ConnectApi/PaymentMethodDetails.cls | 11 + .../ConnectApi/PaymentMethodResponse.cls | 13 + ...ymentMethodTokenizationGatewayResponse.cls | 10 + .../PaymentMethodTokenizationRequest.cls | 11 + .../PaymentMethodTokenizationResponse.cls | 13 + .../ConnectApi/PaymentResponse.cls | 17 + .../ConnectApi/Payments.cls | 11 + .../ConnectApi/PaymentsBilling.cls | 8 + .../PaymentsIngestFamilyWrapper.cls | 3 + .../ConnectApi/PercentRecordField.cls | 10 + .../ConnectApi/PeriodBoundaryEnum.cls | 6 + .../ConnectApi/PeriodTypesEnum.cls | 6 + .../ConnectApi/Personalization.cls | 17 + .../ConnectApi/PhoneNumber.cls | 13 + .../StandardApexLibrary/ConnectApi/Photo.cls | 16 + .../ConnectApi/PhotoInput.cls | 13 + .../ConnectApi/PickTicket.cls | 3 + .../ConnectApi/PicklistRecordField.cls | 9 + .../ConnectApi/PinCapability.cls | 11 + .../ConnectApi/PinCapabilityInput.cls | 10 + .../ConnectApi/PinnedFeedElements.cls | 10 + .../ConnectApi/PlaceQuoteErrorResponse.cls | 12 + .../ConnectApi/PlatformAction.cls | 23 + .../ConnectApi/PlatformActionGroup.cls | 14 + .../PlatformActionGroupCategory.cls | 4 + .../ConnectApi/PlatformActionStatus.cls | 6 + .../ConnectApi/PlatformActionType.cls | 7 + .../PointsChangeOutputRepresentation.cls | 11 + .../ConnectApi/PollAttachmentInput.cls | 9 + .../ConnectApi/PollCapability.cls | 12 + .../ConnectApi/PollCapabilityInput.cls | 10 + .../PostAuthApiPaymentMethodRequest.cls | 10 + .../ConnectApi/PostAuthGatewayResponse.cls | 11 + .../ConnectApi/PostAuthRequest.cls | 16 + .../ConnectApi/PostAuthorizationResponse.cls | 15 + .../ConnectApi/PredictHistoryIntervalEnum.cls | 4 + .../ConnectApi/Prediction.cls | 14 + .../ConnectApi/PredictionField.cls | 23 + .../ConnectApi/PredictionObject.cls | 13 + .../ConnectApi/PredictionRequest.cls | 33 + .../ConnectApi/PredictionResponse.cls | 31 + ...eviewBenefitSessionInputRepresentation.cls | 17 + ...iewBenefitSessionsOutputRepresentation.cls | 10 + .../PreviewCancelOutputRepresentation.cls | 11 + .../PreviewReturnOutputRepresentation.cls | 11 + .../ConnectApi/PriceAdjustmentSchedule.cls | 11 + .../ConnectApi/PriceAdjustmentTier.cls | 15 + .../ConnectApi/PriceAdjustmentTierType.cls | 4 + ...buteNameValueTupleOutputRepresentation.cls | 11 + .../ConnectApi/PricingErrorResponse.cls | 11 + .../ConnectApi/PricingInput.cls | 9 + .../ConnectApi/PricingLineItemInput.cls | 9 + ...fWaterFallOutputResponseRepresentation.cls | 11 + ...ecipeLookUpTableResponseRepresentation.cls | 12 + .../PricingRecipeOutputRepresentation.cls | 19 + .../PricingRecipePostOutputRepresentation.cls | 11 + .../PricingRecipeResponseRepresentation.cls | 11 + .../ConnectApi/PricingResourceFamily.cls | 3 + .../ConnectApi/PricingResult.cls | 13 + .../ConnectApi/PricingResultLineItem.cls | 15 + .../ConnectApi/PricingTermUnit.cls | 4 + ...aterFallMetaDataResponseRepresentation.cls | 12 + ...PricingWaterFallResponseRepresentation.cls | 20 + .../ConnectApi/ProcessDefinitionInput.cls | 10 + .../ProcessDefinitionOutputRepresentation.cls | 11 + .../ConnectApi/ProcessDetailInput.cls | 24 + .../ProcessDetailOutputRepresentation.cls | 25 + ...essRuleConditionFilterCriteriaOperator.cls | 4 + .../ConnectApi/ProcessRuleStepType.cls | 6 + .../ConnectApi/ProductAttributeInfo.cls | 16 + .../ProductAttributeSelectionInfo.cls | 13 + .../ConnectApi/ProductAttributeSet.cls | 12 + .../ConnectApi/ProductAttributeSetInfo.cls | 15 + .../ConnectApi/ProductAttributeSetSummary.cls | 12 + .../ConnectApi/ProductAttributeSummary.cls | 13 + .../ProductAttributesToProductEntry.cls | 12 + .../ConnectApi/ProductCategoryData.cls | 12 + .../ConnectApi/ProductCategoryDetail.cls | 14 + .../ProductCategoryDetailCollection.cls | 10 + .../ConnectApi/ProductCategoryMedia.cls | 17 + .../ConnectApi/ProductCategoryMediaGroup.cls | 14 + .../ConnectApi/ProductCategoryPath.cls | 10 + ...ctCheckAvailabilityInputRepresentation.cls | 10 + .../ConnectApi/ProductChild.cls | 11 + .../ConnectApi/ProductChildCollection.cls | 18 + .../ConnectApi/ProductClass.cls | 7 + .../ConnectApi/ProductDetail.cls | 22 + .../ProductDetailsOutputRepresentation.cls | 21 + .../ConnectApi/ProductEntitlement.cls | 10 + .../ConnectApi/ProductFileFormat.cls | 5 + .../ProductImageGroupOutputRepresentation.cls | 11 + .../ProductImageOutputRepresentation.cls | 14 + .../ConnectApi/ProductImageViewType.cls | 6 + .../ConnectApi/ProductInventory.cls | 14 + .../ConnectApi/ProductInventoryPricing.cls | 13 + .../ConnectApi/ProductMedia.cls | 17 + .../ConnectApi/ProductMediaGroup.cls | 14 + .../ConnectApi/ProductMediaType.cls | 5 + .../ConnectApi/ProductMediaUsageType.cls | 7 + .../ConnectApi/ProductOverview.cls | 16 + .../ConnectApi/ProductOverviewCollection.cls | 11 + .../ConnectApi/ProductPrice.cls | 15 + .../ConnectApi/ProductPriceEntry.cls | 16 + ...roductQuantityRuleOutputRepresentation.cls | 12 + .../ConnectApi/ProductSchemaType.cls | 5 + .../ConnectApi/ProductScope.cls | 4 + .../ConnectApi/ProductSearchGroupingInput.cls | 10 + .../ConnectApi/ProductSearchInput.cls | 18 + .../ConnectApi/ProductSearchResults.cls | 14 + .../ProductSearchSuggestionsResults.cls | 10 + .../ConnectApi/ProductSellingModel.cls | 14 + .../ConnectApi/ProductSummary.cls | 17 + .../ConnectApi/ProductSummaryPage.cls | 13 + .../ConnectApi/ProductTransferStatusEnum.cls | 4 + .../ProductVariantOutputRepresentation.cls | 15 + ...VariationAttributeOutputRepresentation.cls | 12 + ...tionAttributeValueOutputRepresentation.cls | 12 + .../ConnectApi/ProductVariationInfo.cls | 11 + ...gramApplicationFileInputRepresentation.cls | 9 + ...gramApplicationItemInputRepresentation.cls | 10 + ...ProgramApplicationOutputRepresentation.cls | 12 + .../ConnectApi/ProgramEnrollmentsDTO.cls | 13 + .../ProgramEnrollmentsInputRepresentation.cls | 9 + ...ProgramEnrollmentsOutputRepresentation.cls | 11 + .../ConnectApi/ProgramManagement.cls | 3 + .../ConnectApi/ProgramRebateTypes.cls | 12 + .../Programapplicationinputrepresentation.cls | 3 + .../ConnectApi/ProjectedRebateAmountCalc.cls | 14 + .../PromotionAdjustmentTargetType.cls | 4 + .../ConnectApi/PromotionBonusProduct.cls | 13 + .../ConnectApi/PromotionCart.cls | 17 + .../PromotionCartAdjustmentGroup.cls | 18 + .../PromotionCartDeliveryGroupInput.cls | 10 + .../ConnectApi/PromotionCartInput.cls | 11 + .../ConnectApi/PromotionCartItem.cls | 25 + .../ConnectApi/PromotionCartItemInput.cls | 21 + .../ConnectApi/PromotionCartItemKey.cls | 11 + .../PromotionCartItemPriceAdjustment.cls | 21 + .../ConnectApi/PromotionCoupon.cls | 13 + .../ConnectApi/PromotionEvaluateInput.cls | 17 + .../ConnectApi/PromotionEvaluation.cls | 11 + .../PromotionParentProductsInput.cls | 10 + .../PromotionProductCategoriesInput.cls | 10 + ...ProviderOutputCollectionRepresentation.cls | 11 + .../ProviderOutputRepresentation.cls | 14 + .../ConnectApi/ProvidersError.cls | 11 + .../ConnectApi/ProvidersInputResult.cls | 11 + .../ConnectApi/ProvidersInputResultDetail.cls | 11 + .../ConnectApi/PublishSchedule.cls | 9 + .../ConnectApi/PublishStatus.cls | 4 + .../ConnectApi/PurchaseQuantityRule.cls | 12 + .../QuantityWithSkuInputRepresentation.cls | 10 + .../ConnectApi/QueryLanguage.cls | 4 + .../ConnectApi/QuestionAndAnswers.cls | 7 + .../QuestionAndAnswersCapability.cls | 15 + .../QuestionAndAnswersCapabilityInput.cls | 10 + .../QuestionAndAnswersSuggestions.cls | 11 + .../ConnectApi/QuestionAttachment.cls | 13 + .../ConnectApi/QuestionAttachmentInput.cls | 9 + .../ConnectApi/QuestionContextType.cls | 3 + .../ConnectApi/QuickTextContext.cls | 4 + ...RankAverageDistanceInputRepresentation.cls | 13 + ...ankAverageDistanceOutputRepresentation.cls | 11 + .../ConnectApi/RateLimitException.cls | 6 + .../ConnectApi/RawDataInputWrap.cls | 9 + .../StandardApexLibrary/ConnectApi/ReadBy.cls | 11 + .../ConnectApi/ReadByCapability.cls | 12 + .../ConnectApi/ReadByCapabilityInput.cls | 10 + .../ConnectApi/ReadByPage.cls | 17 + .../ConnectApi/RecipeSortOrderEnum.cls | 4 + .../RecipientEngagementContextInput.cls | 10 + .../ConnectApi/Recommendation.cls | 18 + .../ConnectApi/RecommendationActionType.cls | 5 + .../ConnectApi/RecommendationAudience.cls | 17 + .../RecommendationAudienceCriteriaType.cls | 4 + .../RecommendationAudienceInput.cls | 12 + ...ommendationAudienceMemberOperationType.cls | 4 + .../ConnectApi/RecommendationAudiencePage.cls | 14 + .../ConnectApi/RecommendationChannel.cls | 8 + .../ConnectApi/RecommendationCollection.cls | 10 + .../ConnectApi/RecommendationDefinition.cls | 17 + .../RecommendationDefinitionInput.cls | 13 + .../RecommendationDefinitionPage.cls | 11 + .../ConnectApi/RecommendationExplanation.cls | 10 + .../RecommendationExplanationType.cls | 29 + .../ConnectApi/RecommendationList.cls | 10 + .../ConnectApi/RecommendationMode.cls | 4 + .../ConnectApi/RecommendationReaction.cls | 23 + .../RecommendationReactionInput.cls | 20 + .../ConnectApi/RecommendationReactionType.cls | 4 + .../ConnectApi/RecommendationReactions.cls | 12 + .../ConnectApi/RecommendationType.cls | 10 + .../ConnectApi/Recommendations.cls | 51 + .../ConnectApi/RecommendationsCapability.cls | 10 + .../ConnectApi/RecommendedObject.cls | 11 + .../ConnectApi/RecommendedObjectType.cls | 3 + .../RecordAccessDetailRepresentation.cls | 12 + ...AlertActionCollectionMapRepresentation.cls | 11 + ...lertActionInfoCollectionRepresentation.cls | 10 + .../RecordAlertActionInfoRepresentation.cls | 11 + .../RecordAlertActionInputRepresentation.cls | 11 + .../RecordAlertActionOutputRepresentation.cls | 12 + .../RecordAlertActionParameterInput.cls | 10 + ...dAlertActionSingleOutputRepresentation.cls | 14 + ...cordAlertBulkActionInputRepresentation.cls | 9 + ...RecordAlertCollectionMapRepresentation.cls | 11 + .../RecordAlertCollectionRepresentation.cls | 12 + .../RecordAlertErrorRepresentation.cls | 11 + .../ConnectApi/RecordAlertErrorType.cls | 14 + .../ConnectApi/RecordAlertRepresentation.cls | 23 + .../ConnectApi/RecordAlertSeverityType.cls | 5 + .../ConnectApi/RecordAlertSourceType.cls | 5 + .../ConnectApi/RecordCapability.cls | 11 + .../ConnectApi/RecordCapabilityInput.cls | 9 + .../ConnectApi/RecordColumnOrder.cls | 4 + .../ConnectApi/RecordField.cls | 9 + .../ConnectApi/RecordFieldType.cls | 21 + .../ConnectApi/RecordFilterCriteriaFamily.cls | 3 + .../ConnectApi/RecordSeoProperties.cls | 15 + .../ConnectApi/RecordSnapshot.cls | 11 + .../ConnectApi/RecordSnapshotAttachment.cls | 10 + .../ConnectApi/RecordSnapshotCapability.cls | 10 + .../ConnectApi/RecordSummary.cls | 10 + .../ConnectApi/RecordSummaryList.cls | 11 + .../ConnectApi/RecordView.cls | 10 + .../ConnectApi/RecordViewSection.cls | 14 + .../ConnectApi/Recordalert.cls | 3 + .../ConnectApi/Records.cls | 6 + .../ConnectApi/RecordsetFilterCriteria.cls | 11 + .../RecordsetFilterCriteriaCollection.cls | 10 + .../RecordsetFilterCriteriaInput.cls | 12 + .../ConnectApi/RedeemVoucherInput.cls | 10 + .../ConnectApi/RedeemVoucherOutput.cls | 11 + .../ConnectApi/Reference.cls | 11 + .../ConnectApi/ReferenceItemBaseInput.cls | 30 + .../ConnectApi/ReferenceItemCodeEnum.cls | 4 + .../ConnectApi/ReferenceLineError.cls | 11 + .../ConnectApi/ReferenceRecordField.cls | 10 + .../ReferenceWithDateRecordField.cls | 11 + .../ConnectApi/ReferencedRefundRequest.cls | 14 + .../ConnectApi/ReferencedRefundResponse.cls | 14 + .../ConnectApi/ReferralEventConnect.cls | 3 + .../ConnectApi/ReferralEventInput.cls | 21 + .../ConnectApi/ReferralEventOutput.cls | 14 + .../ConnectApi/RefinementInput.cls | 10 + .../ConnectApi/RefundGatewayResponse.cls | 9 + .../ConnectApi/RefundLineApplyRequest.cls | 12 + .../ConnectApi/RefundLineApplyResponse.cls | 11 + .../ConnectApi/RefundRequest.cls | 6 + .../ConnectApi/RefundResponse.cls | 17 + .../ConnectApi/RelatedFeedPost.cls | 10 + .../ConnectApi/RelatedFeedPostType.cls | 6 + .../ConnectApi/RelatedFeedPosts.cls | 10 + .../ConnectApi/RelatedQuestion.cls | 11 + ...leaseHeldFOCapacityInputRepresentation.cls | 9 + ...easeHeldFOCapacityOutputRepresentation.cls | 10 + ...ldFOCapacityRequestInputRepresentation.cls | 10 + ...FOCapacityResponseOutputRepresentation.cls | 10 + .../ConnectApi/ReopenedByOutput.cls | 10 + .../ConnectApi/ReplyIntent.cls | 10 + .../ConnectApi/ReplyIntents.cls | 10 + .../ReplyRecommendationsChannelType.cls | 3 + .../ConnectApi/ReplyRecommendationsMetric.cls | 19 + .../ReplyRecommendationsMetrics.cls | 10 + .../RepositoryDirectoryEntryCollection.cls | 10 + .../ConnectApi/RepositoryFileDetail.cls | 9 + .../ConnectApi/RepositoryFileSummary.cls | 9 + .../ConnectApi/RepositoryFolderDetail.cls | 9 + .../ConnectApi/RepositoryFolderItem.cls | 12 + .../RepositoryFolderItemsCollection.cls | 13 + .../ConnectApi/RepositoryFolderSummary.cls | 9 + .../ConnectApi/RepositoryGroupSummary.cls | 11 + .../RepositoryPermissionTypeCollection.cls | 10 + .../ConnectApi/RepositoryUserSummary.cls | 11 + .../ConnectApi/Repricing.cls | 3 + .../ConnectApi/Reputation.cls | 12 + .../ConnectApi/ReputationLevel.cls | 12 + .../ConnectApi/RequestHeader.cls | 11 + .../ConnectApi/RequestHeaderInput.cls | 10 + .../RequestingPractitionerOutput.cls | 11 + .../ConnectApi/ResourceLinkSegment.cls | 10 + .../ConnectApi/ResponseSuggestion.cls | 11 + .../ConnectApi/ResponseSuggestions.cls | 14 + .../ReturnItemsInputRepresentation.cls | 11 + .../ReturnItemsOutputRepresentation.cls | 12 + .../ConnectApi/ReturnOrder.cls | 3 + .../ReturnOrderInputRepresentation.cls | 12 + ...rItemDeliveryChargeInputRepresentation.cls | 9 + .../ReturnOrderItemFeeInputRepresentation.cls | 11 + .../ReturnOrderItemInputRepresentation.cls | 14 + ...OrderItemSplitLineOutputRepresentation.cls | 11 + ...urnOrderLineItemFeeInputRepresentation.cls | 13 + ...ReturnOrderLineItemInputRepresentation.cls | 14 + .../ReturnOrderOutputRepresentation.cls | 10 + .../RevenueAddressInputRepresentation.cls | 15 + .../RevenueAsyncLineLevelOutputResponse.cls | 15 + .../ConnectApi/RevenueAsyncRepresentation.cls | 13 + .../ConnectApi/RevenueElementRequest.cls | 25 + .../ConnectApi/RevenueElementResult.cls | 13 + .../ConnectApi/RevenueRecognition.cls | 3 + .../RevenueRecognitionRepresentation.cls | 10 + .../ConnectApi/RevenueRecognitionType.cls | 4 + .../ConnectApi/Routing.cls | 3 + .../SaleApiPaymentMethodRequest.cls | 9 + .../ConnectApi/SaleGatewayResponse.cls | 9 + .../ConnectApi/SaleRequest.cls | 16 + .../ConnectApi/SaleResponse.cls | 15 + .../ConnectApi/SalesforceInbox.cls | 3 + .../ConnectApi/SaqlQueryInput.cls | 14 + .../ConnectApi/SaqlQueryMetadata.cls | 13 + .../ConnectApi/ScheduledRecommendation.cls | 16 + .../ScheduledRecommendationInput.cls | 13 + .../ScheduledRecommendationPage.cls | 11 + .../StandardApexLibrary/ConnectApi/Scope.cls | 11 + .../ConnectApi/SearchCategory.cls | 12 + .../ConnectApi/SearchFacet.cls | 14 + .../ConnectApi/SearchFieldRepresentation.cls | 11 + .../ConnectApi/SearchFilterRepresentation.cls | 10 + .../ConnectApi/SearchInput.cls | 11 + .../ConnectApi/SearchOutputRepresentation.cls | 13 + .../SearchResultHeaderRepresentation.cls | 12 + .../ConnectApi/SearchResultRepresentation.cls | 10 + ...ultRulesCollectionOutputRepresentation.cls | 10 + .../ConnectApi/SearchResultsRule.cls | 13 + .../ConnectApi/SearchResultsRuleTypeEnum.cls | 3 + .../ConnectApi/SearchSuggestion.cls | 9 + .../SearchSuggestionWithProductSuggestion.cls | 10 + .../ConnectApi/SegmentType.cls | 4 + .../ConnectApi/SelectedSearchResultInput.cls | 11 + ...lectedSearchResultOutputRepresentation.cls | 12 + .../SelectedVerifiedResultInput.cls | 9 + ...ctedVerifiedResultOutputRepresentation.cls | 10 + .../ConnectApi/SellingModelType.cls | 5 + .../ConnectApi/SemanticSearchQueryInput.cls | 9 + ...OrderPaymentSummaryInputRepresentation.cls | 10 + .../ConnectApi/SequenceVerificationInput.cls | 13 + .../SequenceVerificationRepresentation.cls | 23 + .../ConnectApi/ServiceAppointmentInput.cls | 26 + .../ConnectApi/ServiceAppointmentOutput.cls | 10 + .../ConnectApi/ServiceAppointmentResult.cls | 12 + .../ServiceCatalogFrequentActionsOutput.cls | 11 + .../ServiceCatalogItemAttributes.cls | 10 + .../ServiceCatalogItemsFetchOutput.cls | 12 + .../ConnectApi/ServiceCatalogItemsOutput.cls | 14 + .../ServiceCatalogStaticActionsOutput.cls | 12 + .../ConnectApi/ServiceEinsteinAppType.cls | 7 + .../ServiceEinsteinModelManagement.cls | 4 + .../ServiceEinsteinModelTrainingErrorCode.cls | 4 + .../ServiceEinsteinModelTrainingStatus.cls | 11 + .../ServiceEinsteinReadinessCheckType.cls | 3 + .../ServiceProcessRecordRepresentation.cls | 14 + .../ServiceProcessRepresentation.cls | 13 + ...rviceProcessRequestInputRepresentation.cls | 12 + .../ConnectApi/ServicingFacilityOutput.cls | 11 + .../ServicingPractitionerOutput.cls | 11 + .../ConnectApi/SetupCallResult.cls | 13 + .../ShareRelationshipArrayRepresentation.cls | 10 + .../ConnectApi/ShareRelationshipOutput.cls | 12 + .../ConnectApi/Sharing.cls | 6 + .../SharingReasonRepresentation.cls | 14 + .../ConnectApi/ShiftsFromPattern.cls | 13 + .../ConnectApi/ShiftsFromPatternError.cls | 12 + .../ConnectApi/ShiftsFromPatternInput.cls | 15 + .../ConnectApi/SimulationContextInput.cls | 10 + .../ConnectApi/SiteSearchItem.cls | 15 + .../ConnectApi/SiteSearchResult.cls | 19 + .../StandardApexLibrary/ConnectApi/Sites.cls | 5 + .../ConnectApi/SlotStatus.cls | 5 + .../ConnectApi/SmartAnswer.cls | 13 + .../ConnectApi/SmartAnswers.cls | 10 + .../ConnectApi/SmartDataDiscoveryAIModel.cls | 31 + ...aDiscoveryAIModelClassificationMetrics.cls | 16 + ...aDiscoveryAIModelCoefficientCollection.cls | 13 + .../SmartDataDiscoveryAIModelCollection.cls | 13 + ...iscoveryAIModelCollectionSortOrderType.cls | 8 + ...artDataDiscoveryAIModelDiscoverySource.cls | 11 + ...taDiscoveryAIModelDiscoverySourceInput.cls | 9 + .../SmartDataDiscoveryAIModelInput.cls | 20 + ...tDataDiscoveryAIModelMulticlassMetrics.cls | 9 + ...tDataDiscoveryAIModelRegressionMetrics.cls | 13 + .../SmartDataDiscoveryAIModelResidual.cls | 11 + ...DataDiscoveryAIModelResidualCollection.cls | 13 + .../SmartDataDiscoveryAIModelStatus.cls | 10 + ...martDataDiscoveryAIModelTransformation.cls | 14 + ...ataDiscoveryAIModelTransformationInput.cls | 12 + ...DiscoveryAIModelTransformationTypeEnum.cls | 10 + ...rtDataDiscoveryAIModelUserUploadSource.cls | 9 + ...aDiscoveryAIModelUserUploadSourceInput.cls | 8 + ...ataDiscoveryAbstractAIModelSourceInput.cls | 8 + ...scoveryAbstractClassificationThreshold.cls | 9 + ...ryAbstractClassificationThresholdInput.cls | 8 + ...scoveryAbstractFieldMappingSourceInput.cls | 8 + ...rtDataDiscoveryAbstractModelFieldInput.cls | 12 + .../SmartDataDiscoveryAbstractPredict.cls | 14 + ...scoveryAbstractPredictionPropertyInput.cls | 8 + ...ggregatePredictConditionRepresentation.cls | 10 + ...ataDiscoveryAggregatePredictStatusEnum.cls | 4 + ...AggregatePredictionErrorRepresentation.cls | 11 + ...overyAggregatePredictionRepresentation.cls | 10 + .../SmartDataDiscoveryAssetReference.cls | 9 + .../SmartDataDiscoveryAssetReferenceInput.cls | 8 + .../SmartDataDiscoveryBaseAssetReference.cls | 13 + ...DiscoveryBinaryClassificationThreshold.cls | 10 + ...veryBinaryClassificationThresholdInput.cls | 9 + ...scoveryCategoricalImputationMethodEnum.cls | 3 + ...eryCategoricalImputationTransformation.cls | 10 + ...tegoricalImputationTransformationInput.cls | 9 + ...iscoveryCategoricalProjectedPrediction.cls | 11 + ...scoveryClassificationAlgorithmTypeEnum.cls | 7 + ...coveryClassificationPredictionProperty.cls | 11 + ...yClassificationPredictionPropertyInput.cls | 10 + ...artDataDiscoveryClassificationTypeEnum.cls | 3 + .../ConnectApi/SmartDataDiscoveryCluster.cls | 14 + .../SmartDataDiscoveryClusterInput.cls | 12 + .../SmartDataDiscoveryComplexFilterInput.cls | 9 + .../ConnectApi/SmartDataDiscoveryContact.cls | 11 + ...overyCustomPrescribableFieldDefinition.cls | 11 + ...CustomPrescribableFieldDefinitionInput.cls | 10 + .../SmartDataDiscoveryCustomizableField.cls | 11 + ...taDiscoveryCustomizableFieldDefinition.cls | 11 + ...coveryCustomizableFieldDefinitionInput.cls | 10 + ...artDataDiscoveryCustomizableFieldInput.cls | 10 + ...aDiscoveryDataAlertFieldRepresentation.cls | 9 + .../SmartDataDiscoveryDataAlertType.cls | 19 + ...martDataDiscoveryDiscoveryModelRuntime.cls | 9 + ...ataDiscoveryDiscoveryModelRuntimeInput.cls | 8 + ...ataDiscoveryDiscoveryNumericRangeInput.cls | 10 + ...tDataDiscoveryDiscoveryPredictSettings.cls | 13 + ...iscoveryExtractDayOfWeekTransformation.cls | 9 + ...eryExtractDayOfWeekTransformationInput.cls | 8 + ...coveryExtractMonthOfYearTransformation.cls | 9 + ...yExtractMonthOfYearTransformationInput.cls | 8 + .../ConnectApi/SmartDataDiscoveryField.cls | 10 + .../SmartDataDiscoveryFieldInput.cls | 9 + ...artDataDiscoveryFieldMapSourceTypeEnum.cls | 4 + .../SmartDataDiscoveryFieldMapping.cls | 12 + ...overyFieldMappingAnalyticsDatasetField.cls | 12 + ...FieldMappingAnalyticsDatasetFieldInput.cls | 11 + ...artDataDiscoveryFieldMappingCollection.cls | 10 + .../SmartDataDiscoveryFieldMappingInput.cls | 11 + ...rtDataDiscoveryFieldMappingMappedField.cls | 12 + ...taDiscoveryFieldMappingSalesforceField.cls | 9 + ...coveryFieldMappingSalesforceFieldInput.cls | 8 + .../ConnectApi/SmartDataDiscoveryFilter.cls | 14 + .../SmartDataDiscoveryFilterFieldTypeEnum.cls | 7 + .../SmartDataDiscoveryFilterInput.cls | 13 + .../SmartDataDiscoveryFilterList.cls | 10 + .../SmartDataDiscoveryFilterOperator.cls | 15 + .../SmartDataDiscoveryFilterValue.cls | 11 + .../SmartDataDiscoveryFilterValueInput.cls | 10 + .../SmartDataDiscoveryFilterValueTypeEnum.cls | 4 + ...coveryFreeTextClusteringTransformation.cls | 9 + ...yFreeTextClusteringTransformationInput.cls | 8 + .../SmartDataDiscoveryH2OModelRuntime.cls | 9 + ...SmartDataDiscoveryH2OModelRuntimeInput.cls | 8 + ...iscoveryLiveMetricDetailRepresentation.cls | 13 + ...DataDiscoveryLiveMetricsRepresentation.cls | 14 + ...aDiscoveryManyToOneTransformationInput.cls | 9 + ...scoveryMetricsCollectionRepresentation.cls | 14 + .../ConnectApi/SmartDataDiscoveryModel.cls | 39 + .../SmartDataDiscoveryModelCard.cls | 18 + .../SmartDataDiscoveryModelCollection.cls | 12 + ...SmartDataDiscoveryModelFieldCollection.cls | 10 + .../SmartDataDiscoveryModelFieldDate.cls | 10 + .../SmartDataDiscoveryModelFieldDateInput.cls | 9 + .../SmartDataDiscoveryModelFieldNumeric.cls | 10 + ...artDataDiscoveryModelFieldNumericInput.cls | 9 + .../SmartDataDiscoveryModelFieldText.cls | 10 + .../SmartDataDiscoveryModelFieldTextInput.cls | 9 + .../SmartDataDiscoveryModelFieldTypeEnum.cls | 5 + .../SmartDataDiscoveryModelInput.cls | 26 + .../SmartDataDiscoveryModelMetricType.cls | 7 + ...SmartDataDiscoveryModelRuntimeTypeEnum.cls | 7 + .../SmartDataDiscoveryModelSourceTypeEnum.cls | 4 + ...iclassClassificationPredictionProperty.cls | 10 + ...sClassificationPredictionPropertyInput.cls | 9 + .../SmartDataDiscoveryMulticlassPredict.cls | 12 + ...martDataDiscoveryMulticlassProbability.cls | 11 + .../SmartDataDiscoveryNumericRange.cls | 11 + ...taDiscoveryNumericTransformationFilter.cls | 11 + ...coveryNumericTransformationFilterInput.cls | 10 + ...DiscoveryNumericalImputationMethodEnum.cls | 5 + ...overyNumericalImputationTransformation.cls | 10 + ...NumericalImputationTransformationInput.cls | 9 + ...aDiscoveryNumericalProjectedPrediction.cls | 10 + ...taDiscoveryOneToOneTransformationInput.cls | 9 + .../SmartDataDiscoveryOutcomeGoal.cls | 5 + ...iscoveryPredDefCollectionSortOrderType.cls | 7 + .../SmartDataDiscoveryPredDefModelStatus.cls | 4 + .../SmartDataDiscoveryPredDefOutcome.cls | 10 + .../SmartDataDiscoveryPredDefOutcomeInput.cls | 9 + ...DataDiscoveryPredDefPushbackFieldInput.cls | 9 + .../ConnectApi/SmartDataDiscoveryPredict.cls | 9 + ...aDiscoveryPredictAggregateFunctionEnum.cls | 5 + .../SmartDataDiscoveryPredictColumn.cls | 14 + ...rtDataDiscoveryPredictColumnCustomText.cls | 11 + .../SmartDataDiscoveryPredictCondition.cls | 9 + .../SmartDataDiscoveryPredictErrorObject.cls | 11 + ...martDataDiscoveryPredictImportWarnings.cls | 12 + .../SmartDataDiscoveryPredictInput.cls | 11 + .../SmartDataDiscoveryPredictInputRawData.cls | 10 + ...taDiscoveryPredictInputRecordOverrides.cls | 10 + .../SmartDataDiscoveryPredictInputRecords.cls | 9 + ...martDataDiscoveryPredictInputRowObject.cls | 10 + .../SmartDataDiscoveryPredictJob.cls | 27 + ...SmartDataDiscoveryPredictJobCollection.cls | 12 + .../SmartDataDiscoveryPredictJobInput.cls | 12 + ...SmartDataDiscoveryPredictJobStatusEnum.cls | 8 + .../SmartDataDiscoveryPredictJobUpdate.cls | 9 + .../SmartDataDiscoveryPredictObject.cls | 13 + ...tDataDiscoveryPredictOutOfBoundsFields.cls | 11 + .../SmartDataDiscoveryPredictSettings.cls | 14 + .../SmartDataDiscoveryPredictStatusEnum.cls | 4 + .../SmartDataDiscoveryPredictTypeEnum.cls | 5 + .../SmartDataDiscoveryPrediction.cls | 19 + ...SmartDataDiscoveryPredictionDefinition.cls | 38 + ...iscoveryPredictionDefinitionCollection.cls | 13 + ...DataDiscoveryPredictionDefinitionInput.cls | 24 + .../SmartDataDiscoveryPredictionTypeEnum.cls | 6 + .../SmartDataDiscoveryPrescribableField.cls | 11 + ...artDataDiscoveryPrescribableFieldInput.cls | 10 + ...tDataDiscoveryProjectedPredictionField.cls | 13 + ...taDiscoveryProjectedPredictionSettings.cls | 12 + ...coveryProjectedPredictionSettingsInput.cls | 11 + ...SmartDataDiscoveryProjectedPredictions.cls | 14 + ...redictionsCountFromDateIntervalSetting.cls | 12 + ...tionsCountFromDateIntervalSettingInput.cls | 10 + ...ojectedPredictionsCountIntervalSetting.cls | 10 + ...edPredictionsCountIntervalSettingInput.cls | 9 + ...rojectedPredictionsDateIntervalSetting.cls | 11 + ...tedPredictionsDateIntervalSettingInput.cls | 9 + ...ectedPredictionsHistoricalDatasetInput.cls | 11 + ...redictionsHistoricalDatasetSourceInput.cls | 10 + ...rojectedPredictionsIntervalSettingType.cls | 5 + ...ryProjectedPredictionsIntervalTypeEnum.cls | 6 + ...aDiscoveryProjectedPredictionsOverride.cls | 11 + ...overyProjectedPredictionsOverrideInput.cls | 10 + ...veryProjectedPredictionsTransformation.cls | 16 + ...rojectedPredictionsTransformationInput.cls | 15 + ...tDataDiscoveryProjectedPredictionsType.cls | 4 + .../SmartDataDiscoveryProjectedValue.cls | 12 + .../SmartDataDiscoveryPushbackField.cls | 9 + .../SmartDataDiscoveryPushbackType.cls | 4 + .../SmartDataDiscoveryRecipient.cls | 12 + .../SmartDataDiscoveryRecipientInput.cls | 9 + .../SmartDataDiscoveryRecipientTypeEnum.cls | 4 + .../SmartDataDiscoveryRefreshConfig.cls | 14 + .../SmartDataDiscoveryRefreshConfigInput.cls | 13 + .../SmartDataDiscoveryRefreshJob.cls | 20 + ...SmartDataDiscoveryRefreshJobCollection.cls | 12 + .../SmartDataDiscoveryRefreshJobInput.cls | 10 + ...SmartDataDiscoveryRefreshJobStatusEnum.cls | 11 + .../SmartDataDiscoveryRefreshJobTypeEnum.cls | 4 + .../SmartDataDiscoveryRefreshTask.cls | 20 + ...martDataDiscoveryRefreshTaskCollection.cls | 12 + .../SmartDataDiscoveryRefreshTaskSource.cls | 12 + ...martDataDiscoveryRefreshTaskStatusEnum.cls | 18 + ...taDiscoveryRegressionAlgorithmTypeEnum.cls | 6 + ...aDiscoveryRegressionPredictionProperty.cls | 10 + ...overyRegressionPredictionPropertyInput.cls | 9 + .../SmartDataDiscoveryRowNestedList.cls | 9 + ...ataDiscoveryScikitLearn102ModelRuntime.cls | 9 + ...scoveryScikitlearn102ModelRuntimeInput.cls | 8 + ...scoverySentimentAnalysisTransformation.cls | 9 + ...rySentimentAnalysisTransformationInput.cls | 8 + ...martDataDiscoverySetupPropertyTypeEnum.cls | 7 + .../SmartDataDiscoverySortOrderEnum.cls | 4 + ...DiscoveryStoryNarrativeElementTypeEnum.cls | 14 + ...tDataDiscoveryTensorFlow27ModelRuntime.cls | 9 + ...DiscoveryTensorFlow27ModelRuntimeInput.cls | 8 + ...artDataDiscoveryTensorFlowModelRuntime.cls | 9 + ...taDiscoveryTensorFlowModelRuntimeInput.cls | 8 + ...tDataDiscoveryTextTransformationFilter.cls | 11 + ...DiscoveryTextTransformationFilterInput.cls | 10 + ...DiscoveryTrainingMetricsRepresentation.cls | 12 + ...DataDiscoveryTransformationFilterInput.cls | 8 + ...aDiscoveryTransformationFilterTypeEnum.cls | 4 + .../SmartDataDiscoveryTransformationInput.cls | 8 + ...eryTypographicClusteringTransformation.cls | 11 + ...pographicClusteringTransformationInput.cls | 10 + .../ConnectApi/SmartDataDiscoveryUser.cls | 12 + .../ConnectApi/SmartResponseInput.cls | 10 + .../ConnectApi/SmartResponses.cls | 3 + .../ConnectApi/Smartdatadiscovery.cls | 3 + .../ConnectApi/SocialAccount.cls | 14 + .../ConnectApi/SocialAccountRelationship.cls | 13 + .../SocialCustomerServiceConfig.cls | 22 + .../SocialCustomerServiceInboundErrors.cls | 10 + .../SocialCustomerServiceInboundPost.cls | 13 + ...cialCustomerServiceMessageTypeSettings.cls | 11 + .../SocialCustomerServiceProviderSettings.cls | 11 + .../ConnectApi/SocialEngagement.cls | 3 + .../SocialNetworkAutenticationInformation.cls | 11 + .../ConnectApi/SocialNetworkProvider.cls | 24 + .../ConnectApi/SocialPostCapability.cls | 26 + .../ConnectApi/SocialPostIntents.cls | 15 + .../SocialPostMassApprovalInput.cls | 10 + .../SocialPostMassApprovalOutput.cls | 10 + .../ConnectApi/SocialPostMessageType.cls | 9 + .../ConnectApi/SocialPostStatus.cls | 11 + .../ConnectApi/SocialPostStatusType.cls | 12 + .../ConnectApi/SortOrder.cls | 5 + .../ConnectApi/SortOrderEnum.cls | 4 + .../ConnectApi/SortRule.cls | 16 + .../ConnectApi/SortRulesCollection.cls | 10 + .../StandardApexLibrary/ConnectApi/Stamp.cls | 13 + ...daloneCreditMemoAdjustmentInputRequest.cls | 9 + ...StandaloneCreditMemoChargeInputRequest.cls | 10 + .../StandaloneCreditMemoInputRequest.cls | 20 + .../StandaloneCreditMemoTaxInputRequest.cls | 12 + .../ConnectApi/StandaloneTaxStrategyEnum.cls | 5 + .../ConnectApi/StatementFrequencyResource.cls | 4 + .../ConnectApi/StatementMethodResource.cls | 4 + .../StandardApexLibrary/ConnectApi/Status.cls | 11 + .../ConnectApi/StatusCapability.cls | 11 + .../ConnectApi/StatusCapabilityInput.cls | 9 + .../ConnectApi/StoryAnalysisTypeEnum.cls | 4 + .../ConnectApi/StoryChartValueTypeEnum.cls | 9 + .../StoryCountInsightsFrequencyChangeEnum.cls | 4 + .../StoryCountInsightsFrequencyEnum.cls | 4 + .../StoryDescriptiveInsightsImpactEnum.cls | 4 + .../StoryDescriptiveInsightsRatingEnum.cls | 6 + .../ConnectApi/StrategyTrace.cls | 11 + .../ConnectApi/StrategyTraceNode.cls | 17 + .../ConnectApi/StreamSubscriptionInput.cls | 9 + .../SubmitCancelOutputRepresentation.cls | 12 + .../SubmitReturnOutputRepresentation.cls | 12 + .../ConnectApi/SubscriberOutput.cls | 12 + .../ConnectApi/Subscription.cls | 14 + .../ConnectApi/Suggestion.cls | 11 + .../ConnectApi/SupportedEmojis.cls | 10 + .../ConnectApi/SurveyEmailStatusEnum.cls | 4 + .../ConnectApi/SurveyInvitationEmailInput.cls | 24 + .../SurveyInvitationEmailOutput.cls | 12 + .../SurveyMassInvitationEmailInput.cls | 24 + .../ConnectApi/SurveyNavigationActionEnum.cls | 4 + .../ConnectApi/SurveyResponseApiStatus.cls | 4 + .../ConnectApi/Surveys.cls | 5 + .../StandardApexLibrary/ConnectApi/Target.cls | 19 + .../ConnectApi/TargetCollection.cls | 10 + .../ConnectApi/TargetCollectionInput.cls | 9 + .../TargetCollectionUpdateInput.cls | 9 + .../ConnectApi/TargetInput.cls | 14 + .../TargetLocationInputRepresentation.cls | 9 + .../ConnectApi/TargetUpdateInput.cls | 11 + .../ConnectApi/TaxAddressRequest.cls | 16 + .../ConnectApi/TaxAddressResponse.cls | 10 + .../ConnectApi/TaxAddressesRequest.cls | 12 + .../ConnectApi/TaxAddressesResponse.cls | 12 + .../ConnectApi/TaxAmountDetailsResponse.cls | 13 + .../ConnectApi/TaxCustomerDetailsRequest.cls | 12 + .../ConnectApi/TaxDetailsResponse.cls | 17 + .../ConnectApi/TaxEngineLogResponse.cls | 12 + .../ConnectApi/TaxImpositionResponse.cls | 11 + .../ConnectApi/TaxJurisdictionResponse.cls | 15 + .../ConnectApi/TaxLineItemRequest.cls | 16 + .../ConnectApi/TaxLocaleType.cls | 4 + .../ConnectApi/TaxPlatform.cls | 3 + .../ConnectApi/TaxStrategyEnum.cls | 6 + .../ConnectApi/TaxTransactionRequest.cls | 17 + .../ConnectApi/TaxTransactionResponse.cls | 19 + .../ConnectApi/TaxTransactionState.cls | 4 + .../ConnectApi/TaxTransactionType.cls | 4 + .../ConnectApi/TaxType.cls | 4 + .../ConnectApi/TermsOfService.cls | 11 + .../ConnectApi/TextSegment.cls | 9 + .../ConnectApi/TextSegmentInput.cls | 9 + .../ConnectApi/TextSmartResponse.cls | 10 + .../ConnectApi/TimeZone.cls | 11 + .../ToggleCallTranscriptionResult.cls | 12 + .../StandardApexLibrary/ConnectApi/Topic.cls | 18 + .../ConnectApi/TopicEndorsementSummary.cls | 10 + .../ConnectApi/TopicImages.cls | 11 + .../ConnectApi/TopicInput.cls | 11 + .../ConnectApi/TopicNamesInput.cls | 10 + .../ConnectApi/TopicPage.cls | 12 + .../ConnectApi/TopicSort.cls | 4 + .../ConnectApi/TopicSuggestion.cls | 11 + .../ConnectApi/TopicSuggestionPage.cls | 10 + .../ConnectApi/TopicSummary.cls | 11 + .../StandardApexLibrary/ConnectApi/Topics.cls | 47 + .../ConnectApi/TopicsCapability.cls | 11 + .../ConnectApi/TopicsCapabilityInput.cls | 10 + .../ConnectApi/TrackedChangeAttachment.cls | 10 + .../TrackedChangeBundleCapability.cls | 10 + .../ConnectApi/TrackedChangeItem.cls | 12 + .../ConnectApi/TrackedChangesCapability.cls | 10 + .../ConnectApi/TrackedCommunicationOutput.cls | 27 + .../ConnectApi/TransactionEventInput.cls | 15 + .../ConnectApi/TransactionEventOutput.cls | 11 + .../ConnectApi/TransactionJournalOutput.cls | 17 + .../ConnectApi/TransactionReceiptInput.cls | 14 + .../ConnectApi/TransactionReceiptOutput.cls | 15 + ...Transactiondetailsoutputrepresentation.cls | 3 + ...Transactionledgersoutputrepresentation.cls | 3 + .../ConnectApi/TransportLocationOutput.cls | 13 + ...bjectRepresentationCardDetailGetResult.cls | 12 + .../UiObjectRepresentationCardsGetResult.cls | 15 + .../ConnectApi/UnapplyCreditResult.cls | 12 + .../ConnectApi/UnauthenticatedUser.cls | 9 + .../ConnectApi/UnreadConversationCount.cls | 11 + .../ConnectApi/UpDownVoteCapability.cls | 12 + .../ConnectApi/UpDownVoteCapabilityInput.cls | 9 + .../ConnectApi/UpDownVoteValue.cls | 5 + .../ConnectApi/UpVoteSummary.cls | 9 + .../UpdateServiceAppointmentInput.cls | 9 + .../ConnectApi/UpdateVideoCallResult.cls | 11 + .../StandardApexLibrary/ConnectApi/User.cls | 21 + .../ConnectApi/UserActivitiesJob.cls | 12 + .../ConnectApi/UserActivityCollection.cls | 11 + .../ConnectApi/UserActivitySummary.cls | 12 + .../ConnectApi/UserActivityType.cls | 14 + .../ConnectApi/UserCapabilities.cls | 16 + .../ConnectApi/UserChatterSettings.cls | 10 + .../ConnectApi/UserDetail.cls | 25 + .../UserFeedEntityActivitySummary.cls | 9 + .../ConnectApi/UserGroupDetailPage.cls | 14 + .../ConnectApi/UserGroupPage.cls | 14 + .../ConnectApi/UserInput.cls | 9 + .../ConnectApi/UserMission.cls | 11 + .../ConnectApi/UserMissionActivitiesJob.cls | 12 + .../ConnectApi/UserMissionActivity.cls | 9 + .../UserMissionActivityCollection.cls | 13 + .../ConnectApi/UserMissionActivityStatus.cls | 11 + .../ConnectApi/UserMissionActivityType.cls | 12 + .../ConnectApi/UserOauthInfo.cls | 11 + .../ConnectApi/UserOrGroupRepresentation.cls | 11 + .../ConnectApi/UserPage.cls | 16 + .../ConnectApi/UserProfile.cls | 14 + .../ConnectApi/UserProfileTab.cls | 13 + .../ConnectApi/UserProfileTabType.cls | 7 + .../ConnectApi/UserProfiles.cls | 17 + .../ConnectApi/UserReferencePage.cls | 14 + .../ConnectApi/UserSettings.cls | 36 + .../ConnectApi/UserSummary.cls | 10 + .../ConnectApi/UserType.cls | 9 + .../ConnectApi/ValidateSignatureResult.cls | 12 + .../ValidationErrorOutputRepresentation.cls | 10 + .../ConnectApi/VerificationContextInput.cls | 12 + ...erificationContextOutputRepresentation.cls | 15 + .../VerificationProcessFieldInput.cls | 16 + ...onProcessFieldListOutputRepresentation.cls | 10 + ...cationProcessFieldOutputRepresentation.cls | 17 + .../ConnectApi/VerifiedCapability.cls | 14 + .../ConnectApi/VerifiedCapabilityInput.cls | 10 + .../ConnectApi/VerifiedDetailsInput.cls | 14 + .../VerifiedDetailsOutputRepresentation.cls | 15 + .../ConnectApi/VerifiedResultInput.cls | 10 + .../VerifiedResultOutputRepresentation.cls | 11 + .../ConnectApi/VerifierInput.cls | 10 + .../VerifierOutputRepresentation.cls | 11 + .../ConnectApi/VideoCallParticipant.cls | 12 + .../ConnectApi/VideoCallParticipantField.cls | 13 + .../ConnectApi/VideoCallParticipantResult.cls | 13 + .../VoidPostedInvoiceInputRequest.cls | 9 + .../StandardApexLibrary/ConnectApi/Vote.cls | 12 + .../ConnectApi/VotePage.cls | 17 + .../ConnectApi/Voucher.cls | 3 + .../ConnectApi/VoucherInput.cls | 11 + .../ConnectApi/VoucherOutput.cls | 15 + .../ConnectApi/VoucherPublicKeyOutput.cls | 10 + .../ConnectApi/VoucherRepresentation.cls | 34 + .../ConnectApi/VoucherWithPriceInput.cls | 11 + .../ConnectApi/VoucherWithPriceOutput.cls | 18 + .../ConnectApi/VouchersListRepresentation.cls | 11 + .../ConnectApi/WaitlistAnalytics.cls | 13 + .../ConnectApi/WaitlistAppointmentResult.cls | 12 + .../ConnectApi/WaitlistCheckInInput.cls | 15 + .../ConnectApi/WaitlistCheckInOutput.cls | 10 + .../ConnectApi/WaitlistCheckInResult.cls | 12 + .../ConnectApi/WaitlistInput.cls | 14 + .../ConnectApi/WaitlistListResult.cls | 10 + .../ConnectApi/WaitlistOutput.cls | 10 + .../WaitlistParticipantParticipant.cls | 11 + .../ConnectApi/WaitlistParticipantResult.cls | 15 + .../WaitlistRelationshipsResult.cls | 11 + .../ConnectApi/WaitlistResult.cls | 17 + .../ConnectApi/WaitlistServiceResource.cls | 11 + .../WaitlistServiceResourceWithWorkTypes.cls | 13 + .../ConnectApi/WaitlistWorkType.cls | 13 + .../ConnectApi/WaitlistWorkTypeGroup.cls | 11 + .../StandardApexLibrary/ConnectApi/Wave.cls | 9 + .../ConnectApi/Web3Transaction.cls | 3 + .../ConnectApi/WishList.cls | 11 + .../ConnectApi/WishlistInput.cls | 10 + .../ConnectApi/WishlistItem.cls | 15 + .../ConnectApi/WishlistItemCollection.cls | 18 + .../ConnectApi/WishlistItemInput.cls | 9 + .../ConnectApi/WishlistItemSortOrder.cls | 4 + .../ConnectApi/WishlistSummary.cls | 14 + .../ConnectApi/WishlistToCartResult.cls | 15 + .../ConnectApi/WishlistUpdateInput.cls | 9 + .../ConnectApi/WishlistsSummary.cls | 12 + .../ConnectApi/WorkflowProcessStatus.cls | 11 + .../ConnectApi/WorkspacePermission.cls | 22 + .../ConnectApi/WrappedMap.cls | 10 + .../ConnectApi/WrappedMapObject.cls | 10 + .../ConnectApi/WrappedObject.cls | 9 + .../ConnectApi/WrappedValue.cls | 9 + .../StandardApexLibrary/ConnectApi/Zone.cls | 17 + .../ConnectApi/ZonePage.cls | 12 + .../ConnectApi/ZoneSearchPage.cls | 14 + .../ConnectApi/ZoneSearchResult.cls | 14 + .../ConnectApi/ZoneSearchResultType.cls | 4 + .../ConnectApi/ZoneShowIn.cls | 5 + .../StandardApexLibrary/ConnectApi/Zones.cls | 13 + .../DataSource/ApexTestData.cls | 3 + .../DataSource/AsyncDeleteCallback.cls | 6 + .../DataSource/AsyncSaveCallback.cls | 6 + .../DataSource/AuthenticationCapability.cls | 6 + .../DataSource/AuthenticationProtocol.cls | 6 + .../DataSource/Capability.cls | 12 + .../StandardApexLibrary/DataSource/Column.cls | 34 + .../DataSource/ColumnSelection.cls | 10 + .../DataSource/Connection.cls | 12 + .../DataSource/ConnectionParams.cls | 15 + .../DataSource/DataSourceException.cls | 9 + .../DataSource/DataSourceUtil.cls | 7 + .../DataSource/DataType.cls | 11 + .../DataSource/DeleteContext.cls | 7 + .../DataSource/DeleteResult.cls | 11 + .../StandardApexLibrary/DataSource/Filter.cls | 13 + .../DataSource/FilterType.cls | 15 + .../DataSource/IAsyncDeleteCallback.cls | 4 + .../DataSource/IAsyncSaveCallback.cls | 4 + .../DataSource/IdentityType.cls | 5 + .../DataSource/MatchContext.cls | 8 + .../DataSource/MatchEngineSettings.cls | 10 + .../DataSource/MatchResult.cls | 14 + .../DataSource/Matchable.cls | 5 + .../DataSource/MatchedRecord.cls | 11 + .../DataSource/OAuthTokenExpiredException.cls | 9 + .../StandardApexLibrary/DataSource/Order.cls | 11 + .../DataSource/OrderDirection.cls | 4 + .../DataSource/Provider.cls | 10 + .../DataSource/QueryAggregation.cls | 8 + .../DataSource/QueryContext.cls | 10 + .../DataSource/QueryUtils.cls | 10 + .../DataSource/ReadContext.cls | 10 + .../DataSource/SearchContext.cls | 10 + .../DataSource/SearchUtils.cls | 6 + .../StandardApexLibrary/DataSource/Table.cls | 17 + .../DataSource/TableResult.cls | 18 + .../DataSource/TableSelection.cls | 11 + .../DataSource/UpsertContext.cls | 7 + .../DataSource/UpsertResult.cls | 11 + .../Database/Batchable.cls | 6 + .../Database/BatchableContext.cls | 5 + .../Database/BatchableContextImpl.cls | 6 + .../Database/DMLOptions.cls | 34 + .../Database/DeleteResult.cls | 9 + .../Database/DeletedRecord.cls | 7 + .../Database/DuplicateError.cls | 8 + .../Database/EmptyRecycleBinResult.cls | 9 + .../StandardApexLibrary/Database/Error.cls | 9 + .../Database/GetDeletedResult.cls | 9 + .../Database/GetUpdatedResult.cls | 7 + .../Database/LeadConvert.cls | 55 + .../Database/LeadConvertResult.cls | 17 + .../Database/MergeRequest.cls | 13 + .../Database/MergeResult.cls | 13 + .../Database/NestedSaveResult.cls | 8 + .../Database/QueryLocator.cls | 6 + .../Database/QueryLocatorChunkIterator.cls | 6 + .../Database/QueryLocatorIterator.cls | 6 + .../Database/RelationshipSaveResult.cls | 7 + .../Database/SaveResult.cls | 9 + .../Database/UndeleteResult.cls | 9 + .../Database/UnitOfWork.cls | 15 + .../Database/UpsertResult.cls | 11 + .../Datacloud/AdditionalInformationMap.cls | 7 + .../Datacloud/DuplicateResult.cls | 13 + .../Datacloud/FieldDiff.cls | 7 + .../Datacloud/FieldDifferenceType.cls | 5 + .../Datacloud/FindDuplicates.cls | 6 + .../Datacloud/FindDuplicatesByIds.cls | 6 + .../Datacloud/FindDuplicatesResult.cls | 9 + .../Datacloud/MatchRecord.cls | 11 + .../Datacloud/MatchResult.cls | 17 + .../246/StandardApexLibrary/Dom/Document.cls | 8 + .../246/StandardApexLibrary/Dom/XmlNode.cls | 28 + .../StandardApexLibrary/Dom/XmlNodeType.cls | 5 + .../EventBus/ChangeEventHeader.cls | 40 + .../EventBus/EventPublishFailureCallback.cls | 4 + .../EventBus/EventPublishSuccessCallback.cls | 4 + .../EventBus/FailureResult.cls | 4 + .../EventBus/InvalidReplayIdException.cls | 9 + .../EventBus/RetryableException.cls | 9 + .../EventBus/SuccessResult.cls | 4 + .../EventBus/TestBroker.cls | 7 + .../EventBus/TestEventService.cls | 6 + .../EventBus/TriggerContext.cls | 9 + .../StandardApexLibrary/Flow/Interview.cls | 8 + .../KbManagement/PublishingService.cls | 23 + .../Messaging/AttachmentRetrievalOption.cls | 5 + .../Messaging/CustomNotification.cls | 13 + .../StandardApexLibrary/Messaging/Email.cls | 24 + .../Messaging/EmailAttachment.cls | 16 + .../Messaging/EmailFileAttachment.cls | 18 + .../Messaging/EmailToSalesforceHandler.cls | 5 + .../Messaging/InboundEmail.cls | 64 + .../Messaging/InboundEmailHandler.cls | 4 + .../Messaging/InboundEmailResult.cls | 7 + .../Messaging/InboundEnvelope.cls | 7 + .../Messaging/MassEmailMessage.cls | 30 + .../Messaging/PushNotification.cls | 9 + .../Messaging/PushNotificationPayload.cls | 7 + .../RenderEmailTemplateBodyResult.cls | 9 + .../Messaging/RenderEmailTemplateError.cls | 11 + .../Messaging/SendEmailError.cls | 10 + .../Messaging/SendEmailResult.cls | 7 + .../Messaging/SingleEmailMessage.cls | 73 + .../AnalyticsCloudComponentLayoutItem.cls | 15 + .../Metadata/ConsoleComponent.cls | 9 + .../Metadata/Container.cls | 12 + .../Metadata/CustomConsoleComponents.cls | 7 + .../Metadata/CustomMetadata.cls | 9 + .../Metadata/CustomMetadataValue.cls | 7 + .../Metadata/DeployCallback.cls | 4 + .../Metadata/DeployCallbackContext.cls | 6 + .../Metadata/DeployContainer.cls | 9 + .../Metadata/DeployDetails.cls | 7 + .../Metadata/DeployMessage.cls | 18 + .../Metadata/DeployProblemType.cls | 5 + .../Metadata/DeployResult.cls | 28 + .../Metadata/DeployStatus.cls | 9 + .../Metadata/FeedItemTypeEnum.cls | 35 + .../Metadata/FeedLayout.cls | 15 + .../Metadata/FeedLayoutComponent.cls | 8 + .../Metadata/FeedLayoutComponentType.cls | 13 + .../Metadata/FeedLayoutFilter.cls | 8 + .../Metadata/FeedLayoutFilterPosition.cls | 5 + .../Metadata/FeedLayoutFilterType.cls | 5 + .../StandardApexLibrary/Metadata/Layout.cls | 28 + .../Metadata/LayoutColumn.cls | 7 + .../Metadata/LayoutHeader.cls | 4 + .../Metadata/LayoutItem.cls | 19 + .../Metadata/LayoutSection.cls | 11 + .../Metadata/LayoutSectionStyle.cls | 6 + .../StandardApexLibrary/Metadata/Metadata.cls | 5 + .../Metadata/MetadataType.cls | 5 + .../Metadata/MetadataValue.cls | 4 + .../Metadata/MiniLayout.cls | 7 + .../Metadata/OmniInteractionAccessConfig.cls | 18 + .../Metadata/Operations.cls | 7 + .../Metadata/PlatformActionList.cls | 8 + .../PlatformActionListContextEnum.cls | 22 + .../Metadata/PlatformActionListItem.cls | 9 + .../Metadata/PlatformActionTypeEnum.cls | 8 + .../Metadata/PrimaryTabComponents.cls | 7 + .../Metadata/QuickActionList.cls | 6 + .../Metadata/QuickActionListItem.cls | 6 + .../Metadata/RelatedContent.cls | 6 + .../Metadata/RelatedContentItem.cls | 6 + .../Metadata/RelatedList.cls | 7 + .../Metadata/RelatedListItem.cls | 11 + .../ReportChartComponentLayoutItem.cls | 13 + .../Metadata/ReportChartComponentSize.cls | 5 + .../Metadata/SidebarComponent.cls | 17 + .../Metadata/SortOrder.cls | 4 + .../Metadata/StatusCode.cls | 515 +++++++ .../Metadata/SubtabComponents.cls | 7 + .../Metadata/SummaryLayout.cls | 11 + .../Metadata/SummaryLayoutItem.cls | 10 + .../Metadata/SummaryLayoutStyleEnum.cls | 12 + .../Metadata/UiBehavior.cls | 5 + .../StandardApexLibrary/Process/Plugin.cls | 5 + .../Process/PluginDescribeResult.cls | 41 + .../Process/PluginRequest.cls | 6 + .../Process/PluginResult.cls | 7 + .../Process/SparkPlugApi.cls | 24 + .../QuickAction/Control.cls | 7 + .../DescribeAvailableQuickActionResult.cls | 11 + .../QuickAction/DescribeLayoutComponent.cls | 11 + .../QuickAction/DescribeLayoutItem.cls | 15 + .../QuickAction/DescribeLayoutRow.cls | 7 + .../QuickAction/DescribeLayoutSection.cls | 23 + .../DescribeQuickActionDefaultValue.cls | 7 + .../QuickAction/DescribeQuickActionResult.cls | 65 + .../QuickAction/EmptySpace.cls | 7 + .../QuickAction/ExpandedLookup.cls | 7 + .../StandardApexLibrary/QuickAction/Field.cls | 7 + .../QuickAction/FieldLayoutComponent.cls | 7 + .../QuickAction/QuickActionDefaults.cls | 8 + .../QuickActionDefaultsHandler.cls | 4 + .../QuickAction/QuickActionRequest.cls | 13 + .../QuickAction/QuickActionResult.cls | 15 + .../QuickAction/QuickActionTemplateResult.cls | 13 + .../QuickAction/ReportChartComponent.cls | 21 + .../QuickAction/SControl.cls | 7 + .../SendEmailQuickActionDefaults.cls | 13 + .../QuickAction/Separator.cls | 7 + .../QuickAction/VisualforcePage.cls | 17 + .../Reports/AggregateColumn.cls | 10 + .../Reports/BucketField.cls | 22 + .../Reports/BucketFieldValue.cls | 13 + .../Reports/BucketType.cls | 5 + .../Reports/ColumnDataType.cls | 21 + .../Reports/ColumnSortOrder.cls | 4 + .../Reports/CrossFilter.cls | 17 + .../Reports/CsfGroupType.cls | 5 + .../Reports/DateGranularity.cls | 14 + .../Reports/DetailColumn.cls | 8 + .../StandardApexLibrary/Reports/Dimension.cls | 6 + .../Reports/EvaluatedCondition.cls | 12 + .../Reports/EvaluatedConditionOperator.cls | 8 + .../Reports/FeatureNotSupportedException.cls | 8 + .../Reports/FilterOperator.cls | 7 + .../Reports/FilterValue.cls | 7 + .../Reports/FormulaType.cls | 10 + .../Reports/GroupingColumn.cls | 9 + .../Reports/GroupingInfo.cls | 17 + .../Reports/GroupingValue.cls | 9 + .../Reports/InstanceAccessException.cls | 8 + .../Reports/InvalidFilterException.cls | 10 + .../InvalidReportMetadataException.cls | 10 + .../Reports/InvalidSnapshotDateException.cls | 10 + .../Reports/MetadataException.cls | 8 + .../Reports/NotificationAction.cls | 4 + .../Reports/NotificationActionContext.cls | 7 + .../StandardApexLibrary/Reports/ReportCsf.cls | 28 + .../Reports/ReportCurrency.cls | 7 + .../Reports/ReportDataCell.cls | 7 + .../Reports/ReportDescribeResult.cls | 8 + .../Reports/ReportDetailRow.cls | 6 + .../Reports/ReportDivisionInfo.cls | 7 + .../Reports/ReportExtendedMetadata.cls | 8 + .../Reports/ReportFact.cls | 7 + .../Reports/ReportFactWithDetails.cls | 8 + .../Reports/ReportFactWithSummaries.cls | 7 + .../Reports/ReportFilter.cls | 17 + .../Reports/ReportFilterType.cls | 4 + .../Reports/ReportFormat.cls | 6 + .../Reports/ReportInstance.cls | 12 + .../Reports/ReportInstanceAttributes.cls | 10 + .../Reports/ReportManager.cls | 17 + .../Reports/ReportMetadata.cls | 62 + .../Reports/ReportResults.cls | 12 + .../Reports/ReportRunException.cls | 8 + .../Reports/ReportScopeInfo.cls | 7 + .../Reports/ReportScopeValue.cls | 8 + .../Reports/ReportTester.cls | 3 + .../Reports/ReportType.cls | 11 + .../Reports/ReportTypeColumn.cls | 10 + .../Reports/ReportTypeColumnCategory.cls | 7 + .../Reports/ReportTypeMetadata.cls | 10 + .../Reports/SortColumn.cls | 12 + .../Reports/StandardDateFilter.cls | 15 + .../Reports/StandardDateFilterDuration.cls | 9 + .../StandardDateFilterDurationGroup.cls | 7 + .../Reports/StandardFilter.cls | 11 + .../Reports/StandardFilterInfo.cls | 7 + .../Reports/StandardFilterInfoPicklist.cls | 9 + .../Reports/StandardFilterType.cls | 4 + .../Reports/SummaryValue.cls | 7 + .../Reports/ThresholdInformation.cls | 6 + .../StandardApexLibrary/Reports/TopRows.cls | 12 + .../Reports/UnsupportedOperationException.cls | 8 + .../Schema/ChildRelationship.cls | 19 + .../Schema/DataCategory.cls | 9 + .../DataCategoryGroupSobjectTypePair.cls | 10 + .../Schema/DescribeColorResult.cls | 9 + .../DescribeDataCategoryGroupResult.cls | 13 + ...scribeDataCategoryGroupStructureResult.cls | 13 + .../Schema/DescribeFieldResult.cls | 123 ++ .../Schema/DescribeIconResult.cls | 13 + .../Schema/DescribeSObjectResult.cls | 75 + .../Schema/DescribeTabResult.cls | 25 + .../Schema/DescribeTabSetResult.cls | 17 + .../Schema/DisplayType.cls | 30 + .../Schema/FieldDescribeOptions.cls | 4 + .../StandardApexLibrary/Schema/FieldSet.cls | 15 + .../Schema/FieldSetMember.cls | 15 + .../Schema/FilteredLookupInfo.cls | 9 + .../Schema/PicklistEntry.cls | 11 + .../Schema/RecordTypeInfo.cls | 17 + .../Schema/SObjectDescribeOptions.cls | 5 + .../Schema/SObjectField.cls | 5 + .../Schema/SObjectType.cls | 8 + .../StandardApexLibrary/Schema/SoapType.cls | 1308 +++++++++++++++++ .../Search/KnowledgeSuggestionFilter.cls | 12 + .../Search/QuestionSuggestionFilter.cls | 11 + .../Search/SearchResult.cls | 7 + .../Search/SearchResults.cls | 5 + .../Search/SuggestionOption.cls | 6 + .../Search/SuggestionResult.cls | 5 + .../Search/SuggestionResults.cls | 6 + .../StandardApexLibrary/Site/UrlRewriter.cls | 5 + .../Slack/ActionDispatcher.cls | 7 + .../Slack/ActionHandler.cls | 14 + .../Slack/ActionPayload.cls | 16 + .../Slack/ActionResult.cls | 9 + .../Slack/ApiTestRequest.cls | 16 + .../Slack/ApiTestResponse.cls | 29 + .../246/StandardApexLibrary/Slack/App.cls | 14 + .../StandardApexLibrary/Slack/AppClient.cls | 6 + .../Slack/AppClientMock.cls | 7 + .../Slack/AppHomeOpenedEvent.cls | 16 + .../StandardApexLibrary/Slack/AppIcons.cls | 28 + .../Slack/AppMentionEvent.cls | 42 + .../Slack/AppRateLimitedEvent.cls | 14 + .../StandardApexLibrary/Slack/AppRequest.cls | 55 + .../Slack/AppRequestedEvent.cls | 10 + .../StandardApexLibrary/Slack/AppScope.cls | 14 + .../Slack/AppUninstalledEvent.cls | 8 + .../AppsEventAuthorizationsListRequest.cls | 18 + .../AppsEventAuthorizationsListResponse.cls | 37 + .../Slack/AppsUninstallRequest.cls | 16 + .../Slack/AppsUninstallResponse.cls | 20 + .../Slack/AuthRevokeRequest.cls | 14 + .../Slack/AuthRevokeResponse.cls | 20 + .../Slack/AuthTeamsListRequest.cls | 18 + .../Slack/AuthTeamsListResponse.cls | 31 + .../Slack/AuthTestRequest.cls | 12 + .../Slack/AuthTestResponse.cls | 38 + .../Slack/BillableInfo.cls | 8 + .../StandardApexLibrary/Slack/Bookmark.cls | 36 + .../Slack/BookmarksAddRequest.cls | 26 + .../Slack/BookmarksAddResponse.cls | 22 + .../Slack/BookmarksEditRequest.cls | 22 + .../Slack/BookmarksEditResponse.cls | 22 + .../Slack/BookmarksListRequest.cls | 14 + .../Slack/BookmarksListResponse.cls | 22 + .../Slack/BookmarksRemoveRequest.cls | 16 + .../Slack/BookmarksRemoveResponse.cls | 20 + .../StandardApexLibrary/Slack/BotClient.cls | 95 ++ .../Slack/BotClientMock.cls | 96 ++ .../StandardApexLibrary/Slack/BotIcons.cls | 12 + .../StandardApexLibrary/Slack/BotProfile.cls | 31 + .../Slack/BotsInfoRequest.cls | 16 + .../Slack/BotsInfoResponse.cls | 39 + .../246/StandardApexLibrary/Slack/Call.cls | 26 + .../Slack/CallParticipant.cls | 14 + .../Slack/CallRejectedEvent.cls | 16 + .../Slack/CallableHandler.cls | 4 + .../Slack/CallsAddRequest.cls | 28 + .../Slack/CallsAddResponse.cls | 22 + .../Slack/CallsEndRequest.cls | 16 + .../Slack/CallsEndResponse.cls | 22 + .../Slack/CallsInfoRequest.cls | 14 + .../Slack/CallsInfoResponse.cls | 22 + .../Slack/CallsParticipantsAddRequest.cls | 16 + .../Slack/CallsParticipantsAddResponse.cls | 22 + .../Slack/CallsParticipantsRemoveRequest.cls | 16 + .../Slack/CallsParticipantsRemoveResponse.cls | 22 + .../Slack/CallsUpdateRequest.cls | 20 + .../Slack/CallsUpdateResponse.cls | 22 + .../246/StandardApexLibrary/Slack/Channel.cls | 80 + .../Slack/ChannelArchiveEvent.cls | 16 + .../Slack/ChannelCreatedEvent.cls | 35 + .../Slack/ChannelDeletedEvent.cls | 14 + .../Slack/ChannelHistoryChangedEvent.cls | 14 + .../Slack/ChannelIdChangedEvent.cls | 14 + .../Slack/ChannelLeftEvent.cls | 14 + .../Slack/ChannelRenameEvent.cls | 29 + .../Slack/ChannelSharedEvent.cls | 14 + .../Slack/ChannelUnarchiveEvent.cls | 14 + .../Slack/ChannelUnsharedEvent.cls | 16 + .../Slack/ChatDeleteRequest.cls | 16 + .../Slack/ChatDeleteResponse.cls | 24 + .../ChatDeleteScheduledMessageRequest.cls | 16 + .../ChatDeleteScheduledMessageResponse.cls | 18 + .../Slack/ChatGetPermalinkRequest.cls | 16 + .../Slack/ChatGetPermalinkResponse.cls | 22 + .../Slack/ChatMeMessageRequest.cls | 16 + .../Slack/ChatMeMessageResponse.cls | 22 + .../Slack/ChatPostEphemeralRequest.cls | 33 + .../Slack/ChatPostEphemeralResponse.cls | 22 + .../Slack/ChatPostMessageRequest.cls | 39 + .../Slack/ChatPostMessageResponse.cls | 30 + .../Slack/ChatScheduleMessageRequest.cls | 33 + .../Slack/ChatScheduleMessageResponse.cls | 47 + .../ChatScheduledMessagesListRequest.cls | 24 + .../ChatScheduledMessagesListResponse.cls | 37 + .../Slack/ChatUpdateRequest.cls | 25 + .../Slack/ChatUpdateResponse.cls | 30 + .../Slack/ConnectChannel.cls | 14 + .../Slack/ConnectInvite.cls | 20 + .../Slack/ConnectInviteAcceptance.cls | 20 + .../Slack/ConnectInviteDetail.cls | 22 + .../Slack/ConnectInviteReview.cls | 12 + .../StandardApexLibrary/Slack/ConnectTeam.cls | 20 + .../StandardApexLibrary/Slack/ConnectUser.cls | 18 + .../Slack/ConnectUserProfile.cls | 38 + .../Slack/Conversation.cls | 108 ++ .../Slack/ConversationType.cls | 6 + ...ConversationsAcceptSharedInviteRequest.cls | 24 + ...onversationsAcceptSharedInviteResponse.cls | 26 + .../Slack/ConversationsArchiveRequest.cls | 14 + .../Slack/ConversationsArchiveResponse.cls | 18 + .../Slack/ConversationsCloseRequest.cls | 14 + .../Slack/ConversationsCloseResponse.cls | 22 + .../Slack/ConversationsCreateRequest.cls | 18 + .../Slack/ConversationsCreateResponse.cls | 22 + ...onversationsDeclineSharedInviteRequest.cls | 16 + ...nversationsDeclineSharedInviteResponse.cls | 18 + .../Slack/ConversationsHistoryRequest.cls | 26 + .../Slack/ConversationsHistoryResponse.cls | 34 + .../Slack/ConversationsInfoRequest.cls | 18 + .../Slack/ConversationsInfoResponse.cls | 20 + .../Slack/ConversationsInviteRequest.cls | 16 + .../Slack/ConversationsInviteResponse.cls | 31 + .../ConversationsInviteSharedRequest.cls | 20 + .../ConversationsInviteSharedResponse.cls | 26 + .../Slack/ConversationsJoinRequest.cls | 14 + .../Slack/ConversationsJoinResponse.cls | 22 + .../Slack/ConversationsKickRequest.cls | 16 + .../Slack/ConversationsKickResponse.cls | 18 + .../Slack/ConversationsLeaveRequest.cls | 14 + .../Slack/ConversationsLeaveResponse.cls | 20 + ...ConversationsListConnectInvitesRequest.cls | 18 + ...onversationsListConnectInvitesResponse.cls | 24 + .../Slack/ConversationsListRequest.cls | 21 + .../Slack/ConversationsListResponse.cls | 22 + .../Slack/ConversationsMarkRequest.cls | 16 + .../Slack/ConversationsMarkResponse.cls | 20 + .../Slack/ConversationsMembersRequest.cls | 18 + .../Slack/ConversationsMembersResponse.cls | 22 + .../Slack/ConversationsOpenRequest.cls | 18 + .../Slack/ConversationsOpenResponse.cls | 24 + .../Slack/ConversationsRenameRequest.cls | 16 + .../Slack/ConversationsRenameResponse.cls | 20 + .../Slack/ConversationsRepliesRequest.cls | 28 + .../Slack/ConversationsRepliesResponse.cls | 24 + .../Slack/ConversationsSetPurposeRequest.cls | 16 + .../Slack/ConversationsSetPurposeResponse.cls | 20 + .../Slack/ConversationsSetTopicRequest.cls | 16 + .../Slack/ConversationsSetTopicResponse.cls | 20 + .../Slack/ConversationsUnarchiveRequest.cls | 14 + .../Slack/ConversationsUnarchiveResponse.cls | 18 + .../Slack/DndEndDndRequest.cls | 12 + .../Slack/DndEndDndResponse.cls | 18 + .../Slack/DndEndSnoozeRequest.cls | 12 + .../Slack/DndEndSnoozeResponse.cls | 26 + .../Slack/DndInfoRequest.cls | 16 + .../Slack/DndInfoResponse.cls | 30 + .../Slack/DndSetSnoozeRequest.cls | 14 + .../Slack/DndSetSnoozeResponse.cls | 26 + .../Slack/DndTeamInfoRequest.cls | 16 + .../Slack/DndTeamInfoResponse.cls | 31 + .../Slack/DndUpdatedEvent.cls | 31 + .../Slack/DndUpdatedUserEvent.cls | 25 + .../Slack/EmailDomainChangedEvent.cls | 12 + .../Slack/EmojiChangedEvent.cls | 21 + .../Slack/EmojiListRequest.cls | 14 + .../Slack/EmojiListResponse.cls | 35 + .../StandardApexLibrary/Slack/ErrorReport.cls | 22 + .../Slack/ErrorResponseMetadata.cls | 8 + .../246/StandardApexLibrary/Slack/Event.cls | 7 + .../Slack/EventDispatcher.cls | 7 + .../Slack/EventParameters.cls | 8 + .../246/StandardApexLibrary/Slack/Field.cls | 12 + .../246/StandardApexLibrary/Slack/File.cls | 329 +++++ .../Slack/FileChangeEvent.cls | 19 + .../StandardApexLibrary/Slack/FileComment.cls | 20 + .../Slack/FileCreatedEvent.cls | 23 + .../Slack/FileDeletedEvent.cls | 14 + .../Slack/FilePublicEvent.cls | 23 + .../Slack/FileSharedEvent.cls | 25 + .../Slack/FileUnsharedEvent.cls | 25 + .../Slack/FilesDeleteRequest.cls | 14 + .../Slack/FilesDeleteResponse.cls | 18 + .../Slack/FilesDownloadRequest.cls | 14 + .../Slack/FilesInfoRequest.cls | 18 + .../Slack/FilesInfoResponse.cls | 28 + .../Slack/FilesListRequest.cls | 30 + .../Slack/FilesListResponse.cls | 22 + .../Slack/FilesRemoteAddRequest.cls | 20 + .../Slack/FilesRemoteAddResponse.cls | 20 + .../Slack/FilesRemoteInfoRequest.cls | 16 + .../Slack/FilesRemoteInfoResponse.cls | 20 + .../Slack/FilesRemoteListRequest.cls | 22 + .../Slack/FilesRemoteListResponse.cls | 22 + .../Slack/FilesRemoteRemoveRequest.cls | 16 + .../Slack/FilesRemoteRemoveResponse.cls | 18 + .../Slack/FilesRemoteShareRequest.cls | 18 + .../Slack/FilesRemoteShareResponse.cls | 20 + .../Slack/FilesRemoteUpdateRequest.cls | 20 + .../Slack/FilesRemoteUpdateResponse.cls | 20 + .../Slack/FilesRevokePublicURLRequest.cls | 14 + .../Slack/FilesRevokePublicURLResponse.cls | 20 + .../Slack/FilesSharedPublicURLRequest.cls | 14 + .../Slack/FilesSharedPublicURLResponse.cls | 20 + .../Slack/GridMigrationFinishedEvent.cls | 10 + .../Slack/GridMigrationStartedEvent.cls | 10 + .../Slack/GroupArchiveEvent.cls | 18 + .../Slack/GroupCloseEvent.cls | 12 + .../Slack/GroupDeletedEvent.cls | 16 + .../Slack/GroupHistoryChangedEvent.cls | 14 + .../Slack/GroupLeftEvent.cls | 14 + .../Slack/GroupOpenEvent.cls | 12 + .../Slack/GroupRenameEvent.cls | 31 + .../Slack/GroupUnarchiveEvent.cls | 14 + .../StandardApexLibrary/Slack/HomeView.cls | 13 + .../Slack/ImCloseEvent.cls | 14 + .../Slack/ImCreatedEvent.cls | 17 + .../Slack/ImHistoryChangedEvent.cls | 14 + .../StandardApexLibrary/Slack/ImOpenEvent.cls | 14 + .../Slack/IntegrationLog.cls | 38 + .../Slack/InviteRequestedEvent.cls | 46 + .../246/StandardApexLibrary/Slack/Latest.cls | 55 + .../Slack/LinkSharedEvent.cls | 35 + .../246/StandardApexLibrary/Slack/Login.cls | 26 + .../StandardApexLibrary/Slack/MatchedItem.cls | 272 ++++ .../Slack/MemberJoinedChannelEvent.cls | 20 + .../Slack/MemberLeftChannelEvent.cls | 18 + .../246/StandardApexLibrary/Slack/Message.cls | 258 ++++ .../Slack/MessageBotEvent.cls | 24 + .../Slack/MessageChangedEvent.cls | 98 ++ .../Slack/MessageChannelJoinEvent.cls | 24 + .../MessageChannelPostingPermissionsEvent.cls | 20 + .../Slack/MessageChannelTopicEvent.cls | 22 + .../Slack/MessageContent.cls | 6 + .../Slack/MessageContext.cls | 18 + .../Slack/MessageDeletedEvent.cls | 91 ++ .../Slack/MessageEkmAccessDeniedEvent.cls | 22 + .../Slack/MessageEvent.cls | 45 + .../Slack/MessageFileShareEvent.cls | 32 + .../Slack/MessageGroupTopicEvent.cls | 22 + .../Slack/MessageMeEvent.cls | 22 + .../Slack/MessageRepliedEvent.cls | 55 + .../Slack/MessageThreadBroadcastEvent.cls | 24 + .../Slack/MigrationExchangeRequest.cls | 18 + .../Slack/MigrationExchangeResponse.cls | 26 + .../Slack/ModalHandler.cls | 4 + .../StandardApexLibrary/Slack/ModalView.cls | 17 + .../246/StandardApexLibrary/Slack/Option.cls | 7 + .../Slack/OptionDataResponse.cls | 8 + .../StandardApexLibrary/Slack/OptionGroup.cls | 7 + .../246/StandardApexLibrary/Slack/Paging.cls | 20 + .../Slack/PinAddedEvent.cls | 79 + .../Slack/PinRemovedEvent.cls | 81 + .../Slack/PinsAddRequest.cls | 16 + .../Slack/PinsAddResponse.cls | 20 + .../Slack/PinsListRequest.cls | 14 + .../Slack/PinsListResponse.cls | 39 + .../Slack/PinsRemoveRequest.cls | 16 + .../Slack/PinsRemoveResponse.cls | 18 + .../246/StandardApexLibrary/Slack/Purpose.cls | 12 + .../StandardApexLibrary/Slack/Reaction.cls | 14 + .../Slack/ReactionAddedEvent.cls | 33 + .../Slack/ReactionRemovedEvent.cls | 33 + .../Slack/ReactionsAddRequest.cls | 18 + .../Slack/ReactionsAddResponse.cls | 18 + .../Slack/ReactionsGetRequest.cls | 22 + .../Slack/ReactionsGetResponse.cls | 53 + .../Slack/ReactionsListRequest.cls | 26 + .../Slack/ReactionsListResponse.cls | 145 ++ .../Slack/ReactionsRemoveRequest.cls | 22 + .../Slack/ReactionsRemoveResponse.cls | 18 + .../StandardApexLibrary/Slack/Reminder.cls | 35 + .../Slack/RemindersAddRequest.cls | 20 + .../Slack/RemindersAddResponse.cls | 22 + .../Slack/RemindersCompleteRequest.cls | 16 + .../Slack/RemindersCompleteResponse.cls | 18 + .../Slack/RemindersDeleteRequest.cls | 16 + .../Slack/RemindersDeleteResponse.cls | 18 + .../Slack/RemindersInfoRequest.cls | 16 + .../Slack/RemindersInfoResponse.cls | 20 + .../Slack/RemindersListRequest.cls | 14 + .../Slack/RemindersListResponse.cls | 20 + .../Slack/RequestContext.cls | 35 + .../Slack/RequestedApp.cls | 28 + .../Slack/ResponseMetadata.cls | 12 + .../Slack/RunnableHandler.cls | 4 + .../Slack/SearchAllRequest.cls | 26 + .../Slack/SearchAllResponse.cls | 35 + .../Slack/SearchFilesRequest.cls | 26 + .../Slack/SearchFilesResponse.cls | 22 + .../Slack/SearchMessagesRequest.cls | 28 + .../Slack/SearchMessagesResponse.cls | 22 + .../Slack/SearchResult.cls | 33 + .../SharedChannelInviteAcceptedEvent.cls | 20 + .../SharedChannelInviteApprovedEvent.cls | 20 + .../SharedChannelInviteDeclinedEvent.cls | 20 + .../SharedChannelInviteReceivedEvent.cls | 14 + .../Slack/ShortcutDispatcher.cls | 7 + .../Slack/ShortcutParameters.cls | 6 + .../Slack/SlashCommandDispatcher.cls | 7 + .../Slack/SlashCommandParameters.cls | 7 + .../Slack/StarAddedEvent.cls | 73 + .../Slack/StarRemovedEvent.cls | 71 + .../Slack/StarsAddRequest.cls | 20 + .../Slack/StarsAddResponse.cls | 18 + .../Slack/StarsListRequest.cls | 22 + .../Slack/StarsListResponse.cls | 135 ++ .../Slack/StarsRemoveRequest.cls | 20 + .../Slack/StarsRemoveResponse.cls | 18 + .../Slack/SubteamCreatedEvent.cls | 68 + .../Slack/SubteamMembersChangedEvent.cls | 26 + .../Slack/SubteamSelfAddedEvent.cls | 12 + .../Slack/SubteamSelfRemovedEvent.cls | 12 + .../Slack/SubteamUpdatedEvent.cls | 68 + .../246/StandardApexLibrary/Slack/Team.cls | 79 + .../Slack/TeamAccessGrantedEvent.cls | 12 + .../Slack/TeamAccessLogsRequest.cls | 20 + .../Slack/TeamAccessLogsResponse.cls | 22 + .../Slack/TeamAccessRevokedEvent.cls | 12 + .../Slack/TeamBillableInfoRequest.cls | 16 + .../Slack/TeamBillableInfoResponse.cls | 20 + .../Slack/TeamDomainChangeEvent.cls | 12 + .../StandardApexLibrary/Slack/TeamIcon.cls | 24 + .../Slack/TeamInfoRequest.cls | 16 + .../Slack/TeamInfoResponse.cls | 20 + .../Slack/TeamIntegrationLogsRequest.cls | 26 + .../Slack/TeamIntegrationLogsResponse.cls | 22 + .../Slack/TeamJoinEvent.cls | 10 + .../Slack/TeamProfileGetRequest.cls | 16 + .../Slack/TeamProfileGetResponse.cls | 44 + .../Slack/TeamRenameEvent.cls | 10 + .../StandardApexLibrary/Slack/TestHarness.cls | 466 ++++++ .../StandardApexLibrary/Slack/TokenInfo.cls | 9 + .../StandardApexLibrary/Slack/TokenType.cls | 4 + .../Slack/TokensRevokedEvent.cls | 19 + .../246/StandardApexLibrary/Slack/Topic.cls | 12 + .../Slack/UisfUserAuthedEvent.cls | 13 + .../246/StandardApexLibrary/Slack/User.cls | 182 +++ .../Slack/UserChangeEvent.cls | 12 + .../StandardApexLibrary/Slack/UserClient.cls | 107 ++ .../Slack/UserClientMock.cls | 108 ++ .../StandardApexLibrary/Slack/UserMapping.cls | 7 + .../Slack/UserMappingResult.cls | 8 + .../Slack/UserMappingService.cls | 9 + .../Slack/UserMappingUrlServiceProvider.cls | 7 + .../Slack/UserProvisioningErrorCode.cls | 7 + .../Slack/UserProvisioningProvider.cls | 8 + .../Slack/UserProvisioningResult.cls | 8 + .../Slack/UserResourceDeniedEvent.cls | 14 + .../Slack/UserResourceGrantedEvent.cls | 14 + .../Slack/UserResourceRemovedEvent.cls | 12 + .../StandardApexLibrary/Slack/UserType.cls | 5 + .../Slack/Usergroup.Prefs.cls | 9 + .../StandardApexLibrary/Slack/Usergroup.cls | 57 + .../Slack/UsergroupsCreateRequest.cls | 24 + .../Slack/UsergroupsCreateResponse.cls | 20 + .../Slack/UsergroupsDisableRequest.cls | 18 + .../Slack/UsergroupsDisableResponse.cls | 20 + .../Slack/UsergroupsEnableRequest.cls | 18 + .../Slack/UsergroupsEnableResponse.cls | 20 + .../Slack/UsergroupsListRequest.cls | 20 + .../Slack/UsergroupsListResponse.cls | 20 + .../Slack/UsergroupsUpdateRequest.cls | 26 + .../Slack/UsergroupsUpdateResponse.cls | 20 + .../Slack/UsergroupsUsersListRequest.cls | 18 + .../Slack/UsergroupsUsersListResponse.cls | 20 + .../Slack/UsergroupsUsersUpdateRequest.cls | 20 + .../Slack/UsergroupsUsersUpdateResponse.cls | 20 + .../Slack/UsersConversationsRequest.cls | 23 + .../Slack/UsersConversationsResponse.cls | 22 + .../Slack/UsersDeletePhotoRequest.cls | 12 + .../Slack/UsersDeletePhotoResponse.cls | 18 + .../Slack/UsersGetPresenceRequest.cls | 14 + .../Slack/UsersGetPresenceResponse.cls | 30 + .../Slack/UsersIdentityRequest.cls | 12 + .../Slack/UsersIdentityResponse.cls | 54 + .../Slack/UsersInfoRequest.cls | 16 + .../Slack/UsersInfoResponse.cls | 20 + .../Slack/UsersListRequest.cls | 20 + .../Slack/UsersListResponse.cls | 26 + .../Slack/UsersLookupByEmailRequest.cls | 14 + .../Slack/UsersLookupByEmailResponse.cls | 22 + .../Slack/UsersProfileGetRequest.cls | 16 + .../Slack/UsersProfileGetResponse.cls | 18 + .../Slack/UsersProfileSetRequest.cls | 18 + .../Slack/UsersProfileSetResponse.cls | 20 + .../Slack/UsersSetActiveRequest.cls | 12 + .../Slack/UsersSetActiveResponse.cls | 18 + .../Slack/UsersSetPresenceRequest.cls | 14 + .../Slack/UsersSetPresenceResponse.cls | 18 + .../246/StandardApexLibrary/Slack/View.cls | 10 + .../StandardApexLibrary/Slack/ViewContext.cls | 18 + .../Slack/ViewReference.cls | 9 + .../Slack/ViewsOpenRequest.cls | 15 + .../Slack/ViewsOpenResponse.cls | 20 + .../Slack/ViewsPublishRequest.cls | 17 + .../Slack/ViewsPublishResponse.cls | 20 + .../Slack/ViewsPushRequest.cls | 15 + .../Slack/ViewsPushResponse.cls | 20 + .../Slack/ViewsUpdateRequest.cls | 19 + .../Slack/ViewsUpdateResponse.cls | 20 + .../Slack/WarningResponseMetadata.cls | 8 + .../Slack/WorkflowStepInput.cls | 12 + .../Slack/WorkflowStepOutput.cls | 12 + .../Slack/WorkflowsStepCompletedRequest.cls | 18 + .../Slack/WorkflowsStepCompletedResponse.cls | 18 + .../Slack/WorkflowsStepFailedRequest.cls | 16 + .../Slack/WorkflowsStepFailedResponse.cls | 18 + .../Slack/WorkflowsUpdateStepRequest.cls | 26 + .../Slack/WorkflowsUpdateStepResponse.cls | 18 + .../Support/EmailTemplateSelector.cls | 4 + .../Support/EmailToCaseHandler.cls | 5 + .../MilestoneTriggerTimeCalculator.cls | 4 + .../Support/WorkCapacityCalculation.cls | 7 + .../Support/WorkCapacityDuration.cls | 8 + .../Support/WorkCapacityInfo.cls | 6 + .../System/AccessLevel.cls | 6 + .../StandardApexLibrary/System/AccessType.cls | 6 + .../StandardApexLibrary/System/Address.cls | 23 + .../StandardApexLibrary/System/Answers.cls | 7 + .../StandardApexLibrary/System/ApexPages.cls | 9 + .../System/AppExchangeTrialTemplate.cls | 9 + .../System/AppExchangeUserPerms.cls | 6 + .../StandardApexLibrary/System/Approval.cls | 23 + .../246/StandardApexLibrary/System/Assert.cls | 23 + .../System/AssertException.cls | 15 + .../System/AsyncException.cls | 15 + .../StandardApexLibrary/System/AsyncInfo.cls | 9 + .../System/AsyncOptions.cls | 7 + .../246/StandardApexLibrary/System/Aura.cls | 4 + .../System/BcpProvisionService.cls | 6 + .../System/BigObjectException.cls | 15 + .../System/BusinessHours.cls | 10 + .../246/StandardApexLibrary/System/Busop.cls | 12 + .../StandardApexLibrary/System/Callable.cls | 4 + .../System/CalloutException.cls | 15 + .../System/CanvasException.cls | 15 + .../246/StandardApexLibrary/System/Cases.cls | 8 + .../System/Communities.cls | 11 + .../StandardApexLibrary/System/Comparable.cls | 4 + .../System/Continuation.cls | 12 + .../246/StandardApexLibrary/System/Cookie.cls | 12 + .../246/StandardApexLibrary/System/Crypto.cls | 21 + .../System/DataWeaveScriptException.cls | 15 + .../StandardApexLibrary/System/Database.cls | 154 ++ .../246/StandardApexLibrary/System/Date.cls | 10 + .../System/DistributedLedgerService.cls | 6 + .../System/DmlException.cls | 23 + .../246/StandardApexLibrary/System/Domain.cls | 9 + .../System/DomainCreator.cls | 15 + .../System/DomainParser.cls | 7 + .../StandardApexLibrary/System/DomainType.cls | 15 + .../StandardApexLibrary/System/Dynamic.cls | 9 + .../System/EmailException.cls | 23 + .../System/EmailMessages.cls | 7 + .../System/EmailTemplateRenderException.cls | 15 + .../System/EncodingUtil.cls | 11 + .../StandardApexLibrary/System/EventBus.cls | 8 + .../System/EventObjectException.cls | 15 + .../System/ExternalObjectException.cls | 15 + .../System/FeatureManagement.cls | 13 + .../System/FinalException.cls | 15 + .../StandardApexLibrary/System/Finalizer.cls | 4 + .../System/FinalizerContext.cls | 7 + .../System/FinalizerContextImpl.cls | 8 + .../StandardApexLibrary/System/FlexQueue.cls | 7 + .../System/FlowException.cls | 15 + .../StandardApexLibrary/System/Formula.cls | 6 + .../System/FormulaRecalcFieldError.cls | 6 + .../System/FormulaRecalcResult.cls | 7 + .../System/HandledException.cls | 15 + .../246/StandardApexLibrary/System/Http.cls | 6 + .../System/HttpCalloutMock.cls | 4 + .../System/HttpRequest.cls | 22 + .../System/HttpResponse.cls | 18 + .../246/StandardApexLibrary/System/Ideas.cls | 10 + .../System/IllegalArgumentException.cls | 9 + .../System/InvalidHeaderException.cls | 9 + .../System/InvalidParameterValueException.cls | 12 + .../InvalidReadOnlyUserDmlException.cls | 15 + .../StandardApexLibrary/System/Iterable.cls | 4 + .../StandardApexLibrary/System/Iterator.cls | 5 + .../246/StandardApexLibrary/System/JSON.cls | 14 + .../System/JSONException.cls | 15 + .../System/JSONGenerator.cls | 38 + .../StandardApexLibrary/System/JSONParser.cls | 25 + .../StandardApexLibrary/System/JSONToken.cls | 15 + .../System/LicenseException.cls | 15 + .../System/LimitException.cls | 15 + .../246/StandardApexLibrary/System/Limits.cls | 57 + .../System/ListException.cls | 15 + .../StandardApexLibrary/System/Location.cls | 9 + .../System/LoggingLevel.cls | 11 + .../StandardApexLibrary/System/Matcher.cls | 31 + .../246/StandardApexLibrary/System/Math.cls | 65 + .../System/MathException.cls | 15 + .../StandardApexLibrary/System/Messaging.cls | 14 + .../System/MultiStaticResourceCalloutMock.cls | 10 + .../StandardApexLibrary/System/Network.cls | 17 + .../System/NoAccessException.cls | 12 + .../System/NoDataFoundException.cls | 12 + .../System/NoSuchElementException.cls | 15 + .../System/NullPointerException.cls | 12 + .../System/OrgInstrumentationContext.cls | 9 + .../System/OrgInstrumentationOperation.cls | 16 + .../System/OrgInstrumentationService.cls | 10 + .../StandardApexLibrary/System/OrgLimit.cls | 8 + .../StandardApexLibrary/System/OrgLimits.cls | 7 + .../System/OrgMetricPublishTypeEnum.cls | 6 + .../System/OrgMetricServiceEnum.cls | 9 + .../System/OrgMetricTypeEnum.cls | 5 + .../PackageOMCopyForRzoneEnvironment.cls | 5 + .../StandardApexLibrary/System/Packaging.cls | 6 + .../System/PageReference.cls | 5 + .../System/ParentJobResult.cls | 4 + .../StandardApexLibrary/System/Pattern.cls | 11 + .../System/PlatformCacheException.cls | 15 + .../System/PolyglotException.cls | 15 + .../System/ProcedureException.cls | 15 + .../System/QueryException.cls | 15 + .../StandardApexLibrary/System/Queueable.cls | 4 + .../System/QueueableContext.cls | 4 + .../System/QueueableContextImpl.cls | 5 + .../System/QuickAction.cls | 11 + .../StandardApexLibrary/System/Quiddity.cls | 30 + .../System/RemoteObjectController.cls | 9 + .../StandardApexLibrary/System/Request.cls | 8 + .../System/RequestImpl.cls | 5 + .../RequiredFeatureMissingException.cls | 15 + .../System/ResetPasswordResult.cls | 5 + .../System/RestContext.cls | 6 + .../System/RestRequest.cls | 14 + .../System/RestResponse.cls | 9 + .../System/RoundingMode.cls | 10 + .../System/SObjectAccessDecision.cls | 7 + .../System/SObjectException.cls | 15 + .../System/SandboxContext.cls | 6 + .../System/SandboxPostCopy.cls | 4 + .../System/Schedulable.cls | 4 + .../System/SchedulableContext.cls | 4 + .../System/SchedulableContextImpl.cls | 4 + .../246/StandardApexLibrary/System/Schema.cls | 12 + .../246/StandardApexLibrary/System/Search.cls | 9 + .../System/SearchException.cls | 15 + .../StandardApexLibrary/System/Security.cls | 7 + .../System/SecurityException.cls | 15 + .../System/SelectOption.cls | 13 + .../System/SerializationException.cls | 15 + .../StandardApexLibrary/System/SetupScope.cls | 5 + .../246/StandardApexLibrary/System/Site.cls | 50 + .../System/StaticResourceCalloutMock.cls | 10 + .../StandardApexLibrary/System/StatusCode.cls | 524 +++++++ .../System/StringException.cls | 15 + .../System/StubProvider.cls | 4 + .../System/SupportPredictiveService.cls | 6 + .../246/StandardApexLibrary/System/System.cls | 148 ++ .../246/StandardApexLibrary/System/Test.cls | 35 + .../246/StandardApexLibrary/System/Time.cls | 4 + .../StandardApexLibrary/System/TimeZone.cls | 9 + .../System/TouchHandledException.cls | 12 + .../System/TrailblazerIdentity.cls | 8 + .../System/TriggerOperation.cls | 9 + .../246/StandardApexLibrary/System/Type.cls | 12 + .../System/TypeException.cls | 15 + .../System/UnexpectedException.cls | 15 + .../System/UnsupportedOperationException.cls | 9 + .../246/StandardApexLibrary/System/Url.cls | 25 + .../StandardApexLibrary/System/UserInfo.cls | 27 + .../System/UserManagement.cls | 20 + .../StandardApexLibrary/System/Version.cls | 9 + .../System/VisualforceException.cls | 15 + .../System/WaveTemplateException.cls | 15 + .../System/WebServiceCallout.cls | 6 + .../System/WebServiceCalloutFuture.cls | 5 + .../System/WebServiceMock.cls | 4 + .../System/WebStoreContext.cls | 6 + .../System/XmlException.cls | 15 + .../System/XmlStreamReader.cls | 36 + .../System/XmlStreamWriter.cls | 19 + .../246/StandardApexLibrary/System/XmlTag.cls | 17 + .../System/YubiAuthForAloha.cls | 6 + .../OpportunityTerritory2AssignmentFilter.cls | 4 + .../StandardApexLibrary/TxnSecurity/Event.cls | 13 + .../TxnSecurity/EventCondition.cls | 4 + .../TxnSecurity/PolicyCondition.cls | 4 + .../UserProvisioning/CollectingBatchable.cls | 22 + .../UserProvisioning/CommittingBatchable.cls | 8 + .../UserProvisioning/ConnectorTestUtil.cls | 6 + .../UserProvisioning/DeletingBatchable.cls | 8 + .../DummyConnectorApexHandler.cls | 6 + .../UserProvisioning/FlowProvisionBase.cls | 9 + .../UserProvisioning/LinkingBatchable.cls | 12 + .../UserProvisioning/PluginBatchable.cls | 18 + .../ProvisioningBatchable.cls | 19 + .../ProvisioningProcessHandlerInput.cls | 20 + .../ProvisioningProcessHandlerOutput.cls | 36 + .../UserProvisioning/RequestingBatchable.cls | 8 + .../UPASCleaningBatchable.cls | 8 + .../UserProvisioning/UserProvisioningLog.cls | 8 + .../UserProvisioningPlugin.cls | 9 + .../UserProvisioningProcessHandler.cls | 6 + .../VisualEditor/DataRow.cls | 10 + .../VisualEditor/DesignTimePageContext.cls | 7 + .../VisualEditor/DynamicPickList.cls | 9 + .../VisualEditor/DynamicPickListRows.cls | 15 + .../246/StandardApexLibrary/Wave/Dags.cls | 7 + .../Wave/DagsSearchOptions.cls | 14 + .../Wave/InvalidParameterException.cls | 8 + .../246/StandardApexLibrary/Wave/Lenses.cls | 9 + .../Wave/LensesSearchOptions.cls | 12 + .../246/StandardApexLibrary/Wave/NodeType.cls | 3 + .../Wave/ProjectionNode.cls | 12 + .../Wave/ProjectionType.cls | 3 + .../StandardApexLibrary/Wave/QueryBuilder.cls | 11 + .../Wave/QueryBuilderValidationUtil.cls | 5 + .../StandardApexLibrary/Wave/QueryNode.cls | 13 + .../StandardApexLibrary/Wave/Templates.cls | 13 + .../Wave/TemplatesSearchOptions.cls | 8 + .../Wave/TrendedDatasetProcessor.cls | 6 + .../Wave/WaveQueryException.cls | 8 + .sfdx/tools/246/apex.db | Bin 0 -> 10153984 bytes gameplan.txt | 3 + includes/minirt.h | 4 +- minirt | Bin 158872 -> 158744 bytes scenes/basic_shapes.rt | 25 + scenes/cylinders.rt | 4 +- scenes/plane_new.rt | 4 +- srcs/camera.c | 23 +- srcs/camera.o | Bin 10560 -> 10536 bytes srcs/cylinder.c | 4 +- srcs/cylinder.o | Bin 28968 -> 28768 bytes srcs/event_handler.c | 6 +- srcs/event_handler.o | Bin 14016 -> 14016 bytes srcs/render.c | 14 +- srcs/render.o | Bin 25176 -> 24720 bytes 3126 files changed, 44485 insertions(+), 24 deletions(-) create mode 100644 .sfdx/tools/246/StandardApexLibrary/ApexPages/Action.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ApexPages/Component.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ApexPages/ComponentIteration.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ApexPages/HammerProcessor.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ApexPages/IdeaStandardController.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ApexPages/IdeaStandardSetController.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ApexPages/KnowledgeArticleVersionStandardController.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ApexPages/Message.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ApexPages/PageReference.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ApexPages/SelectOption.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ApexPages/Severity.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ApexPages/StandardController.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ApexPages/StandardSetController.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/AppLauncher/AccountSettingsController.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/AppLauncher/AppLauncherHelper.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/AppLauncher/AppLauncherSetupReordererController.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/AppLauncher/AppMenu.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/AppLauncher/ChangePasswordController.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/AppLauncher/CommerceStoreController.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/AppLauncher/CommunityLogoController.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/AppLauncher/EmployeeLoginLinkController.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/AppLauncher/ForgotPasswordController.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/AppLauncher/IdentityHeaderController.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/AppLauncher/LoginFormController.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/AppLauncher/SelfRegisterController.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/AppLauncher/SocialLoginController.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Approval/LockResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Approval/ProcessRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Approval/ProcessResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Approval/ProcessSubmitRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Approval/ProcessWorkitemRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Approval/UnlockResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/AuthConfiguration.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/AuthProviderCallbackState.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/AuthProviderPlugin.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/AuthProviderPluginClass.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/AuthProviderPluginException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/AuthProviderTokenResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/AuthToken.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/C2CToken.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/CommunitiesUtil.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/ConfigurableSelfRegHandler.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/ConfirmUserRegistrationHandler.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/ConnectedAppPlugin.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/ConnectedAppPluginException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/DiscoveryCustomErrorException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/HeadlessSelfRegistrationHandler.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/InvocationContext.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/JWS.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/JWT.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/JWTBearerTokenExchange.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/LightningLoginEligibility.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/LoginDiscoveryException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/LoginDiscoveryHandler.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/LoginDiscoveryMethod.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/MyDomainLoginDiscoveryHandler.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/OAuthRefreshResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/RegistrationHandler.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/SamlJitHandler.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/SessionLevel.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/SessionManagement.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/ThirdPartyAccountLinkInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/UserData.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/UserOrgInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/VerificationException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/VerificationMethod.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/VerificationPolicy.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Auth/VerificationResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Cache/BulkApiKeysLimitExceededException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Cache/CacheBuilder.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Cache/CacheBuilderExecutionException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Cache/CacheException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Cache/ExecutionException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Cache/InvalidCacheBuilderException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Cache/InvalidParamException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Cache/ItemSizeLimitExceededException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Cache/Org.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Cache/OrgPartition.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Cache/Partition.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Cache/PlatformCacheDelegateWrapper.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Cache/PlatformCacheInvalidOperationException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Cache/ScanResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Cache/SecondaryKeyApi.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Cache/Session.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Cache/SessionPartition.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Cache/UnsupportedOperationException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Cache/Visibility.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Canvas/ApplicationContext.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Canvas/CanvasLifecycleHandler.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Canvas/CanvasRenderException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Canvas/ContextTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Canvas/EnvironmentContext.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Canvas/RenderContext.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Canvas/Test.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ChatterAnswers/AccountCreator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ChatterAnswers/ChatterServiceRegisterController.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ChatterAnswers/SCCChangePasswordController.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ChatterAnswers/SCCForgotPasswordConfirmController.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ChatterAnswers/SCCForgotPasswordController.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AIFieldRecommendation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AIFieldRecommendationCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AIFieldRecommendationValue.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractCartItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractContentHubItemType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractCreateServiceAppointmentInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractDirectoryEntrySummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractExtensionInformation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractGatewayCommonResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractGatewayResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractManagedContentDeliveryDocument.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractManagedContentReference.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractMessageBody.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractNBAAction.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractNBATarget.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractProductAttributeSetSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractProductSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRecommendation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRecommendationExplanation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRecordField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRecordView.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRepositoryFile.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRepositoryFolder.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRepositoryItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSearchSuggestion.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryAIModelMetrics.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryAIModelSource.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryAggregatePredictionRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryAssetReference.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryFieldMappingSource.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryManyToOneTransformation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryModelField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryModelRuntime.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryModelRuntimeInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryOneToOneTransformation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryPredictConditionRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryPredictInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryPredictRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryPredictionProperty.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryProjectedPrediction.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryProjectedPredictionsIntervalSetting.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryProjectedPredictionsIntervalSettingInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryTransformation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryTransformationFilter.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryTransformationOverride.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryTransformationOverrideInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractUserMissionActivity.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Abstractcommerceproductsearchresults.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkDefinition.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkDefinitionInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkDiagnosticInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkExecutionsAllowed.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkGroupDefinition.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkGroupDefinitionInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkTemplateBindingInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinks.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ActivitySharingInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ActivitySharingResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ActivitySharingType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Actor.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ActorWithId.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AddItemAdjustmentOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AddItemOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AddItemTaxOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AddOrderItemSummaryOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AdditionalTransactionJournalAttributeOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Address.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AddressRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AdjustItemInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AdjustOrderItemSummaryInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AdjustOrderSummaryOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AdjustmentAmountScope.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AdjustmentType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AiAcceleratorConnectFamily.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Alternative.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AlternativeInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AlternativePaymentMethod.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AlternativePaymentMethodOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AnalysisFieldDataPropertyEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AnalyticsLicenseAttributes.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AnalyticsLicenseType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Announcement.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AnnouncementInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AnnouncementPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Announcements.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ApexClassOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ApplicationSettings.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ApplicationSettingsCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ApplicationsRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ApplyCreditResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ApplyCreditResults.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AppointedRepresentativeOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AppointmentSlotResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AppointmentSlotStatusResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ApprovalAttachment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ApprovalCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ApprovalIntent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ApprovalPostTemplateField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleRecommendation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleRecommendationCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleRecommendationsChannelType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleRecommendationsRuntimeMetric.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleRecommendationsRuntimeMetrics.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleSmartAnswer.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleTopicAssignmentJobInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleTopicJobType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AssessmentSearchDerivedStatusEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetMgmt.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetMgmtAmendmentType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetMgmtCancellationType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetMgmtInitiateAmendQtyInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetMgmtInitiateCancellationInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetMgmtInitiateRenewalInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetRevertHistoryInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AssignedResourcesInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AssociateRecordsWithRecipientInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AssociatedActionsCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AssociatedActionsCapabilityInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AsyncOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AttributeRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Audience.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriteria.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriteriaDetail.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriteriaInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriteriaOperator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriteriaType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriterionDetail.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriterionInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriterionValueInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceTarget.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceTargetAssignment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AuditParamsRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthApiPaymentMethodRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthReversalGatewayResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthorizationGatewayResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthorizationRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthorizationResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthorizationReversalRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthorizationReversalResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AvailableLocationOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/AverageDistanceResultOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BannerCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BannerPhoto.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BannerPhotoInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BannerStyle.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BaseApiPaymentMethodRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BaseAsyncOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BaseInvoiceOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BaseManagedSocialAccount.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BaseOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BasePaymentMethodRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BaseRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BasicTemplateAttachment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BatchInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BatchResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitDisbursementsInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitDisbursementsOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitScheduleParticipantsInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitScheduleParticipantsOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitSessionParticipantsInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitSessionParticipantsOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitSessions.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Billing.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BillingAddressRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BillingMethodEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BillingScheduleOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BillingScheduleStatusEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BillingStatusEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BillingTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BinaryInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BlankRecordField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BlockchainConfig.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BlockchainConfigObject.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BookAppointmentResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BookAppointmentsInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BookingStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BookmarkSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BookmarksCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BookmarksCapabilityInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BotInfoRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BotLLMPromptTemplateType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BotLLMProviderType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BotRuntimeApi.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BotRuntimeApiInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BotVersionActivation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BotVersionActivationInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BotVersionActivationInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BotVersionActivationStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BuildVerificationContextInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BundleCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BundleType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/BuyerProfileRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CalculateProjectedRebateAmountOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CalculateTaxRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CalculateTaxResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CalculateTaxTypeRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CalculatedInsightDefinitionTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CalculatedInsightPublishScheduleInterval.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CallCollaborationCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CancelAppointmentResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CancelAppointmentsInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CandidateAnswersStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CanvasAttachmentInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CanvasCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CanvasCapabilityInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CanvasTemplateAttachment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CapacityRequestInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CapacityResponseOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CaptureGatewayResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CaptureRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CaptureResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CardCategory.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CardDetailOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CardOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CardPaymentMethodOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CardPaymentMethodRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CardRowOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CardType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationCaseOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationOutputResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationPatientOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationRequestGetResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationRequestRelatedRecordResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationRequestResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CareDiagnosisOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CareProcessingErrorOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CareProviderResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CareRequestDrugOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CareRequestItemOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CareRequestOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CareRequestReviewerOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Careauthorizationrequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartCoupon.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartCouponCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartCouponInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartCouponList.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartInventoryItemReservationOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartInventoryReservationInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartInventoryReservationOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemProduct.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemPromotionCollectionInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemPromotionCollectionOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemPromotionInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemSortOrder.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemWithoutPrice.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartMessage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartMessageSeverity.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartMessagesSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartMessagesVisibilityInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartMessagesVisibilityResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartProductAttribute.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartPromotionCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartPromotionList.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartPromotionOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartPromotionType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartTaxType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartToWishlistInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartToWishlistResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CartType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseActorType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseComment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseCommentCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseCommentEventType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseInfoWrapper.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseParticipantInfoWrapper.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseProgramsInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseProgramsOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpActionResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpAssetBase.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpAssetReference.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsight.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightDataSource.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightDimension.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightErrorResponseRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightInputValidator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightMeasure.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightPageData.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightStandardActionResponseRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightValidateInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightValidateInputValidator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpDataActionPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpDataActionPageValidator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpDataActionTargetPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpDataActionTargetPageValidator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpDataTransformActionRunResponseRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpEnumHelpers.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpErrorResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolution.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionConfigInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionConfigInputValidator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionConfigPatchInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionConfigPatchInputValidator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionConfigurationType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchCriterion.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchCriterionOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchCriterionOutputValidator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchCriterionPartyIdentificationInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchCriterionPartyIdentificationInfoOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchCriterionValidator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchMethodType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchRule.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchRuleOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchRuleOutputValidator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchRuleValidator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionOutputValidator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionPublishOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationFieldRule.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationFieldRuleOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationFieldRuleOutputValidator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationFieldRuleValidator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationRule.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationRuleOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationRuleOutputValidator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationRuleType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationRuleValidator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationSource.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationSourceOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionRunNowInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionRunNowOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionRunNowOutputValidator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionRunNowResultCode.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionsOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionsOutputValidator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlCustomizableFieldTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlFieldDataTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlFilterFieldOperatorEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlFilterFieldTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlFilterValueTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlModelOutcomeGoalEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlModelPartitionStatusEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlModelPredictionTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlModelRefreshRecipientTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlModelSourceTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlModelStatusEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQuery.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryDataOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryMetadataItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryMetadataOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryOutputV2.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryV2Row.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpScheduleFrequencyTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentActionOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentContainerOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentDbtInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentDbtModel.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentDbtModelInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentDbtPipeline.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentInputValidator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentLookalike.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentLookalikeInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentMemberOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentMemberOutputValidator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentMemberRowOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentMembershipTableOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSourceSubscriptionModeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpUser.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChangeInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChangeItemFeeInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChangeItemInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChangeItemOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChangeOrdersInvoiceOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Chatter.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterActivity.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterActivitySummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterConversation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterConversationPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterConversationSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterFavorites.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterFeeds.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterGroup.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterGroupDetail.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterGroupInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterGroupPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterGroupSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterGroups.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterLike.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterLikePage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterLikesCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterMessage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterMessagePage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterMessages.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterStream.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterStreamInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterStreamPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterUsers.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CheckoutSessionState.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChimeAttendeeResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChimeMediaPlacementResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ChimeMeetingResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ClientInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Clm.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CloseCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CloseCapabilityInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Column.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Comment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentCapabilities.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentCapabilitiesInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentsCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceActionResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceAddressCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceAddressFieldInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceAddressInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceAddressOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceAddressSort.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceBuyerExperience.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceCart.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceCatalog.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceCatalogAttributeType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceEinsteinActivityJobStatusEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceEinsteinConfiguration.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceEinsteinOutputConfiguration.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceEinsteinStatusEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceInventory.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceInventoryPricing.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceProductAttributeSetSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceProductSearchResults.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceProductSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceProductSummaryPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommercePromotions.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearch.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchAttributeType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchConnectFamily.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchFacetDisplayType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchFacetType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchGroupingOption.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndex.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexBuildType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexCreationType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexLog.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexLogCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexUsage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchSettings.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchSortRuleDirection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchSortRuleType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchTopProductType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceStorePricing.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceWishlist.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Communities.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Community.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityFlagReasonType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityFlagType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityFlagVisibility.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityLanguage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityModeration.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityPublish.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunitySummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityTemplate.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityTemplates.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CompanyVerifySummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ComplaintInfoWrapper.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ComplaintMgmtOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ComplaintMgmtRequestInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ComplexSegment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CompoundRecordField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ConfirmHeldFOCapacityInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ConfirmHeldFOCapacityOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ConfirmHeldFOCapacityRequestInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ConfirmHeldFOCapacityResponseOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectApiException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectCommerceSearchSortRuleLabelSuffix.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectCommerceSearchSortStandardField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectManagedContentChannelType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectManagedContentDeploymentType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectManagedContentMediaType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectManagedContentNodeType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectSitesPageType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectStatusCheckType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectUtilities.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectWaveSortOrderEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Content.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentAttachment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentAttachmentInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentCapabilityInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentDocumentOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHub.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubAllowedItemTypeCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubAuthenticationProtocol.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubDirectoryEntryType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubExternalItemSharingType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubFieldDefinition.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubFieldValueInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubGroupType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubItemInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubItemType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubItemTypeDetail.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubItemTypeSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubPermission.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubPermissionCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubPermissionType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubProviderType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubRepository.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubRepositoryAuthentication.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubRepositoryCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubRepositoryFeatures.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubStreamSupport.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubVariableType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentImageFile.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentImageFileDetails.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContextSupertype.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContractInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ContractOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ConversationApplicationDefinition.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ConversationApplicationDefinitionDetailRespresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ConversationApplicationIntegrationType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ConversationReasonChannelType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ConversationRuntimeProxyMessageType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ConversationRuntimeProxyMessageWidget.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ConvertNegativeInvoiceLinesInputRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ConvertNegativeInvoiceLinesResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CorporateMemberInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CorporateMemberOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CouponCodeRedemptionCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CouponCodeRedemptionInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CouponCodeRedemptionResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateCredentialAction.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateCreditMemoInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateCreditMemoOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateInvoiceFromChangeOrdersInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateMultipleInvoicesFromChangeOrdersInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateMultipleInvoicesFromChangeOrdersOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateOrderPaymentSummaryInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateOrderPaymentSummaryOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CreatePatientResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateRevenueElementRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateServiceAppointmentInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateServiceAppointmentResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Credential.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialAuthenticationProtocol.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialAuthenticationProtocolVariant.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialAuthenticationStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialCustomHeader.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialCustomHeaderInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialPrincipalType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialValue.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialValueInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditInvoiceInputRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditInvoiceInvoiceLine.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditInvoiceInvoiceLineTax.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoAddressesInputRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoApply.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoApplyInputRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoBaseInputRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoUnapplyInputRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CurrencyRecordField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CustomListAudienceCriteria.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CustomListAudienceCriteriaInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CycleDetectionInputRequestRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/CycleDetectionOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DaoSourceObjectType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DashboardComponentAttachment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DashboardComponentSnapshot.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DashboardComponentSnapshotCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DataActionStatusEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DataActionStatusErrorCodeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DataActionTargetStatusEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DataActionTargetStatusErrorCodeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DataActionTargetTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DataEnrichmentFilterOperationEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DataEnrichmentStatusEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DataKitBundleConnectorTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DataKitComponentTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DataProviderSchema.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Datacloud.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudCompanies.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudCompany.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudCompanyIdentifier.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudContact.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudContacts.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudImport.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudImportStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudImportStatusType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudInternalCompany.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudOrder.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudOrderInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudPurchaseUsage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudUserType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DateRecordField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTable.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableCollectOperator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableCondition.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableConditionType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableDataType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableDefinitionOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableHitPolicy.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableOperator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableOperatorString.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableOutcome.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableOutcomeItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableParameterInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableParameterOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableParameterType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableSortType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableSourceConditionValueType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableSourceCriteriaInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableSourceCriteriaOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableSourceType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableUsageType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DeleteIntent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DeleteIntents.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DeleteSocialPostIntent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DependencyDetailOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DeploymentActionEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DetailedProjectedRebateAmountCalc.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DigestJobRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DigestPeriod.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DigitalCertificateRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DirectMessageCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DirectMessageCapabilityInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DirectMessageMemberActivity.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DirectMessageMemberActivityPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DirectMessageMemberPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DispenserAddressOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DistanceCalculationOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DistinctFacetValue.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DistinctValueRefinementInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DistinctValueSearchFacet.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DistributePickedQuantitiesInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DistributePickedQuantitiesOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DistributeToOrdersInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DocumentInfoAttributes.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DocumentInfoAttributesWrapper.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DownVoteSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/DraftEinsteinResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EUProgram.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EditCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EffectiveMappingRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinAnswerType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLLMEmbeddingItemOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLLMEmbeddingsOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLLMGenerationItemOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLLMGenerationsOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLlm.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLlmAdditionalConfigInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLlmEmbeddingsAdditionalConfigInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLlmEmbeddingsInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLlmGenerationsInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinRecommendation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinRecommendationValue.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinRecommendations.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinResponseSpeakerType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinResponseType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinUser.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinUsers.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EligibleProgramRebateTypesOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailAddress.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailAttachment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMergeFieldCollectionInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMergeFieldInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMergeFieldService.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMessage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMessageCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMessageDirection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMessageStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Emoji.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EmojiCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EmployeeProfiles.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementAttendeeCreateInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementAttendeeCreateOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementAttendeeDetailsOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementAttendeeFetchOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementCustomFieldsInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementCustomFieldsOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementDetailsOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementInteractionCreateInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementInteractionDetailsOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementInteractionFetchOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementInteractionUpdateInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementStatusOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementTopicCreateInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementTopicCreateOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementTopicDetailsOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementTopicFetchOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementTopicOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Engagementcontainerconnect.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsCreateInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsCreateOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsFetchOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsIdCreateOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsIdOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsUpdateInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsUpdateOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EnhancedLinkCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EnrollmentChannelResource.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EnsureFundsAsyncInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EnsureFundsAsyncOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EnsureRefundsAsyncInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EnsureRefundsAsyncOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EntityLabel.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EntityLinkSegment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EntityLinkSegmentInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EntityRecommendation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EntityResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ErrorRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ErrorResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ErrorResponseRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ErrorsOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Essentials.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EvaluateCallerVideoCallResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/EventTypeResource.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Example.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleEntityInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleEntityRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleListInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleListRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleMapInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleMapRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleObjectInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExecutionStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityActionLogCreate.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityActionLogDetail.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityActionLogInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityActionLogSortEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityActionLogs.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityLogDetail.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityLogs.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityService.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExpressionDataType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExpressionSetVersionDependencyEnumRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExpressionSetVersionDependencyOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtendedFieldInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Extension.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionDefinition.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionDefinitions.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionInformationType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionOutputCollectionRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionsCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionsCapabilityInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredential.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialAuthParameterName.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialList.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialParameter.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialParameterInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialParameterType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialPrincipal.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialPrincipalAccess.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialPrincipalAccessType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialPrincipalInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalDocCreationInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalDocCreationOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalDocument.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalDocumentOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalEmailService.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalFilePermissionInformation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalManagedAccount.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalManagedAccountAddressOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalManagedAccountCollectionOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalManagedAccountOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FacetValue.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeatureExtractionParametersFieldMapValue.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeatureValidationUseCaseEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Features.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Feed.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedBody.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedCommentSortOrder.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedDensity.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedDirectory.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedDirectoryItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElement.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementCapabilities.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementCapabilitiesInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementCapabilityInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementCapabilityType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEnabledEntity.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntityIsEditable.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntityNotAvailableSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntityReadSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntityShareCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntityShareCapabilityInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntityStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntitySummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedFavorite.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedFavoriteType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedFavorites.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedFilter.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemAttachment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemAttachmentInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemAttachmentType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemTopicPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemVisibilityType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedModifiedInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedPoll.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedPollChoice.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedPostSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedReadStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedReadStatusInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedReadSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedSortOrder.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldChangeNameSegment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldChangeSegment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldChangeValueSegment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldChangeValueType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldClassificationSetting.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldService.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldValue.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldValueInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldValueOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/File.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FileAsset.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FileIdInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FilePreview.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FilePreviewCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FilePreviewFormat.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FilePreviewStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FilePreviewUrl.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FilePublishStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FileSharingOption.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FileSharingPrivacy.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FileSharingType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FileStat.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FileStatsCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FileStatsType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FileSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FileText.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FilesCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FilesCapabilityInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FindAppointmentSlotResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsGroupUsingOCIInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsUsingOCIInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsUsingOCIItemInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsUsingOCIOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsWithInventoryOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FirstReviewerOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FolderItemType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FollowIntents.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FollowSocialPersonaIntent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FollowerPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FollowingCounts.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FollowingPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Form.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FormField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FormFieldInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FormFieldType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FormFields.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FormInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FormSubmission.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FormSubmissionFieldInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FormSubmissionInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FormulaFilterType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FormulaScope.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentGroupInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentGroupOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrder.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderCancelLineItemsOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderInvoiceInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderInvoiceOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderLineItemInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderLineItemsToCancelInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GatewayLogResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GeneralPractitionerOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GenerateBenefitSessionOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GenericBundleCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GenericFeedElement.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GenericObject.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GenericObjectOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GenericObjectWrapper.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GenericPricingResponseRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GetBlockchainConfigOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GetContractValueInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GetContractValueOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GetFOCapacityValuesOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GetFOCapacityValuesRequestInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GetFunctionValueInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GetFunctionValueOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GetSlotStatusInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GiftCampaignDefaultDesignationRecordOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GiftCampaignDefaultDesignationsOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GiftCommitmentDefaultDesignationRecordOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GiftCommitmentDefaultDesignationsOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GiftCommitmentOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GiftCommitmenteDetails.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GlobalInfluence.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupArchiveStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupChatterSettings.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupEmailFrequency.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupInformation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupInformationInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMember.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMemberAssociationCycleDetector.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMemberPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMembershipRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMembershipRequestStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMembershipRequests.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMembershipType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupRecord.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupRecordInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupRecordPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupViralInvitationsStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupVisibilityType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/HCAddressInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/HashtagSegment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/HashtagSegmentInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/HideSocialPostIntent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/HoldFOCapacityInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/HoldFOCapacityOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/HoldFOCapacityRequestInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/HoldFOCapacityResponseOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/HsrCommerceCatalog.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/HttpRequestMethod.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/IComplaintMgmtConnectFamily.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/IServiceProcessConnectFamily.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Icon.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/IdentityVerfFormDisplayRecord.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/IdentityVerfFormFieldInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/IdentityVerfFormFieldListOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/IdentityVerfFormFieldOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/IdentityVerfFormInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/IdentityVerfFormOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Identityverification.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/IndividualMemberInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/IndividualMemberOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/IndustriesFundraisingOperationsFamily.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/IndustriesPricingResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/IngestionEventInputWrapper.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/IngestionEventOutputWrapper.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InlineImageSegment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InlineImageSegmentInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InnerEnsureFundsAsyncInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Insight.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InsightsComparisonEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InsightsResultCategory.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InsightsResultTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InsightsTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InteractionCalculationProcedures.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InteractionsCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InternalTestUtilities.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InvalidIds.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InventoryCheckAvailabilityOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InventoryLevelsOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InventoryOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InventoryProductCheckAvailabilityOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InventoryProductOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Inventorycheckavailabilityinputrepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Invitation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Invitations.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InviteInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InvocableInternalTestInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InvocableInternalTestNestedInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InvocableInternalTestNestedOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InvocableInternalTestNestedWrapper.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InvocableInternalTestOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InvocableInternalTestWrapper.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceAction.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceBillingTermUnitEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceListOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceStatusEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceToPayInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ItemQuantityInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ItemQuantityOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/JoinVideoCallResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/JournalStatusResource.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/JwsVerifierInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/JwsVerifierOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Knowledge.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/KnowledgeArticleVersion.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/KnowledgeArticleVersionCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/KnowledgeMigration.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LabeledRecordField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Language.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LeadInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LeaveVideoCallResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LightningExtensionInformation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LightningScheduler.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LikeIntent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LikeIntents.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LikeSocialPostIntent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LikeSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LineItemResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkAttachment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkAttachmentInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkCapabilityInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkMetadata.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkMetadataCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkMetadataInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkMetadataSource.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkMetadataType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkSegment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkSegmentInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LiteralJson.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationAvailabilityInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationCapacityOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationCheckAvailabilityOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationGroupCheckAvailabilityOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationGroupLevelsOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationLevelsOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Locationcheckavailabilityinputrepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Locationgroupcheckavailabilityinputrepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LoyaltyConnect.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LoyaltyManagementConnect.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/LoyaltyVoucherConnect.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MLDomainTraining.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MaintenanceInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MaintenanceType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentActionCollectionRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentActionRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentAssociations.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentBodyInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentChannel.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentChannelCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentChannelDetail.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentChannelSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentChannelTargetSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentCollectionDetailRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentCollectionItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentCollectionItemTypeSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentCollectionItems.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentCollectionMetadata.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentCollectionMetadataAuthoring.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentDateAndTimeNodeValue.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentDateNodeValue.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentDeliveryDocument.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentDeliveryDocumentCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentDeliveryDocumentSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentLanguageSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentMediaNodeValue.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentMediaSourceNodeValue.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentNodeType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentNodeValue.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentReference.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentReferenceSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentSpace.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentSpaceCollectionRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentTextNodeValue.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentTypeSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentVersion.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentVersionCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentVersionInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentVersionOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedSocialAccount.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedSocialAccountStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedSocialAccounts.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedTopic.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedTopicCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedTopicPositionCollectionInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedTopicPositionInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedTopicType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedTopics.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Managedcontentdelivery.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MappingOutputCollectionRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MappingOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MarketingIntegration.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MarkupBeginSegment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MarkupBeginSegmentInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MarkupEndSegment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MarkupEndSegmentInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MarkupType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MatchType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MediaReference.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MediaReferenceCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MedicalDirectorOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberAccountInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberAccountOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberBenefitOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberBenefitsOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberContactInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberContactOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberCurrencyOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberDetailsOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberTierOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberVouchersSortField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberVouchersSortOrder.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionCompletion.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionCompletionPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionCompletionType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionSegment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionSegmentInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionValidation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionValidationStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionValidations.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Mentions.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MessageBody.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MessageBodyInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MessageSegment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MessageSegmentInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MessageSegmentType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MetricSpanEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Missions.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MlDomainTrainingErrorType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MlDomainTrainingInfoRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MlDomainTrainingRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MobilePublisherOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ModelFeature.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ModerationCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ModerationFlagItemDetail.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ModerationFlags.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ModerationFlagsCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ModifyShiftResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MoreChangesSegment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Motif.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MultipleAsyncOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MultipleEnsureFundsAsyncInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MultipleFulfillmentOrderInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MultipleFulfillmentOrderInvoicesInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MultipleFulfillmentOrderInvoicesOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MultipleFulfillmentOrderOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MuteCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MuteCapabilityInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/MuteSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NBAActionParameter.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NBAActionType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NBAFlowAction.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NBAFlowType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NBANativeRecommendation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NBARecommendation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NBARecommendations.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NBAStrategyInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NBATargetType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredential.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialCalloutOptions.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialCalloutOptionsInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialList.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialParameter.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialParameterInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialParameterType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentials.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NavigationMenu.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NavigationMenuItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NavigationMenuItemActionType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NavigationMenuItemCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NavigationMenuItemOpenTarget.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NavigationMenuItemType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NetworkConnection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NetworkConnectionInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NewFileAttachmentInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NewUserAudienceCriteria.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NewUserAudienceCriteriaInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NextBestAction.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NftSettings.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NftSettingsOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NonEntityRecommendation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NotFoundException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/NotifyAccessResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OAuthCredentialAuthUrl.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OAuthCredentialAuthUrlInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIBaseOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICancelReservationInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICancelReservationOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICreateReservationErrorOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICreateReservationInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICreateReservationOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICreateReservationSingleInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICreateReservationSingleOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIFulfillReservationErrorOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIFulfillReservationInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIFulfillReservationOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIFulfillReservationSingleInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIFulfillReservationSingleOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIFutureInventoryOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIGetInventoryAvailabilityInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIGetInventoryAvailabilityOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIInventoryRecordOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCILocationAvailabilityOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCILocationGroupAvailabilityOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIPublishLocationStructureOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIPublishLocationStructureStatusOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIReleaseReservationErrorOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIReleaseReservationInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIReleaseReservationOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIReleaseReservationSingleInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIReleaseReservationSingleOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCITransferReservationErrorOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCITransferReservationInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCITransferReservationOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCITransferReservationSingleInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCITransferReservationSingleOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIUploadInventoryAvailabilityOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIUploadInventoryAvailabilityStatusOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OauthProviderInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OcrResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OcrResultCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OcrResultNormalizedText.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OmnichannelInventoryService.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OperationType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Orchestration.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationInstance.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationInstanceCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationInstanceStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationStageInstance.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationStepInstance.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationStepType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationWorkItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationWorkItemStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderDeliveryGroupSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderDeliveryGroupSummaryCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderDeliveryGroupSummaryLookupOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderDeliveryGroupSummarySort.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderDeliveryMethodLookupOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryAdjustmentAggregates.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryAdjustmentCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryAdjustmentCollectionInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryAdjustmentInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryAdjustmentList.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryLookupOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryProduct.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummarySort.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderPaymentSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderQuantitiesOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderShipment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderShipmentCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderShipmentItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderShipmentItemCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderShipmentItemSort.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderShipmentSort.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustmentAggregates.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustmentAggregatesAsyncInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustmentAggregatesAsyncOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustmentAggregatesStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustmentCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustmentTargetType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryCollectionRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryCreation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryLookupInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryLookupOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryProductAttribute.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryProductLookupOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummarySortOrder.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryVerificationInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderToCartFailedProduct.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderToCartInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderToCartResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Organization.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OrganizationSettings.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OriginCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OriginalDenialMedicalDirectorOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/OutOfOffice.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PardotBusinessUnitContext.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PardotBusinessUnitContextItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PardotBusinessUnitContextOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ParticipantRecentInteractionsResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PayLoadOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentAuthAdjustmentResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentAuthorizationResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentGroupRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentGroupResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentLineApplyRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentLineApplyResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentLineUnapplyRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentLineUnapplyResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentMethodDetails.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentMethodResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentMethodTokenizationGatewayResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentMethodTokenizationRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentMethodTokenizationResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Payments.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentsBilling.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentsIngestFamilyWrapper.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PercentRecordField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PeriodBoundaryEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PeriodTypesEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Personalization.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PhoneNumber.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Photo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PhotoInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PickTicket.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PicklistRecordField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PinCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PinCapabilityInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PinnedFeedElements.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PlaceQuoteErrorResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PlatformAction.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PlatformActionGroup.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PlatformActionGroupCategory.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PlatformActionStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PlatformActionType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PointsChangeOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PollAttachmentInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PollCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PollCapabilityInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PostAuthApiPaymentMethodRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PostAuthGatewayResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PostAuthRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PostAuthorizationResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PredictHistoryIntervalEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Prediction.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PredictionField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PredictionObject.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PredictionRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PredictionResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PreviewBenefitSessionInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PreviewBenefitSessionsOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PreviewCancelOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PreviewReturnOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PriceAdjustmentSchedule.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PriceAdjustmentTier.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PriceAdjustmentTierType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingAttributeNameValueTupleOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingErrorResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingLineItemInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingListOfWaterFallOutputResponseRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingRecipeLookUpTableResponseRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingRecipeOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingRecipePostOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingRecipeResponseRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingResourceFamily.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingResultLineItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingTermUnit.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingWaterFallMetaDataResponseRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingWaterFallResponseRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProcessDefinitionInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProcessDefinitionOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProcessDetailInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProcessDetailOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProcessRuleConditionFilterCriteriaOperator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProcessRuleStepType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributeInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributeSelectionInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributeSet.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributeSetInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributeSetSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributeSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributesToProductEntry.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCategoryData.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCategoryDetail.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCategoryDetailCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCategoryMedia.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCategoryMediaGroup.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCategoryPath.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCheckAvailabilityInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductChild.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductChildCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductClass.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductDetail.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductDetailsOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductEntitlement.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductFileFormat.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductImageGroupOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductImageOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductImageViewType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductInventory.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductInventoryPricing.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductMedia.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductMediaGroup.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductMediaType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductMediaUsageType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductOverview.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductOverviewCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductPrice.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductPriceEntry.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductQuantityRuleOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSchemaType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductScope.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSearchGroupingInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSearchInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSearchResults.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSearchSuggestionsResults.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSellingModel.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSummaryPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductTransferStatusEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductVariantOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductVariationAttributeOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductVariationAttributeValueOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductVariationInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramApplicationFileInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramApplicationItemInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramApplicationOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramEnrollmentsDTO.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramEnrollmentsInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramEnrollmentsOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramManagement.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramRebateTypes.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Programapplicationinputrepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProjectedRebateAmountCalc.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionAdjustmentTargetType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionBonusProduct.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCart.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartAdjustmentGroup.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartDeliveryGroupInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartItemInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartItemKey.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartItemPriceAdjustment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCoupon.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionEvaluateInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionEvaluation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionParentProductsInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionProductCategoriesInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProviderOutputCollectionRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProviderOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProvidersError.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProvidersInputResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ProvidersInputResultDetail.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PublishSchedule.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PublishStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/PurchaseQuantityRule.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/QuantityWithSkuInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/QueryLanguage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionAndAnswers.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionAndAnswersCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionAndAnswersCapabilityInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionAndAnswersSuggestions.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionAttachment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionAttachmentInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionContextType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/QuickTextContext.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RankAverageDistanceInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RankAverageDistanceOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RateLimitException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RawDataInputWrap.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReadBy.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReadByCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReadByCapabilityInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReadByPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecipeSortOrderEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecipientEngagementContextInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Recommendation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationActionType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationAudience.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationAudienceCriteriaType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationAudienceInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationAudienceMemberOperationType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationAudiencePage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationChannel.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationDefinition.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationDefinitionInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationDefinitionPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationExplanation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationExplanationType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationList.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationMode.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationReaction.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationReactionInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationReactionType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationReactions.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Recommendations.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationsCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendedObject.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendedObjectType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAccessDetailRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionCollectionMapRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionInfoCollectionRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionInfoRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionParameterInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionSingleOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertBulkActionInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertCollectionMapRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertCollectionRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertErrorRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertErrorType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertSeverityType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertSourceType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordCapabilityInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordColumnOrder.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordFieldType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordFilterCriteriaFamily.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordSeoProperties.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordSnapshot.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordSnapshotAttachment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordSnapshotCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordSummaryList.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordView.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordViewSection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Recordalert.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Records.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordsetFilterCriteria.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordsetFilterCriteriaCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordsetFilterCriteriaInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RedeemVoucherInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RedeemVoucherOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Reference.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferenceItemBaseInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferenceItemCodeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferenceLineError.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferenceRecordField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferenceWithDateRecordField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferencedRefundRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferencedRefundResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferralEventConnect.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferralEventInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferralEventOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RefinementInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RefundGatewayResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RefundLineApplyRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RefundLineApplyResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RefundRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RefundResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RelatedFeedPost.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RelatedFeedPostType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RelatedFeedPosts.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RelatedQuestion.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReleaseHeldFOCapacityInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReleaseHeldFOCapacityOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReleaseHeldFOCapacityRequestInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReleaseHeldFOCapacityResponseOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReopenedByOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReplyIntent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReplyIntents.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReplyRecommendationsChannelType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReplyRecommendationsMetric.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReplyRecommendationsMetrics.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryDirectoryEntryCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryFileDetail.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryFileSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryFolderDetail.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryFolderItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryFolderItemsCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryFolderSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryGroupSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryPermissionTypeCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryUserSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Repricing.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Reputation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReputationLevel.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RequestHeader.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RequestHeaderInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RequestingPractitionerOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ResourceLinkSegment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ResponseSuggestion.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ResponseSuggestions.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnItemsInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnItemsOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrder.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderItemDeliveryChargeInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderItemFeeInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderItemInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderItemSplitLineOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderLineItemFeeInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderLineItemInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueAddressInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueAsyncLineLevelOutputResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueAsyncRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueElementRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueElementResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueRecognition.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueRecognitionRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueRecognitionType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Routing.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SaleApiPaymentMethodRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SaleGatewayResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SaleRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SaleResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SalesforceInbox.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SaqlQueryInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SaqlQueryMetadata.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ScheduledRecommendation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ScheduledRecommendationInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ScheduledRecommendationPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Scope.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchCategory.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchFacet.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchFieldRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchFilterRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchResultHeaderRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchResultRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchResultRulesCollectionOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchResultsRule.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchResultsRuleTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchSuggestion.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchSuggestionWithProductSuggestion.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SegmentType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SelectedSearchResultInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SelectedSearchResultOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SelectedVerifiedResultInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SelectedVerifiedResultOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SellingModelType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SemanticSearchQueryInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SequenceOrderPaymentSummaryInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SequenceVerificationInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SequenceVerificationRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceAppointmentInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceAppointmentOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceAppointmentResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceCatalogFrequentActionsOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceCatalogItemAttributes.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceCatalogItemsFetchOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceCatalogItemsOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceCatalogStaticActionsOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceEinsteinAppType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceEinsteinModelManagement.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceEinsteinModelTrainingErrorCode.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceEinsteinModelTrainingStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceEinsteinReadinessCheckType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceProcessRecordRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceProcessRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceProcessRequestInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ServicingFacilityOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ServicingPractitionerOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SetupCallResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ShareRelationshipArrayRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ShareRelationshipOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Sharing.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SharingReasonRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ShiftsFromPattern.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ShiftsFromPatternError.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ShiftsFromPatternInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SimulationContextInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SiteSearchItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SiteSearchResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Sites.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SlotStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartAnswer.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartAnswers.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModel.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelClassificationMetrics.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelCoefficientCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelCollectionSortOrderType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelDiscoverySource.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelDiscoverySourceInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelMulticlassMetrics.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelRegressionMetrics.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelResidual.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelResidualCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelTransformation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelTransformationInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelTransformationTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelUserUploadSource.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelUserUploadSourceInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractAIModelSourceInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractClassificationThreshold.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractClassificationThresholdInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractFieldMappingSourceInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractModelFieldInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractPredict.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractPredictionPropertyInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAggregatePredictConditionRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAggregatePredictStatusEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAggregatePredictionErrorRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAggregatePredictionRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAssetReference.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAssetReferenceInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryBaseAssetReference.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryBinaryClassificationThreshold.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryBinaryClassificationThresholdInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCategoricalImputationMethodEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCategoricalImputationTransformation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCategoricalImputationTransformationInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCategoricalProjectedPrediction.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryClassificationAlgorithmTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryClassificationPredictionProperty.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryClassificationPredictionPropertyInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryClassificationTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCluster.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryClusterInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryComplexFilterInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryContact.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCustomPrescribableFieldDefinition.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCustomPrescribableFieldDefinitionInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCustomizableField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCustomizableFieldDefinition.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCustomizableFieldDefinitionInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCustomizableFieldInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryDataAlertFieldRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryDataAlertType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryDiscoveryModelRuntime.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryDiscoveryModelRuntimeInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryDiscoveryNumericRangeInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryDiscoveryPredictSettings.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryExtractDayOfWeekTransformation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryExtractDayOfWeekTransformationInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryExtractMonthOfYearTransformation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryExtractMonthOfYearTransformationInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMapSourceTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMapping.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingAnalyticsDatasetField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingAnalyticsDatasetFieldInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingMappedField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingSalesforceField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingSalesforceFieldInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilter.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterFieldTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterList.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterOperator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterValue.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterValueInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterValueTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFreeTextClusteringTransformation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFreeTextClusteringTransformationInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryH2OModelRuntime.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryH2OModelRuntimeInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryLiveMetricDetailRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryLiveMetricsRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryManyToOneTransformationInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryMetricsCollectionRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModel.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelCard.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldDate.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldDateInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldNumeric.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldNumericInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldText.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldTextInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelMetricType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelRuntimeTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelSourceTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryMulticlassClassificationPredictionProperty.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryMulticlassClassificationPredictionPropertyInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryMulticlassPredict.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryMulticlassProbability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericRange.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericTransformationFilter.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericTransformationFilterInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericalImputationMethodEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericalImputationTransformation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericalImputationTransformationInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericalProjectedPrediction.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryOneToOneTransformationInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryOutcomeGoal.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredDefCollectionSortOrderType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredDefModelStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredDefOutcome.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredDefOutcomeInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredDefPushbackFieldInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredict.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictAggregateFunctionEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictColumn.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictColumnCustomText.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictCondition.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictErrorObject.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictImportWarnings.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictInputRawData.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictInputRecordOverrides.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictInputRecords.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictInputRowObject.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictJob.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictJobCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictJobInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictJobStatusEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictJobUpdate.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictObject.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictOutOfBoundsFields.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictSettings.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictStatusEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPrediction.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictionDefinition.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictionDefinitionCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictionDefinitionInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictionTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPrescribableField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPrescribableFieldInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionSettings.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionSettingsInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictions.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsCountFromDateIntervalSetting.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsCountFromDateIntervalSettingInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsCountIntervalSetting.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsCountIntervalSettingInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsDateIntervalSetting.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsDateIntervalSettingInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsHistoricalDatasetInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsHistoricalDatasetSourceInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsIntervalSettingType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsIntervalTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsOverride.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsOverrideInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsTransformation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsTransformationInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedValue.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPushbackField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPushbackType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRecipient.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRecipientInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRecipientTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshConfig.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshConfigInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshJob.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshJobCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshJobInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshJobStatusEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshJobTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshTask.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshTaskCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshTaskSource.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshTaskStatusEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRegressionAlgorithmTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRegressionPredictionProperty.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRegressionPredictionPropertyInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRowNestedList.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryScikitLearn102ModelRuntime.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryScikitlearn102ModelRuntimeInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoverySentimentAnalysisTransformation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoverySentimentAnalysisTransformationInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoverySetupPropertyTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoverySortOrderEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryStoryNarrativeElementTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTensorFlow27ModelRuntime.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTensorFlow27ModelRuntimeInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTensorFlowModelRuntime.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTensorFlowModelRuntimeInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTextTransformationFilter.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTextTransformationFilterInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTrainingMetricsRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTransformationFilterInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTransformationFilterTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTransformationInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTypographicClusteringTransformation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTypographicClusteringTransformationInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryUser.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartResponseInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartResponses.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Smartdatadiscovery.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialAccount.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialAccountRelationship.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialCustomerServiceConfig.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialCustomerServiceInboundErrors.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialCustomerServiceInboundPost.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialCustomerServiceMessageTypeSettings.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialCustomerServiceProviderSettings.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialEngagement.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialNetworkAutenticationInformation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialNetworkProvider.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostIntents.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostMassApprovalInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostMassApprovalOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostMessageType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostStatusType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SortOrder.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SortOrderEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SortRule.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SortRulesCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Stamp.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/StandaloneCreditMemoAdjustmentInputRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/StandaloneCreditMemoChargeInputRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/StandaloneCreditMemoInputRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/StandaloneCreditMemoTaxInputRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/StandaloneTaxStrategyEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/StatementFrequencyResource.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/StatementMethodResource.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Status.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/StatusCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/StatusCapabilityInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/StoryAnalysisTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/StoryChartValueTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/StoryCountInsightsFrequencyChangeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/StoryCountInsightsFrequencyEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/StoryDescriptiveInsightsImpactEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/StoryDescriptiveInsightsRatingEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/StrategyTrace.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/StrategyTraceNode.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/StreamSubscriptionInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SubmitCancelOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SubmitReturnOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SubscriberOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Subscription.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Suggestion.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SupportedEmojis.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SurveyEmailStatusEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SurveyInvitationEmailInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SurveyInvitationEmailOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SurveyMassInvitationEmailInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SurveyNavigationActionEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/SurveyResponseApiStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Surveys.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Target.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TargetCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TargetCollectionInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TargetCollectionUpdateInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TargetInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TargetLocationInputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TargetUpdateInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxAddressRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxAddressResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxAddressesRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxAddressesResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxAmountDetailsResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxCustomerDetailsRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxDetailsResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxEngineLogResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxImpositionResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxJurisdictionResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxLineItemRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxLocaleType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxPlatform.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxStrategyEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxTransactionRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxTransactionResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxTransactionState.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxTransactionType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TermsOfService.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TextSegment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TextSegmentInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TextSmartResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TimeZone.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ToggleCallTranscriptionResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Topic.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicEndorsementSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicImages.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicNamesInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicSort.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicSuggestion.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicSuggestionPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Topics.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicsCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicsCapabilityInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TrackedChangeAttachment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TrackedChangeBundleCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TrackedChangeItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TrackedChangesCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TrackedCommunicationOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TransactionEventInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TransactionEventOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TransactionJournalOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TransactionReceiptInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TransactionReceiptOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Transactiondetailsoutputrepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Transactionledgersoutputrepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/TransportLocationOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UiObjectRepresentationCardDetailGetResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UiObjectRepresentationCardsGetResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UnapplyCreditResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UnauthenticatedUser.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UnreadConversationCount.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UpDownVoteCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UpDownVoteCapabilityInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UpDownVoteValue.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UpVoteSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UpdateServiceAppointmentInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UpdateVideoCallResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/User.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserActivitiesJob.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserActivityCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserActivitySummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserActivityType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserCapabilities.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserChatterSettings.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserDetail.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserFeedEntityActivitySummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserGroupDetailPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserGroupPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserMission.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserMissionActivitiesJob.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserMissionActivity.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserMissionActivityCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserMissionActivityStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserMissionActivityType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserOauthInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserOrGroupRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserProfile.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserProfileTab.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserProfileTabType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserProfiles.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserReferencePage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserSettings.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/UserType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ValidateSignatureResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ValidationErrorOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/VerificationContextInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/VerificationContextOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/VerificationProcessFieldInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/VerificationProcessFieldListOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/VerificationProcessFieldOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifiedCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifiedCapabilityInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifiedDetailsInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifiedDetailsOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifiedResultInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifiedResultOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifierInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifierOutputRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/VideoCallParticipant.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/VideoCallParticipantField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/VideoCallParticipantResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/VoidPostedInvoiceInputRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Vote.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/VotePage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Voucher.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/VoucherInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/VoucherOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/VoucherPublicKeyOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/VoucherRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/VoucherWithPriceInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/VoucherWithPriceOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/VouchersListRepresentation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistAnalytics.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistAppointmentResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistCheckInInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistCheckInOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistCheckInResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistListResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistParticipantParticipant.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistParticipantResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistRelationshipsResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistServiceResource.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistServiceResourceWithWorkTypes.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistWorkType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistWorkTypeGroup.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Wave.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Web3Transaction.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WishList.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistItemCollection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistItemInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistItemSortOrder.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistToCartResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistUpdateInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistsSummary.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WorkflowProcessStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WorkspacePermission.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WrappedMap.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WrappedMapObject.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WrappedObject.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/WrappedValue.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Zone.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ZonePage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ZoneSearchPage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ZoneSearchResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ZoneSearchResultType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/ZoneShowIn.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/ConnectApi/Zones.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/ApexTestData.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/AsyncDeleteCallback.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/AsyncSaveCallback.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/AuthenticationCapability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/AuthenticationProtocol.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/Capability.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/Column.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/ColumnSelection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/Connection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/ConnectionParams.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/DataSourceException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/DataSourceUtil.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/DataType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/DeleteContext.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/DeleteResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/Filter.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/FilterType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/IAsyncDeleteCallback.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/IAsyncSaveCallback.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/IdentityType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/MatchContext.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/MatchEngineSettings.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/MatchResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/Matchable.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/MatchedRecord.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/OAuthTokenExpiredException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/Order.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/OrderDirection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/Provider.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/QueryAggregation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/QueryContext.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/QueryUtils.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/ReadContext.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/SearchContext.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/SearchUtils.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/Table.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/TableResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/TableSelection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/UpsertContext.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/DataSource/UpsertResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Database/Batchable.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Database/BatchableContext.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Database/BatchableContextImpl.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Database/DMLOptions.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Database/DeleteResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Database/DeletedRecord.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Database/DuplicateError.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Database/EmptyRecycleBinResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Database/Error.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Database/GetDeletedResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Database/GetUpdatedResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Database/LeadConvert.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Database/LeadConvertResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Database/MergeRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Database/MergeResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Database/NestedSaveResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Database/QueryLocator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Database/QueryLocatorChunkIterator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Database/QueryLocatorIterator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Database/RelationshipSaveResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Database/SaveResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Database/UndeleteResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Database/UnitOfWork.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Database/UpsertResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Datacloud/AdditionalInformationMap.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Datacloud/DuplicateResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Datacloud/FieldDiff.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Datacloud/FieldDifferenceType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Datacloud/FindDuplicates.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Datacloud/FindDuplicatesByIds.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Datacloud/FindDuplicatesResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Datacloud/MatchRecord.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Datacloud/MatchResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Dom/Document.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Dom/XmlNode.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Dom/XmlNodeType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/EventBus/ChangeEventHeader.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/EventBus/EventPublishFailureCallback.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/EventBus/EventPublishSuccessCallback.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/EventBus/FailureResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/EventBus/InvalidReplayIdException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/EventBus/RetryableException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/EventBus/SuccessResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/EventBus/TestBroker.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/EventBus/TestEventService.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/EventBus/TriggerContext.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Flow/Interview.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/KbManagement/PublishingService.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Messaging/AttachmentRetrievalOption.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Messaging/CustomNotification.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Messaging/Email.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Messaging/EmailAttachment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Messaging/EmailFileAttachment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Messaging/EmailToSalesforceHandler.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Messaging/InboundEmail.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Messaging/InboundEmailHandler.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Messaging/InboundEmailResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Messaging/InboundEnvelope.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Messaging/MassEmailMessage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Messaging/PushNotification.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Messaging/PushNotificationPayload.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Messaging/RenderEmailTemplateBodyResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Messaging/RenderEmailTemplateError.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Messaging/SendEmailError.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Messaging/SendEmailResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Messaging/SingleEmailMessage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/AnalyticsCloudComponentLayoutItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/ConsoleComponent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/Container.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/CustomConsoleComponents.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/CustomMetadata.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/CustomMetadataValue.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/DeployCallback.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/DeployCallbackContext.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/DeployContainer.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/DeployDetails.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/DeployMessage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/DeployProblemType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/DeployResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/DeployStatus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/FeedItemTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/FeedLayout.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/FeedLayoutComponent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/FeedLayoutComponentType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/FeedLayoutFilter.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/FeedLayoutFilterPosition.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/FeedLayoutFilterType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/Layout.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/LayoutColumn.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/LayoutHeader.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/LayoutItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/LayoutSection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/LayoutSectionStyle.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/Metadata.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/MetadataType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/MetadataValue.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/MiniLayout.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/OmniInteractionAccessConfig.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/Operations.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/PlatformActionList.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/PlatformActionListContextEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/PlatformActionListItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/PlatformActionTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/PrimaryTabComponents.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/QuickActionList.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/QuickActionListItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/RelatedContent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/RelatedContentItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/RelatedList.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/RelatedListItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/ReportChartComponentLayoutItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/ReportChartComponentSize.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/SidebarComponent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/SortOrder.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/StatusCode.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/SubtabComponents.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/SummaryLayout.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/SummaryLayoutItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/SummaryLayoutStyleEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Metadata/UiBehavior.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Process/Plugin.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Process/PluginDescribeResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Process/PluginRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Process/PluginResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Process/SparkPlugApi.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/QuickAction/Control.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeAvailableQuickActionResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeLayoutComponent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeLayoutItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeLayoutRow.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeLayoutSection.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeQuickActionDefaultValue.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeQuickActionResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/QuickAction/EmptySpace.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/QuickAction/ExpandedLookup.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/QuickAction/Field.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/QuickAction/FieldLayoutComponent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/QuickAction/QuickActionDefaults.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/QuickAction/QuickActionDefaultsHandler.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/QuickAction/QuickActionRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/QuickAction/QuickActionResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/QuickAction/QuickActionTemplateResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/QuickAction/ReportChartComponent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/QuickAction/SControl.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/QuickAction/SendEmailQuickActionDefaults.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/QuickAction/Separator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/QuickAction/VisualforcePage.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/AggregateColumn.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/BucketField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/BucketFieldValue.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/BucketType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ColumnDataType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ColumnSortOrder.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/CrossFilter.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/CsfGroupType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/DateGranularity.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/DetailColumn.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/Dimension.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/EvaluatedCondition.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/EvaluatedConditionOperator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/FeatureNotSupportedException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/FilterOperator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/FilterValue.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/FormulaType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/GroupingColumn.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/GroupingInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/GroupingValue.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/InstanceAccessException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/InvalidFilterException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/InvalidReportMetadataException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/InvalidSnapshotDateException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/MetadataException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/NotificationAction.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/NotificationActionContext.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ReportCsf.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ReportCurrency.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ReportDataCell.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ReportDescribeResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ReportDetailRow.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ReportDivisionInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ReportExtendedMetadata.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ReportFact.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ReportFactWithDetails.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ReportFactWithSummaries.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ReportFilter.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ReportFilterType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ReportFormat.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ReportInstance.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ReportInstanceAttributes.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ReportManager.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ReportMetadata.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ReportResults.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ReportRunException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ReportScopeInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ReportScopeValue.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ReportTester.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ReportType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ReportTypeColumn.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ReportTypeColumnCategory.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ReportTypeMetadata.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/SortColumn.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/StandardDateFilter.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/StandardDateFilterDuration.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/StandardDateFilterDurationGroup.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/StandardFilter.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/StandardFilterInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/StandardFilterInfoPicklist.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/StandardFilterType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/SummaryValue.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/ThresholdInformation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/TopRows.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Reports/UnsupportedOperationException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Schema/ChildRelationship.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Schema/DataCategory.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Schema/DataCategoryGroupSobjectTypePair.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Schema/DescribeColorResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Schema/DescribeDataCategoryGroupResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Schema/DescribeDataCategoryGroupStructureResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Schema/DescribeFieldResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Schema/DescribeIconResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Schema/DescribeSObjectResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Schema/DescribeTabResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Schema/DescribeTabSetResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Schema/DisplayType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Schema/FieldDescribeOptions.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Schema/FieldSet.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Schema/FieldSetMember.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Schema/FilteredLookupInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Schema/PicklistEntry.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Schema/RecordTypeInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Schema/SObjectDescribeOptions.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Schema/SObjectField.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Schema/SObjectType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Schema/SoapType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Search/KnowledgeSuggestionFilter.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Search/QuestionSuggestionFilter.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Search/SearchResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Search/SearchResults.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Search/SuggestionOption.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Search/SuggestionResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Search/SuggestionResults.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Site/UrlRewriter.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ActionDispatcher.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ActionHandler.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ActionPayload.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ActionResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ApiTestRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ApiTestResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/App.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/AppClient.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/AppClientMock.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/AppHomeOpenedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/AppIcons.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/AppMentionEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/AppRateLimitedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/AppRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/AppRequestedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/AppScope.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/AppUninstalledEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/AppsEventAuthorizationsListRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/AppsEventAuthorizationsListResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/AppsUninstallRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/AppsUninstallResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/AuthRevokeRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/AuthRevokeResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/AuthTeamsListRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/AuthTeamsListResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/AuthTestRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/AuthTestResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/BillableInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/Bookmark.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/BookmarksAddRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/BookmarksAddResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/BookmarksEditRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/BookmarksEditResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/BookmarksListRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/BookmarksListResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/BookmarksRemoveRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/BookmarksRemoveResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/BotClient.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/BotClientMock.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/BotIcons.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/BotProfile.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/BotsInfoRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/BotsInfoResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/Call.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/CallParticipant.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/CallRejectedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/CallableHandler.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/CallsAddRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/CallsAddResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/CallsEndRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/CallsEndResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/CallsInfoRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/CallsInfoResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/CallsParticipantsAddRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/CallsParticipantsAddResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/CallsParticipantsRemoveRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/CallsParticipantsRemoveResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/CallsUpdateRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/CallsUpdateResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/Channel.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChannelArchiveEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChannelCreatedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChannelDeletedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChannelHistoryChangedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChannelIdChangedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChannelLeftEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChannelRenameEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChannelSharedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChannelUnarchiveEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChannelUnsharedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChatDeleteRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChatDeleteResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChatDeleteScheduledMessageRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChatDeleteScheduledMessageResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChatGetPermalinkRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChatGetPermalinkResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChatMeMessageRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChatMeMessageResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChatPostEphemeralRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChatPostEphemeralResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChatPostMessageRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChatPostMessageResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChatScheduleMessageRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChatScheduleMessageResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChatScheduledMessagesListRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChatScheduledMessagesListResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChatUpdateRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ChatUpdateResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConnectChannel.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConnectInvite.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConnectInviteAcceptance.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConnectInviteDetail.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConnectInviteReview.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConnectTeam.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConnectUser.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConnectUserProfile.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/Conversation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsAcceptSharedInviteRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsAcceptSharedInviteResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsArchiveRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsArchiveResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsCloseRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsCloseResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsCreateRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsCreateResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsDeclineSharedInviteRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsDeclineSharedInviteResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsHistoryRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsHistoryResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsInfoRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsInfoResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsInviteRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsInviteResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsInviteSharedRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsInviteSharedResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsJoinRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsJoinResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsKickRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsKickResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsLeaveRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsLeaveResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsListConnectInvitesRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsListConnectInvitesResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsListRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsListResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsMarkRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsMarkResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsMembersRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsMembersResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsOpenRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsOpenResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsRenameRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsRenameResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsRepliesRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsRepliesResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsSetPurposeRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsSetPurposeResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsSetTopicRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsSetTopicResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsUnarchiveRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ConversationsUnarchiveResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/DndEndDndRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/DndEndDndResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/DndEndSnoozeRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/DndEndSnoozeResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/DndInfoRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/DndInfoResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/DndSetSnoozeRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/DndSetSnoozeResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/DndTeamInfoRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/DndTeamInfoResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/DndUpdatedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/DndUpdatedUserEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/EmailDomainChangedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/EmojiChangedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/EmojiListRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/EmojiListResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ErrorReport.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ErrorResponseMetadata.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/Event.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/EventDispatcher.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/EventParameters.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/Field.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/File.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FileChangeEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FileComment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FileCreatedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FileDeletedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FilePublicEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FileSharedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FileUnsharedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FilesDeleteRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FilesDeleteResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FilesDownloadRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FilesInfoRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FilesInfoResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FilesListRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FilesListResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteAddRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteAddResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteInfoRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteInfoResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteListRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteListResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteRemoveRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteRemoveResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteShareRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteShareResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteUpdateRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteUpdateResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FilesRevokePublicURLRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FilesRevokePublicURLResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FilesSharedPublicURLRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/FilesSharedPublicURLResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/GridMigrationFinishedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/GridMigrationStartedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/GroupArchiveEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/GroupCloseEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/GroupDeletedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/GroupHistoryChangedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/GroupLeftEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/GroupOpenEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/GroupRenameEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/GroupUnarchiveEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/HomeView.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ImCloseEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ImCreatedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ImHistoryChangedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ImOpenEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/IntegrationLog.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/InviteRequestedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/Latest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/LinkSharedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/Login.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/MatchedItem.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/MemberJoinedChannelEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/MemberLeftChannelEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/Message.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/MessageBotEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/MessageChangedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/MessageChannelJoinEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/MessageChannelPostingPermissionsEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/MessageChannelTopicEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/MessageContent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/MessageContext.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/MessageDeletedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/MessageEkmAccessDeniedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/MessageEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/MessageFileShareEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/MessageGroupTopicEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/MessageMeEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/MessageRepliedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/MessageThreadBroadcastEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/MigrationExchangeRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/MigrationExchangeResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ModalHandler.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ModalView.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/Option.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/OptionDataResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/OptionGroup.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/Paging.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/PinAddedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/PinRemovedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/PinsAddRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/PinsAddResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/PinsListRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/PinsListResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/PinsRemoveRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/PinsRemoveResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/Purpose.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/Reaction.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ReactionAddedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ReactionRemovedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ReactionsAddRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ReactionsAddResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ReactionsGetRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ReactionsGetResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ReactionsListRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ReactionsListResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ReactionsRemoveRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ReactionsRemoveResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/Reminder.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/RemindersAddRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/RemindersAddResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/RemindersCompleteRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/RemindersCompleteResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/RemindersDeleteRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/RemindersDeleteResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/RemindersInfoRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/RemindersInfoResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/RemindersListRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/RemindersListResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/RequestContext.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/RequestedApp.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ResponseMetadata.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/RunnableHandler.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/SearchAllRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/SearchAllResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/SearchFilesRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/SearchFilesResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/SearchMessagesRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/SearchMessagesResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/SearchResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/SharedChannelInviteAcceptedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/SharedChannelInviteApprovedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/SharedChannelInviteDeclinedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/SharedChannelInviteReceivedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ShortcutDispatcher.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ShortcutParameters.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/SlashCommandDispatcher.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/SlashCommandParameters.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/StarAddedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/StarRemovedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/StarsAddRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/StarsAddResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/StarsListRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/StarsListResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/StarsRemoveRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/StarsRemoveResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/SubteamCreatedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/SubteamMembersChangedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/SubteamSelfAddedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/SubteamSelfRemovedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/SubteamUpdatedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/Team.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/TeamAccessGrantedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/TeamAccessLogsRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/TeamAccessLogsResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/TeamAccessRevokedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/TeamBillableInfoRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/TeamBillableInfoResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/TeamDomainChangeEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/TeamIcon.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/TeamInfoRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/TeamInfoResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/TeamIntegrationLogsRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/TeamIntegrationLogsResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/TeamJoinEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/TeamProfileGetRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/TeamProfileGetResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/TeamRenameEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/TestHarness.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/TokenInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/TokenType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/TokensRevokedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/Topic.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UisfUserAuthedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/User.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UserChangeEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UserClient.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UserClientMock.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UserMapping.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UserMappingResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UserMappingService.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UserMappingUrlServiceProvider.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UserProvisioningErrorCode.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UserProvisioningProvider.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UserProvisioningResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UserResourceDeniedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UserResourceGrantedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UserResourceRemovedEvent.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UserType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/Usergroup.Prefs.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/Usergroup.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsCreateRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsCreateResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsDisableRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsDisableResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsEnableRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsEnableResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsListRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsListResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsUpdateRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsUpdateResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsUsersListRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsUsersListResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsUsersUpdateRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsUsersUpdateResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsersConversationsRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsersConversationsResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsersDeletePhotoRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsersDeletePhotoResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsersGetPresenceRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsersGetPresenceResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsersIdentityRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsersIdentityResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsersInfoRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsersInfoResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsersListRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsersListResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsersLookupByEmailRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsersLookupByEmailResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsersProfileGetRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsersProfileGetResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsersProfileSetRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsersProfileSetResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsersSetActiveRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsersSetActiveResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsersSetPresenceRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/UsersSetPresenceResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/View.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ViewContext.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ViewReference.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ViewsOpenRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ViewsOpenResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ViewsPublishRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ViewsPublishResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ViewsPushRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ViewsPushResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ViewsUpdateRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/ViewsUpdateResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/WarningResponseMetadata.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/WorkflowStepInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/WorkflowStepOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/WorkflowsStepCompletedRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/WorkflowsStepCompletedResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/WorkflowsStepFailedRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/WorkflowsStepFailedResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/WorkflowsUpdateStepRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Slack/WorkflowsUpdateStepResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Support/EmailTemplateSelector.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Support/EmailToCaseHandler.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Support/MilestoneTriggerTimeCalculator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Support/WorkCapacityCalculation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Support/WorkCapacityDuration.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Support/WorkCapacityInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/AccessLevel.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/AccessType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Address.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Answers.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/ApexPages.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/AppExchangeTrialTemplate.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/AppExchangeUserPerms.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Approval.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Assert.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/AssertException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/AsyncException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/AsyncInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/AsyncOptions.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Aura.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/BcpProvisionService.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/BigObjectException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/BusinessHours.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Busop.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Callable.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/CalloutException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/CanvasException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Cases.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Communities.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Comparable.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Continuation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Cookie.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Crypto.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/DataWeaveScriptException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Database.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Date.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/DistributedLedgerService.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/DmlException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Domain.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/DomainCreator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/DomainParser.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/DomainType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Dynamic.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/EmailException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/EmailMessages.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/EmailTemplateRenderException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/EncodingUtil.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/EventBus.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/EventObjectException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/ExternalObjectException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/FeatureManagement.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/FinalException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Finalizer.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/FinalizerContext.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/FinalizerContextImpl.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/FlexQueue.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/FlowException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Formula.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/FormulaRecalcFieldError.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/FormulaRecalcResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/HandledException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Http.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/HttpCalloutMock.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/HttpRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/HttpResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Ideas.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/IllegalArgumentException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/InvalidHeaderException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/InvalidParameterValueException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/InvalidReadOnlyUserDmlException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Iterable.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Iterator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/JSON.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/JSONException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/JSONGenerator.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/JSONParser.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/JSONToken.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/LicenseException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/LimitException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Limits.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/ListException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Location.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/LoggingLevel.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Matcher.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Math.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/MathException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Messaging.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/MultiStaticResourceCalloutMock.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Network.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/NoAccessException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/NoDataFoundException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/NoSuchElementException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/NullPointerException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/OrgInstrumentationContext.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/OrgInstrumentationOperation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/OrgInstrumentationService.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/OrgLimit.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/OrgLimits.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/OrgMetricPublishTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/OrgMetricServiceEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/OrgMetricTypeEnum.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/PackageOMCopyForRzoneEnvironment.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Packaging.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/PageReference.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/ParentJobResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Pattern.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/PlatformCacheException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/PolyglotException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/ProcedureException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/QueryException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Queueable.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/QueueableContext.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/QueueableContextImpl.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/QuickAction.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Quiddity.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/RemoteObjectController.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Request.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/RequestImpl.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/RequiredFeatureMissingException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/ResetPasswordResult.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/RestContext.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/RestRequest.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/RestResponse.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/RoundingMode.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/SObjectAccessDecision.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/SObjectException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/SandboxContext.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/SandboxPostCopy.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Schedulable.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/SchedulableContext.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/SchedulableContextImpl.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Schema.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Search.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/SearchException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Security.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/SecurityException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/SelectOption.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/SerializationException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/SetupScope.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Site.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/StaticResourceCalloutMock.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/StatusCode.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/StringException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/StubProvider.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/SupportPredictiveService.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/System.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Test.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Time.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/TimeZone.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/TouchHandledException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/TrailblazerIdentity.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/TriggerOperation.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Type.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/TypeException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/UnexpectedException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/UnsupportedOperationException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Url.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/UserInfo.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/UserManagement.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/Version.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/VisualforceException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/WaveTemplateException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/WebServiceCallout.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/WebServiceCalloutFuture.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/WebServiceMock.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/WebStoreContext.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/XmlException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/XmlStreamReader.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/XmlStreamWriter.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/XmlTag.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/System/YubiAuthForAloha.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/TerritoryMgmt/OpportunityTerritory2AssignmentFilter.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/TxnSecurity/Event.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/TxnSecurity/EventCondition.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/TxnSecurity/PolicyCondition.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/UserProvisioning/CollectingBatchable.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/UserProvisioning/CommittingBatchable.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/UserProvisioning/ConnectorTestUtil.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/UserProvisioning/DeletingBatchable.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/UserProvisioning/DummyConnectorApexHandler.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/UserProvisioning/FlowProvisionBase.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/UserProvisioning/LinkingBatchable.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/UserProvisioning/PluginBatchable.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/UserProvisioning/ProvisioningBatchable.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/UserProvisioning/ProvisioningProcessHandlerInput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/UserProvisioning/ProvisioningProcessHandlerOutput.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/UserProvisioning/RequestingBatchable.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/UserProvisioning/UPASCleaningBatchable.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/UserProvisioning/UserProvisioningLog.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/UserProvisioning/UserProvisioningPlugin.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/UserProvisioning/UserProvisioningProcessHandler.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/VisualEditor/DataRow.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/VisualEditor/DesignTimePageContext.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/VisualEditor/DynamicPickList.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/VisualEditor/DynamicPickListRows.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Wave/Dags.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Wave/DagsSearchOptions.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Wave/InvalidParameterException.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Wave/Lenses.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Wave/LensesSearchOptions.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Wave/NodeType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Wave/ProjectionNode.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Wave/ProjectionType.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Wave/QueryBuilder.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Wave/QueryBuilderValidationUtil.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Wave/QueryNode.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Wave/Templates.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Wave/TemplatesSearchOptions.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Wave/TrendedDatasetProcessor.cls create mode 100644 .sfdx/tools/246/StandardApexLibrary/Wave/WaveQueryException.cls create mode 100644 .sfdx/tools/246/apex.db create mode 100644 gameplan.txt create mode 100644 scenes/basic_shapes.rt diff --git a/.sfdx/tools/246/StandardApexLibrary/ApexPages/Action.cls b/.sfdx/tools/246/StandardApexLibrary/ApexPages/Action.cls new file mode 100644 index 0000000..f037747 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ApexPages/Action.cls @@ -0,0 +1,7 @@ +global class Action { + global Action(String expression) { } + global Object clone() { } + global String getExpression() { } + global System.PageReference invoke() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ApexPages/Component.cls b/.sfdx/tools/246/StandardApexLibrary/ApexPages/Component.cls new file mode 100644 index 0000000..a7f29e8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ApexPages/Component.cls @@ -0,0 +1,12 @@ +global class Component { + global List childComponents; + global List componentIterations; + global ApexPages.expressions expressions; + global ApexPages.facets facets; + global String id; + global ApexPages.Component parent; + global Boolean rendered; + global Object clone() { } + global ApexPages.Component getComponentById(String id) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ApexPages/ComponentIteration.cls b/.sfdx/tools/246/StandardApexLibrary/ApexPages/ComponentIteration.cls new file mode 100644 index 0000000..7442dd2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ApexPages/ComponentIteration.cls @@ -0,0 +1,8 @@ +global class ComponentIteration { + global List childComponents; + global Object iterationValue; + global ApexPages.Component parent; + global Object clone() { } + global ApexPages.Component getComponentById(String id) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ApexPages/HammerProcessor.cls b/.sfdx/tools/246/StandardApexLibrary/ApexPages/HammerProcessor.cls new file mode 100644 index 0000000..818b706 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ApexPages/HammerProcessor.cls @@ -0,0 +1,3 @@ +global class HammerProcessor { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ApexPages/IdeaStandardController.cls b/.sfdx/tools/246/StandardApexLibrary/ApexPages/IdeaStandardController.cls new file mode 100644 index 0000000..4de741e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ApexPages/IdeaStandardController.cls @@ -0,0 +1,12 @@ +global class IdeaStandardController { + global void addFields(List fieldNames) { } + global System.PageReference cancel() { } + global System.PageReference delete() { } + global System.PageReference edit() { } + global List getCommentList() { } + global String getId() { } + global SObject getRecord() { } + global System.PageReference save() { } + global System.PageReference view() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ApexPages/IdeaStandardSetController.cls b/.sfdx/tools/246/StandardApexLibrary/ApexPages/IdeaStandardSetController.cls new file mode 100644 index 0000000..d0792ac --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ApexPages/IdeaStandardSetController.cls @@ -0,0 +1,26 @@ +global class IdeaStandardSetController { + global void addFields(List fieldNames) { } + global System.PageReference cancel() { } + global void first() { } + global Boolean getCompleteResult() { } + global String getFilterId() { } + global Boolean getHasNext() { } + global Boolean getHasPrevious() { } + global List getIdeaList() { } + global List getListViewOptions() { } + global Integer getPageNumber() { } + global Integer getPageSize() { } + global SObject getRecord() { } + global List getRecords() { } + global Integer getResultSize() { } + global List getSelected() { } + global void last() { } + global void next() { } + global void previous() { } + global System.PageReference save() { } + global void setFilterId(String filterId) { } + global void setPageNumber(Integer pageNumber) { } + global void setPageSize(Integer pageSize) { } + global void setSelected(List selected) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ApexPages/KnowledgeArticleVersionStandardController.cls b/.sfdx/tools/246/StandardApexLibrary/ApexPages/KnowledgeArticleVersionStandardController.cls new file mode 100644 index 0000000..fc37da4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ApexPages/KnowledgeArticleVersionStandardController.cls @@ -0,0 +1,11 @@ +global class KnowledgeArticleVersionStandardController { + global KnowledgeArticleVersionStandardController(SObject sobject) { } + global void addFields(List fieldNames) { } + global System.PageReference cancel() { } + global String getId() { } + global SObject getRecord() { } + global String getSourceId() { } + global void selectDataCategory(String categoryGroup, String category) { } + global System.PageReference view() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ApexPages/Message.cls b/.sfdx/tools/246/StandardApexLibrary/ApexPages/Message.cls new file mode 100644 index 0000000..9766ca8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ApexPages/Message.cls @@ -0,0 +1,10 @@ +global class Message { + global Message(ApexPages.Severity severity, String summary, String detail, String id) { } + global Message(ApexPages.Severity severity, String summary, String detail) { } + global Message(ApexPages.Severity severity, String message) { } + global String getComponentLabel() { } + global String getDetail() { } + global ApexPages.Severity getSeverity() { } + global String getSummary() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ApexPages/PageReference.cls b/.sfdx/tools/246/StandardApexLibrary/ApexPages/PageReference.cls new file mode 100644 index 0000000..1c1d5cd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ApexPages/PageReference.cls @@ -0,0 +1,3 @@ +global class PageReference { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ApexPages/SelectOption.cls b/.sfdx/tools/246/StandardApexLibrary/ApexPages/SelectOption.cls new file mode 100644 index 0000000..990bb34 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ApexPages/SelectOption.cls @@ -0,0 +1,3 @@ +global class SelectOption { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ApexPages/Severity.cls b/.sfdx/tools/246/StandardApexLibrary/ApexPages/Severity.cls new file mode 100644 index 0000000..6ee2231 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ApexPages/Severity.cls @@ -0,0 +1,7 @@ +global enum Severity { +CONFIRM, +ERROR, +FATAL, +INFO, +WARNING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ApexPages/StandardController.cls b/.sfdx/tools/246/StandardApexLibrary/ApexPages/StandardController.cls new file mode 100644 index 0000000..471bae5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ApexPages/StandardController.cls @@ -0,0 +1,12 @@ +global class StandardController { + global StandardController(SObject sobject) { } + global void addFields(List fieldNames) { } + global System.PageReference cancel() { } + global System.PageReference delete() { } + global System.PageReference edit() { } + global String getId() { } + global SObject getRecord() { } + global System.PageReference save() { } + global System.PageReference view() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ApexPages/StandardSetController.cls b/.sfdx/tools/246/StandardApexLibrary/ApexPages/StandardSetController.cls new file mode 100644 index 0000000..90ac883 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ApexPages/StandardSetController.cls @@ -0,0 +1,27 @@ +global class StandardSetController { + global StandardSetController(Database.QueryLocator queryLocator) { } + global StandardSetController(List records) { } + global void addFields(List fieldNames) { } + global System.PageReference cancel() { } + global void first() { } + global Boolean getCompleteResult() { } + global String getFilterId() { } + global Boolean getHasNext() { } + global Boolean getHasPrevious() { } + global List getListViewOptions() { } + global Integer getPageNumber() { } + global Integer getPageSize() { } + global SObject getRecord() { } + global List getRecords() { } + global Integer getResultSize() { } + global List getSelected() { } + global void last() { } + global void next() { } + global void previous() { } + global System.PageReference save() { } + global void setFilterId(String filterId) { } + global void setPageNumber(Integer pageNumber) { } + global void setPageSize(Integer pageSize) { } + global void setSelected(List selected) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/AppLauncher/AccountSettingsController.cls b/.sfdx/tools/246/StandardApexLibrary/AppLauncher/AccountSettingsController.cls new file mode 100644 index 0000000..26debbe --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/AppLauncher/AccountSettingsController.cls @@ -0,0 +1,18 @@ +global class AccountSettingsController { + global Object clone() { } + global static String getCity() { } + global static String getCountry() { } + global static List> getExtraFields(String extraFieldsFieldSet) { } + global static String getFirstName() { } + global static String getLanguage() { } + global static String getLastName() { } + global static String getLocale() { } + global static String getMobilePhone() { } + global static String getPostalCode() { } + global static String getState() { } + global static String getStreet() { } + global static String getTimeZone() { } + global static String getUserEmail() { } + global static String getWorkPhone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/AppLauncher/AppLauncherHelper.cls b/.sfdx/tools/246/StandardApexLibrary/AppLauncher/AppLauncherHelper.cls new file mode 100644 index 0000000..42423ab --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/AppLauncher/AppLauncherHelper.cls @@ -0,0 +1,4 @@ +global class AppLauncherHelper { + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/AppLauncher/AppLauncherSetupReordererController.cls b/.sfdx/tools/246/StandardApexLibrary/AppLauncher/AppLauncherSetupReordererController.cls new file mode 100644 index 0000000..3a561cf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/AppLauncher/AppLauncherSetupReordererController.cls @@ -0,0 +1,6 @@ +global class AppLauncherSetupReordererController { + global Object clone() { } + global static Map getModel() { } + global static String saveOrder(String applicationIds) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/AppLauncher/AppMenu.cls b/.sfdx/tools/246/StandardApexLibrary/AppLauncher/AppMenu.cls new file mode 100644 index 0000000..8739013 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/AppLauncher/AppMenu.cls @@ -0,0 +1,8 @@ +global class AppMenu { + global AppMenu() { } + global Object clone() { } + global static void setAppVisibility(Id appMenuItemId, Boolean isVisible) { } + global static void setOrgSortOrder(List applicationIds) { } + global static void setUserSortOrder(List applicationIds) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/AppLauncher/ChangePasswordController.cls b/.sfdx/tools/246/StandardApexLibrary/AppLauncher/ChangePasswordController.cls new file mode 100644 index 0000000..2313d57 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/AppLauncher/ChangePasswordController.cls @@ -0,0 +1,7 @@ +global class ChangePasswordController { + global static String changePassowrd(String newPassword, String confirmPassword, String oldPassword) { } + global static String changePassword(String newPassword, String confirmPassword, String oldPassword, Boolean shouldRedirect) { } + global Object clone() { } + global static String getPasswordPolicyStatement() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/AppLauncher/CommerceStoreController.cls b/.sfdx/tools/246/StandardApexLibrary/AppLauncher/CommerceStoreController.cls new file mode 100644 index 0000000..61efe23 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/AppLauncher/CommerceStoreController.cls @@ -0,0 +1,6 @@ +global class CommerceStoreController { + global CommerceStoreController() { } + global Object clone() { } + global static Map getCommerceContext() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/AppLauncher/CommunityLogoController.cls b/.sfdx/tools/246/StandardApexLibrary/AppLauncher/CommunityLogoController.cls new file mode 100644 index 0000000..6c40935 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/AppLauncher/CommunityLogoController.cls @@ -0,0 +1,7 @@ +global class CommunityLogoController { + global CommunityLogoController() { } + global Object clone() { } + global static String getCommunityName() { } + global static String getLogoURL() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/AppLauncher/EmployeeLoginLinkController.cls b/.sfdx/tools/246/StandardApexLibrary/AppLauncher/EmployeeLoginLinkController.cls new file mode 100644 index 0000000..6ff8e57 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/AppLauncher/EmployeeLoginLinkController.cls @@ -0,0 +1,7 @@ +global class EmployeeLoginLinkController { + global EmployeeLoginLinkController() { } + global Object clone() { } + global static String getEmployeeLoginUrl(String startUrl) { } + global static Boolean getIsAllowInternalUserLoginEnabled() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/AppLauncher/ForgotPasswordController.cls b/.sfdx/tools/246/StandardApexLibrary/AppLauncher/ForgotPasswordController.cls new file mode 100644 index 0000000..3d7c507 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/AppLauncher/ForgotPasswordController.cls @@ -0,0 +1,6 @@ +global class ForgotPasswordController { + global Object clone() { } + global static String forgotPassword(String username, String checkEmailUrl) { } + global static String setExperienceId(String expId) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/AppLauncher/IdentityHeaderController.cls b/.sfdx/tools/246/StandardApexLibrary/AppLauncher/IdentityHeaderController.cls new file mode 100644 index 0000000..c806319 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/AppLauncher/IdentityHeaderController.cls @@ -0,0 +1,11 @@ +global class IdentityHeaderController { + global Object clone() { } + global static Boolean getGuestUser() { } + global static Boolean getInternalUser() { } + global static String getLoginUrl() { } + global static String getLogoutUrl() { } + global static String getPhotoUrl() { } + global static String getUserDisplayName() { } + global static String getUserId() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/AppLauncher/LoginFormController.cls b/.sfdx/tools/246/StandardApexLibrary/AppLauncher/LoginFormController.cls new file mode 100644 index 0000000..b77ac33 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/AppLauncher/LoginFormController.cls @@ -0,0 +1,13 @@ +global class LoginFormController { + global Object clone() { } + global static String getForgotPasswordUrl() { } + global static Boolean getIsSelfRegistrationEnabled() { } + global static Boolean getIsUsernamePasswordEnabled() { } + global static String getLoginRightFrameUrl() { } + global static String getSelfRegistrationUrl() { } + global static Map getUsernamePasswordSelfRegEnabled() { } + global static String login(String username, String password, String startUrl) { } + global static String loginGetPageRefUrl(String username, String password, String startUrl) { } + global static String setExperienceId(String expId) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/AppLauncher/SelfRegisterController.cls b/.sfdx/tools/246/StandardApexLibrary/AppLauncher/SelfRegisterController.cls new file mode 100644 index 0000000..113df7a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/AppLauncher/SelfRegisterController.cls @@ -0,0 +1,11 @@ +global class SelfRegisterController { + global SelfRegisterController() { } + global Object clone() { } + global static String commonSelfRegisterGetRedirectUrl(String firstname, String lastname, String email, String password, String confirmPassword, String accountId, String regConfirmUrl, String extraFields, String startUrl, Boolean includePassword, Boolean redirect, Boolean enableBuyer, String buyerParams) { } + global static List> getExtraFields(String extraFieldsFieldSet) { } + global static Boolean isValidPassword(String password, String confirmPassword) { } + global static String selfRegister(String firstname, String lastname, String email, String password, String confirmPassword, String accountId, String regConfirmUrl, String extraFields, String startUrl, Boolean includePassword) { } + global static String selfRegisterGetRedirectUrl(String firstname, String lastname, String email, String password, String confirmPassword, String accountId, String regConfirmUrl, String extraFields, String startUrl, Boolean includePassword, Boolean redirect) { } + global static String setExperienceId(String expId) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/AppLauncher/SocialLoginController.cls b/.sfdx/tools/246/StandardApexLibrary/AppLauncher/SocialLoginController.cls new file mode 100644 index 0000000..c1977bc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/AppLauncher/SocialLoginController.cls @@ -0,0 +1,12 @@ +global class SocialLoginController { + global SocialLoginController() { } + global Object clone() { } + global static List getAuthProviders() { } + global static String getCommunityDomainSsoUrl(String startUrl, String developerName) { } + global static List getSamlProviders() { } + global static String getSamlSsoUrl(String startUrl, String samlId) { } + global static String getSamlSsoUrlNoCache(String startUrl, String samlId) { } + global static String getSsoUrl(String startUrl, String developerName) { } + global static String handleIdp() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Approval/LockResult.cls b/.sfdx/tools/246/StandardApexLibrary/Approval/LockResult.cls new file mode 100644 index 0000000..6eba0d5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Approval/LockResult.cls @@ -0,0 +1,9 @@ +global class LockResult { + global List errors; + global Id id; + global Boolean success; + global List getErrors() { } + global Id getId() { } + global Boolean isSuccess() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Approval/ProcessRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Approval/ProcessRequest.cls new file mode 100644 index 0000000..32b42e9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Approval/ProcessRequest.cls @@ -0,0 +1,9 @@ +global class ProcessRequest { + global String comments; + global List nextapproverids; + global String getComments() { } + global List getNextApproverIds() { } + global void setComments(String param0) { } + global void setNextApproverIds(List param0) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Approval/ProcessResult.cls b/.sfdx/tools/246/StandardApexLibrary/Approval/ProcessResult.cls new file mode 100644 index 0000000..e0e906f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Approval/ProcessResult.cls @@ -0,0 +1,17 @@ +global class ProcessResult { + global List actorids; + global String entityid; + global List errors; + global String instanceid; + global String instancestatus; + global List newworkitemids; + global Boolean success; + global List getActorIds() { } + global String getEntityId() { } + global List getErrors() { } + global String getInstanceId() { } + global String getInstanceStatus() { } + global List getNewWorkitemIds() { } + global Boolean isSuccess() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Approval/ProcessSubmitRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Approval/ProcessSubmitRequest.cls new file mode 100644 index 0000000..12c752f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Approval/ProcessSubmitRequest.cls @@ -0,0 +1,20 @@ +global class ProcessSubmitRequest { + global String objectid; + global String processdefinitionnameorid; + global Boolean skipentrycriteria; + global String submitterid; + global ProcessSubmitRequest() { } + global String getComments() { } + global List getNextApproverIds() { } + global String getObjectId() { } + global String getProcessDefinitionNameOrId() { } + global Boolean getSkipEntryCriteria() { } + global String getSubmitterId() { } + global void setComments(String param0) { } + global void setNextApproverIds(List param0) { } + global void setObjectId(String param0) { } + global void setProcessDefinitionNameOrId(String param0) { } + global void setSkipEntryCriteria(Boolean param0) { } + global void setSubmitterId(String param0) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Approval/ProcessWorkitemRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Approval/ProcessWorkitemRequest.cls new file mode 100644 index 0000000..48b98ce --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Approval/ProcessWorkitemRequest.cls @@ -0,0 +1,14 @@ +global class ProcessWorkitemRequest { + global String action; + global String workitemid; + global ProcessWorkitemRequest() { } + global String getAction() { } + global String getComments() { } + global List getNextApproverIds() { } + global String getWorkitemId() { } + global void setAction(String param0) { } + global void setComments(String param0) { } + global void setNextApproverIds(List param0) { } + global void setWorkitemId(String param0) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Approval/UnlockResult.cls b/.sfdx/tools/246/StandardApexLibrary/Approval/UnlockResult.cls new file mode 100644 index 0000000..d85cc3a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Approval/UnlockResult.cls @@ -0,0 +1,9 @@ +global class UnlockResult { + global List errors; + global Id id; + global Boolean success; + global List getErrors() { } + global Id getId() { } + global Boolean isSuccess() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/AuthConfiguration.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/AuthConfiguration.cls new file mode 100644 index 0000000..879e75e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/AuthConfiguration.cls @@ -0,0 +1,30 @@ +global class AuthConfiguration { + global AuthConfiguration(Id networkId, String start_URL) { } + global AuthConfiguration(String URL, String start_URL) { } + global Object clone() { } + global Boolean getAllowInternalUserLoginEnabled() { } + global AuthConfig getAuthConfig() { } + global List getAuthConfigProviders() { } + global static String getAuthProviderSsoDomainUrl(String communityUrl, String startUrl, String developerName) { } + global static String getAuthProviderSsoUrl(String communityUrl, String startUrl, String developerName) { } + global List getAuthProviders() { } + global String getBackgroundColor() { } + global Boolean getCertificateLoginEnabled(String domainUrl) { } + global static String getCertificateLoginUrl(String domainUrl, String startUrl) { } + global Id getDefaultProfileForRegistration() { } + global String getFooterText() { } + global String getForgotPasswordUrl() { } + global Boolean getHeadlessForgotPasswordEnabled() { } + global Boolean getHeadlessFrgtPswEnabled() { } + global Boolean getHeadlessRegistrationEnabled() { } + global String getLoginRightFrameUrl() { } + global String getLogoUrl() { } + global List getSamlProviders() { } + global static String getSamlSsoUrl(String cUrl, String startUrl, String samlId) { } + global Boolean getSelfRegistrationEnabled() { } + global String getSelfRegistrationUrl() { } + global String getStartUrl() { } + global Boolean getUsernamePasswordEnabled() { } + global Boolean isCommunityUsingSiteAsContainer() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/AuthProviderCallbackState.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/AuthProviderCallbackState.cls new file mode 100644 index 0000000..1d15979 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/AuthProviderCallbackState.cls @@ -0,0 +1,8 @@ +global class AuthProviderCallbackState { + global String body; + global Map headers; + global Map queryParameters; + global AuthProviderCallbackState(Map headers, String body, Map queryParameters) { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/AuthProviderPlugin.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/AuthProviderPlugin.cls new file mode 100644 index 0000000..403ff12 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/AuthProviderPlugin.cls @@ -0,0 +1,7 @@ +global interface AuthProviderPlugin { + String getCustomMetadataType(); + Auth.UserData getUserInfo(Map param0, Auth.AuthProviderTokenResponse param1); + Auth.AuthProviderTokenResponse handleCallback(Map param0, Auth.AuthProviderCallbackState param1); + System.PageReference initiate(Map param0, String param1); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/AuthProviderPluginClass.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/AuthProviderPluginClass.cls new file mode 100644 index 0000000..d1cef6a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/AuthProviderPluginClass.cls @@ -0,0 +1,6 @@ +global class AuthProviderPluginClass { + global AuthProviderPluginClass() { } + global Object clone() { } + global Auth.OAuthRefreshResult refresh(Map authProviderConfiguration, String refreshToken) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/AuthProviderPluginException.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/AuthProviderPluginException.cls new file mode 100644 index 0000000..58b288c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/AuthProviderPluginException.cls @@ -0,0 +1,9 @@ +global class AuthProviderPluginException extends Exception { + global AuthProviderPluginException(String param0, Exception param1) { } + global AuthProviderPluginException(Exception param0) { } + global AuthProviderPluginException(String param0) { } + global AuthProviderPluginException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/AuthProviderTokenResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/AuthProviderTokenResponse.cls new file mode 100644 index 0000000..97cc608 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/AuthProviderTokenResponse.cls @@ -0,0 +1,9 @@ +global class AuthProviderTokenResponse { + global String oauthSecretOrRefreshToken; + global String oauthToken; + global String provider; + global String state; + global AuthProviderTokenResponse(String provider, String oauthToken, String oauthSecretOrRefreshToken, String state) { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/AuthToken.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/AuthToken.cls new file mode 100644 index 0000000..f2b092f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/AuthToken.cls @@ -0,0 +1,9 @@ +global class AuthToken { + global AuthToken() { } + global Object clone() { } + global static String getAccessToken(String authProviderId, String providerName) { } + global static Map getAccessTokenMap(String authProviderId, String providerName) { } + global static Map refreshAccessToken(String authProviderId, String providerName, String oldAccessToken) { } + global static Boolean revokeAccess(String authProviderId, String providerName, String userId, String remoteIdentifier) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/C2CToken.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/C2CToken.cls new file mode 100644 index 0000000..05aaa08 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/C2CToken.cls @@ -0,0 +1,8 @@ +global class C2CToken { + global C2CToken() { } + global Object clone() { } + global static String mintJwt(String audienceId, String integrationName) { } + global static String mintJwt(String audienceId) { } + global static String mintJwtForService(String audienceId, String integrationName) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/CommunitiesUtil.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/CommunitiesUtil.cls new file mode 100644 index 0000000..a0bd5df --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/CommunitiesUtil.cls @@ -0,0 +1,9 @@ +global class CommunitiesUtil { + global CommunitiesUtil() { } + global Object clone() { } + global static String getLogoutUrl() { } + global static String getUserDisplayName() { } + global static Boolean isGuestUser() { } + global static Boolean isInternalUser() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/ConfigurableSelfRegHandler.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/ConfigurableSelfRegHandler.cls new file mode 100644 index 0000000..eb64d85 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/ConfigurableSelfRegHandler.cls @@ -0,0 +1,4 @@ +global interface ConfigurableSelfRegHandler { + Id createUser(Id param0, Id param1, Map param2, String param3); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/ConfirmUserRegistrationHandler.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/ConfirmUserRegistrationHandler.cls new file mode 100644 index 0000000..02f83e0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/ConfirmUserRegistrationHandler.cls @@ -0,0 +1,4 @@ +global interface ConfirmUserRegistrationHandler { + Id confirmUser(Id param0, Id param1, Id param2, Auth.UserData param3); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/ConnectedAppPlugin.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/ConnectedAppPlugin.cls new file mode 100644 index 0000000..383a1d3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/ConnectedAppPlugin.cls @@ -0,0 +1,12 @@ +global class ConnectedAppPlugin { + global ConnectedAppPlugin() { } + global Boolean authorize(Id userId, Id connectedAppId, Boolean isAdminApproved, Auth.InvocationContext context) { } + global Boolean authorize(Id userId, Id connectedAppId, Boolean isAdminApproved) { } + global Object clone() { } + global Map customAttributes(Id userId, Id connectedAppId, Map formulaDefinedAttributes, Auth.InvocationContext context) { } + global Map customAttributes(Id userId, Map formulaDefinedAttributes) { } + global dom.XmlNode modifySAMLResponse(Map authSession, Id connectedAppId, dom.XmlNode samlResponse) { } + global void refresh(Id userId, Id connectedAppId, Auth.InvocationContext context) { } + global void refresh(Id userId, Id connectedAppId) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/ConnectedAppPluginException.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/ConnectedAppPluginException.cls new file mode 100644 index 0000000..abf6cc1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/ConnectedAppPluginException.cls @@ -0,0 +1,9 @@ +global class ConnectedAppPluginException extends Exception { + global ConnectedAppPluginException(String param0, Exception param1) { } + global ConnectedAppPluginException(Exception param0) { } + global ConnectedAppPluginException(String param0) { } + global ConnectedAppPluginException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/DiscoveryCustomErrorException.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/DiscoveryCustomErrorException.cls new file mode 100644 index 0000000..ebb318e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/DiscoveryCustomErrorException.cls @@ -0,0 +1,9 @@ +global class DiscoveryCustomErrorException extends Exception { + global DiscoveryCustomErrorException(String param0, Exception param1) { } + global DiscoveryCustomErrorException(Exception param0) { } + global DiscoveryCustomErrorException(String param0) { } + global DiscoveryCustomErrorException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/HeadlessSelfRegistrationHandler.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/HeadlessSelfRegistrationHandler.cls new file mode 100644 index 0000000..2d29569 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/HeadlessSelfRegistrationHandler.cls @@ -0,0 +1,4 @@ +global interface HeadlessSelfRegistrationHandler { + User createUser(Id param0, Auth.UserData param1, String param2, String param3, String param4); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/InvocationContext.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/InvocationContext.cls new file mode 100644 index 0000000..dfad3a8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/InvocationContext.cls @@ -0,0 +1,17 @@ +global enum InvocationContext { +ASSET_TOKEN, +OAUTH1, +OAUTH2_JWT_BEARER_TOKEN, +OAUTH2_SAML_ASSERTION, +OAUTH2_SAML_BEARER_ASSERTION, +OAUTH2_USERNAME_PASSWORD, +OAUTH2_USER_AGENT_ID_TOKEN, +OAUTH2_USER_AGENT_TOKEN, +OAUTH2_WEB_SERVER, +OAUTH2_WEB_SERVER_ID_TOKEN, +OPENIDCONNECT, +REFRESH_TOKEN, +SAML_ASSERTION, +UNKNOWN, +USERID_ENDPOINT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/JWS.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/JWS.cls new file mode 100644 index 0000000..3a226cf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/JWS.cls @@ -0,0 +1,7 @@ +global class JWS { + global JWS(Auth.JWT jwt, String certDevName) { } + global JWS(String payload, String certDevName) { } + global Object clone() { } + global String getCompactSerialization() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/JWT.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/JWT.cls new file mode 100644 index 0000000..10174ab --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/JWT.cls @@ -0,0 +1,18 @@ +global class JWT { + global JWT() { } + global Object clone() { } + global Map getAdditionalClaims() { } + global String getAud() { } + global String getIss() { } + global Integer getNbfClockSkew() { } + global String getSub() { } + global Integer getValidityLength() { } + global void setAdditionalClaims(Map additionalClaims) { } + global void setAud(String aud) { } + global void setIss(String iss) { } + global void setNbfClockSkew(Integer nbfClockSkew) { } + global void setSub(String sub) { } + global void setValidityLength(Integer validityLength) { } + global String toJSONString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/JWTBearerTokenExchange.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/JWTBearerTokenExchange.cls new file mode 100644 index 0000000..1db1a89 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/JWTBearerTokenExchange.cls @@ -0,0 +1,23 @@ +global class JWTBearerTokenExchange { + global JWTBearerTokenExchange(String tokenEndpoint, Auth.JWS jws) { } + global JWTBearerTokenExchange() { } + global Object clone() { } + global String getAccessToken() { } + global String getGrantType() { } + global System.HttpResponse getHttpResponse() { } + global Auth.JWS getJWS() { } + global String getTokenEndpoint() { } + global void setGrantType(String grantType) { } + global void setJWS(Auth.JWS jws) { } + global void setTokenEndpoint(String tokenEndpoint) { } +global class JWTBearerTokenExchangeException extends Exception { + global JWTBearerTokenExchange.JWTBearerTokenExchangeException(String param0, Exception param1) { } + global JWTBearerTokenExchange.JWTBearerTokenExchangeException(Exception param0) { } + global JWTBearerTokenExchange.JWTBearerTokenExchangeException(String param0) { } + global JWTBearerTokenExchange.JWTBearerTokenExchangeException() { } + global Object clone() { } + global String getTypeName() { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/LightningLoginEligibility.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/LightningLoginEligibility.cls new file mode 100644 index 0000000..706099f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/LightningLoginEligibility.cls @@ -0,0 +1,9 @@ +global enum LightningLoginEligibility { +ELIGIBLE, +ORG_AUTHENTICATOR_NOT_ENABLED, +ORG_PREF_NOT_ENABLED, +USER_AUTHENTICATOR_NOT_CONNECTED, +USER_NOT_ALLOWED, +USER_NOT_ENROLLED, +USER_PERM_NOT_ENABLED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/LoginDiscoveryException.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/LoginDiscoveryException.cls new file mode 100644 index 0000000..13234a8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/LoginDiscoveryException.cls @@ -0,0 +1,9 @@ +global class LoginDiscoveryException extends Exception { + global LoginDiscoveryException(String param0, Exception param1) { } + global LoginDiscoveryException(Exception param0) { } + global LoginDiscoveryException(String param0) { } + global LoginDiscoveryException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/LoginDiscoveryHandler.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/LoginDiscoveryHandler.cls new file mode 100644 index 0000000..2227288 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/LoginDiscoveryHandler.cls @@ -0,0 +1,4 @@ +global interface LoginDiscoveryHandler { + System.PageReference login(String param0, String param1, Map param2); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/LoginDiscoveryMethod.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/LoginDiscoveryMethod.cls new file mode 100644 index 0000000..c428005 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/LoginDiscoveryMethod.cls @@ -0,0 +1,4 @@ +global enum LoginDiscoveryMethod { +LIGHTNING_LOGIN, +PASSWORD +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/MyDomainLoginDiscoveryHandler.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/MyDomainLoginDiscoveryHandler.cls new file mode 100644 index 0000000..99d545f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/MyDomainLoginDiscoveryHandler.cls @@ -0,0 +1,4 @@ +global interface MyDomainLoginDiscoveryHandler { + System.PageReference login(String param0, String param1, Map param2); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/OAuthRefreshResult.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/OAuthRefreshResult.cls new file mode 100644 index 0000000..8e3154d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/OAuthRefreshResult.cls @@ -0,0 +1,9 @@ +global class OAuthRefreshResult { + global String accessToken; + global String error; + global String refreshToken; + global OAuthRefreshResult(String accessToken, String refreshToken, String error) { } + global OAuthRefreshResult(String accessToken, String refreshToken) { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/RegistrationHandler.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/RegistrationHandler.cls new file mode 100644 index 0000000..94881e9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/RegistrationHandler.cls @@ -0,0 +1,5 @@ +global interface RegistrationHandler { + User createUser(Id param0, Auth.UserData param1); + void updateUser(Id param0, Id param1, Auth.UserData param2); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/SamlJitHandler.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/SamlJitHandler.cls new file mode 100644 index 0000000..48e838b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/SamlJitHandler.cls @@ -0,0 +1,5 @@ +global interface SamlJitHandler { + User createUser(Id param0, Id param1, Id param2, String param3, Map param4, String param5); + void updateUser(Id param0, Id param1, Id param2, Id param3, String param4, Map param5, String param6); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/SessionLevel.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/SessionLevel.cls new file mode 100644 index 0000000..50946be --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/SessionLevel.cls @@ -0,0 +1,5 @@ +global enum SessionLevel { +HIGH_ASSURANCE, +LOW, +STANDARD +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/SessionManagement.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/SessionManagement.cls new file mode 100644 index 0000000..acbd7fe --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/SessionManagement.cls @@ -0,0 +1,22 @@ +global class SessionManagement { + global SessionManagement() { } + global Object clone() { } + global static System.PageReference finishLoginDiscovery(Auth.LoginDiscoveryMethod method, Id userId) { } + global static System.PageReference finishLoginFlow(String startUrl) { } + global static System.PageReference finishLoginFlow() { } + global static String generateVerificationUrl(Auth.VerificationPolicy policy, String description, String retUrl) { } + global static Map getCurrentSession() { } + global static Auth.LightningLoginEligibility getLightningLoginEligibility(Id userId) { } + global static Map getQrCode() { } + global static Auth.SessionLevel getRequiredSessionLevelForProfile(String profileId) { } + global static Map ignoreForConcurrentSessionLimit(Object sessions) { } + global static Boolean inOrgNetworkRange(String ipAddress) { } + global static Boolean isIpAllowedForProfile(String profileId, String ipAddress) { } + global static void setSessionLevel(Auth.SessionLevel level) { } + global static Boolean validateTotpTokenForKey(String totpSharedKey, String totpCode, String description) { } + global static Boolean validateTotpTokenForKey(String totpSharedKey, String totpCode) { } + global static Boolean validateTotpTokenForUser(String totpCode, String description) { } + global static Boolean validateTotpTokenForUser(String totpCode) { } + global static System.PageReference verifyDeviceFlow(String userCode, String startUrl) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/ThirdPartyAccountLinkInfo.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/ThirdPartyAccountLinkInfo.cls new file mode 100644 index 0000000..cb8e8e2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/ThirdPartyAccountLinkInfo.cls @@ -0,0 +1,14 @@ +global class ThirdPartyAccountLinkInfo { + global String handle; + global String id; + global Boolean isNotSsoUsable; + global String provider; + global String remoteIdentifier; + global String ssoProviderId; + global String ssoProviderName; + global String thirdPartyAccountLinkKey; + global String userId; + global ThirdPartyAccountLinkInfo(String oHandle, String oRemoteIdentifier, String oUserId, String oSsoProviderId) { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/UserData.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/UserData.cls new file mode 100644 index 0000000..22697e9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/UserData.cls @@ -0,0 +1,16 @@ +global class UserData { + global Map attributeMap; + global String email; + global String firstName; + global String fullName; + global String identifier; + global String lastName; + global String link; + global String locale; + global String provider; + global String siteLoginUrl; + global String username; + global UserData(String identifier, String firstName, String lastName, String fullName, String email, String link, String username, String locale, String provider, String siteLoginUrl, Map attributeMap) { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/UserOrgInfo.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/UserOrgInfo.cls new file mode 100644 index 0000000..37a0834 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/UserOrgInfo.cls @@ -0,0 +1,14 @@ +global class UserOrgInfo { + global String email; + global Boolean isActive; + global String myDomain; + global String orgId; + global String orgName; + global String organizationType; + global String status; + global String tenantTier; + global String userId; + global String userName; + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/VerificationException.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/VerificationException.cls new file mode 100644 index 0000000..2ebdb5f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/VerificationException.cls @@ -0,0 +1,10 @@ +global class VerificationException extends Exception { + global VerificationException(Auth.VerificationPolicy policy, String retUrl, String activityDescription) { } + global VerificationException(Auth.VerificationPolicy policy, String activityDescription) { } + global Object clone() { } + global String getActivityDescription() { } + global Auth.VerificationPolicy getPolicy() { } + global String getRetUrl() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/VerificationMethod.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/VerificationMethod.cls new file mode 100644 index 0000000..16c1b00 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/VerificationMethod.cls @@ -0,0 +1,10 @@ +global enum VerificationMethod { +BUILT_IN_AUTHENTICATOR, +EMAIL, +PASSWORD, +SALESFORCE_AUTHENTICATOR, +SECURITY_KEY, +SMS, +TOTP, +U2F +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/VerificationPolicy.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/VerificationPolicy.cls new file mode 100644 index 0000000..45ae5a8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/VerificationPolicy.cls @@ -0,0 +1,3 @@ +global enum VerificationPolicy { +HIGH_ASSURANCE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Auth/VerificationResult.cls b/.sfdx/tools/246/StandardApexLibrary/Auth/VerificationResult.cls new file mode 100644 index 0000000..eb0718f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Auth/VerificationResult.cls @@ -0,0 +1,8 @@ +global class VerificationResult { + global String message; + global System.PageReference redirect; + global Boolean success; + global VerificationResult(System.PageReference redirect, Boolean success, String message) { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Cache/BulkApiKeysLimitExceededException.cls b/.sfdx/tools/246/StandardApexLibrary/Cache/BulkApiKeysLimitExceededException.cls new file mode 100644 index 0000000..ad154ab --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Cache/BulkApiKeysLimitExceededException.cls @@ -0,0 +1,9 @@ +global class BulkApiKeysLimitExceededException extends Exception { + global BulkApiKeysLimitExceededException(String param0, Exception param1) { } + global BulkApiKeysLimitExceededException(Exception param0) { } + global BulkApiKeysLimitExceededException(String param0) { } + global BulkApiKeysLimitExceededException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Cache/CacheBuilder.cls b/.sfdx/tools/246/StandardApexLibrary/Cache/CacheBuilder.cls new file mode 100644 index 0000000..e9985fc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Cache/CacheBuilder.cls @@ -0,0 +1,4 @@ +global interface CacheBuilder { + Object doLoad(String param0); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Cache/CacheBuilderExecutionException.cls b/.sfdx/tools/246/StandardApexLibrary/Cache/CacheBuilderExecutionException.cls new file mode 100644 index 0000000..0a0ddc4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Cache/CacheBuilderExecutionException.cls @@ -0,0 +1,9 @@ +global class CacheBuilderExecutionException extends Exception { + global CacheBuilderExecutionException(String param0, Exception param1) { } + global CacheBuilderExecutionException(Exception param0) { } + global CacheBuilderExecutionException(String param0) { } + global CacheBuilderExecutionException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Cache/CacheException.cls b/.sfdx/tools/246/StandardApexLibrary/Cache/CacheException.cls new file mode 100644 index 0000000..d29282d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Cache/CacheException.cls @@ -0,0 +1,9 @@ +global class CacheException extends Exception { + global CacheException(String param0, Exception param1) { } + global CacheException(Exception param0) { } + global CacheException(String msg) { } + global CacheException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Cache/ExecutionException.cls b/.sfdx/tools/246/StandardApexLibrary/Cache/ExecutionException.cls new file mode 100644 index 0000000..6d0a9bb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Cache/ExecutionException.cls @@ -0,0 +1,9 @@ +global class ExecutionException extends Exception { + global ExecutionException(String param0, Exception param1) { } + global ExecutionException(Exception param0) { } + global ExecutionException(String param0) { } + global ExecutionException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Cache/InvalidCacheBuilderException.cls b/.sfdx/tools/246/StandardApexLibrary/Cache/InvalidCacheBuilderException.cls new file mode 100644 index 0000000..79850b4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Cache/InvalidCacheBuilderException.cls @@ -0,0 +1,9 @@ +global class InvalidCacheBuilderException extends Exception { + global InvalidCacheBuilderException(String param0, Exception param1) { } + global InvalidCacheBuilderException(Exception param0) { } + global InvalidCacheBuilderException(String param0) { } + global InvalidCacheBuilderException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Cache/InvalidParamException.cls b/.sfdx/tools/246/StandardApexLibrary/Cache/InvalidParamException.cls new file mode 100644 index 0000000..7852284 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Cache/InvalidParamException.cls @@ -0,0 +1,9 @@ +global class InvalidParamException extends Exception { + global InvalidParamException(String param0, Exception param1) { } + global InvalidParamException(Exception param0) { } + global InvalidParamException(String param0) { } + global InvalidParamException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Cache/ItemSizeLimitExceededException.cls b/.sfdx/tools/246/StandardApexLibrary/Cache/ItemSizeLimitExceededException.cls new file mode 100644 index 0000000..9630b68 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Cache/ItemSizeLimitExceededException.cls @@ -0,0 +1,9 @@ +global class ItemSizeLimitExceededException extends Exception { + global ItemSizeLimitExceededException(String param0, Exception param1) { } + global ItemSizeLimitExceededException(Exception param0) { } + global ItemSizeLimitExceededException(String param0) { } + global ItemSizeLimitExceededException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Cache/Org.cls b/.sfdx/tools/246/StandardApexLibrary/Cache/Org.cls new file mode 100644 index 0000000..8f4d00e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Cache/Org.cls @@ -0,0 +1,41 @@ +global class Org { + global Integer MAX_TTL_SECS; + global Org() { } + global Object clone() { } + global static List contains(List keys) { } + global static Map contains(Set keys) { } + global static Boolean contains(String key) { } + global static Object get(System.Type cacheBuilder, String key) { } + global static List get(List keys) { } + global static Map get(Set keys) { } + global static Object get(String key) { } + global static Long getAvgGetSize() { } + global static Long getAvgGetTime() { } + global static Long getAvgValueSize() { } + global static Double getCapacity() { } + global static Set getKeys() { } + global static Long getMaxGetSize() { } + global static Long getMaxGetTime() { } + global static Long getMaxValueSize() { } + global static Double getMissRate() { } + global static String getName() { } + global static Long getNumKeys() { } + global static cache.OrgPartition getPartition(String partitionName) { } + global static void put(String key, Object value, Integer ttlSecs, cache.Visibility visibility, Boolean immutable) { } + global static void put(String key, Object value, Integer ttlSecs) { } + global static void put(String key, Object value, cache.Visibility visibility) { } + global static void put(String key, Object value) { } + global static Boolean remove(System.Type cacheBuilder, String key) { } + global static List remove(List keys) { } + global static Boolean remove(String key) { } +global class OrgCacheException extends Exception { + global Org.OrgCacheException(String param0, Exception param1) { } + global Org.OrgCacheException(Exception param0) { } + global Org.OrgCacheException(String msg) { } + global Org.OrgCacheException() { } + global Object clone() { } + global String getTypeName() { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Cache/OrgPartition.cls b/.sfdx/tools/246/StandardApexLibrary/Cache/OrgPartition.cls new file mode 100644 index 0000000..1644811 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Cache/OrgPartition.cls @@ -0,0 +1,36 @@ +global class OrgPartition { + global OrgPartition(String fullyQualifiedPartitionName) { } + global Object clone() { } + global Map contains(Set keys) { } + global Boolean contains(String key) { } + global static String createFullyQualifiedKey(String namespace, String partition, String key) { } + global static String createFullyQualifiedPartition(String namespace, String partition) { } + global Object get(System.Type cacheBuilder, String key) { } + global Map get(Set keys) { } + global Object get(String key) { } + global Long getAvgGetSize() { } + global Long getAvgGetTime() { } + global Long getAvgValueSize() { } + global Double getCapacity() { } + global Set getKeys() { } + global Long getMaxGetSize() { } + global Long getMaxGetTime() { } + global Long getMaxValueSize() { } + global Double getMissRate() { } + global String getName() { } + global Long getNumKeys() { } + global Boolean isAvailable() { } + global void put(String key, Object value, Integer ttlSecs, cache.Visibility visibility, Boolean immutable) { } + global void put(String key, Object value, Integer ttlSecs) { } + global void put(String key, Object value, cache.Visibility visibility) { } + global void put(String key, Object value) { } + global Boolean remove(System.Type cacheBuilder, String key) { } + global Boolean remove(String key) { } + global static void validateCacheBuilder(System.Type cacheBuilder) { } + global static void validateKey(Boolean isDefault, String key) { } + global static void validateKeyValue(Boolean isDefault, String key, Object value) { } + global static void validateKeys(Boolean isDefault, List keys) { } + global static void validateKeys(Boolean isDefault, Set keys) { } + global static void validatePartitionName(String name) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Cache/Partition.cls b/.sfdx/tools/246/StandardApexLibrary/Cache/Partition.cls new file mode 100644 index 0000000..54a9c5f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Cache/Partition.cls @@ -0,0 +1,36 @@ +global class Partition { + global Partition() { } + global Object clone() { } + global Map contains(Set keys) { } + global Boolean contains(String key) { } + global static String createFullyQualifiedKey(String namespace, String partition, String key) { } + global static String createFullyQualifiedPartition(String namespace, String partition) { } + global Object get(System.Type cacheBuilder, String key) { } + global Map get(Set keys) { } + global Object get(String key) { } + global Long getAvgGetSize() { } + global Long getAvgGetTime() { } + global Long getAvgValueSize() { } + global Double getCapacity() { } + global Set getKeys() { } + global Long getMaxGetSize() { } + global Long getMaxGetTime() { } + global Long getMaxValueSize() { } + global Double getMissRate() { } + global String getName() { } + global Long getNumKeys() { } + global Boolean isAvailable() { } + global void put(String key, Object value, Integer ttlSecs, cache.Visibility visibility, Boolean immutable) { } + global void put(String key, Object value, Integer ttlSecs) { } + global void put(String key, Object value, cache.Visibility visibility) { } + global void put(String key, Object value) { } + global Boolean remove(System.Type cacheBuilder, String key) { } + global Boolean remove(String key) { } + global static void validateCacheBuilder(System.Type cacheBuilder) { } + global static void validateKey(Boolean isDefault, String key) { } + global static void validateKeyValue(Boolean isDefault, String key, Object value) { } + global static void validateKeys(Boolean isDefault, List keys) { } + global static void validateKeys(Boolean isDefault, Set keys) { } + global static void validatePartitionName(String name) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Cache/PlatformCacheDelegateWrapper.cls b/.sfdx/tools/246/StandardApexLibrary/Cache/PlatformCacheDelegateWrapper.cls new file mode 100644 index 0000000..c32c44c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Cache/PlatformCacheDelegateWrapper.cls @@ -0,0 +1,4 @@ +global class PlatformCacheDelegateWrapper { + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Cache/PlatformCacheInvalidOperationException.cls b/.sfdx/tools/246/StandardApexLibrary/Cache/PlatformCacheInvalidOperationException.cls new file mode 100644 index 0000000..641adf7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Cache/PlatformCacheInvalidOperationException.cls @@ -0,0 +1,9 @@ +global class PlatformCacheInvalidOperationException extends Exception { + global PlatformCacheInvalidOperationException(String param0, Exception param1) { } + global PlatformCacheInvalidOperationException(Exception param0) { } + global PlatformCacheInvalidOperationException(String param0) { } + global PlatformCacheInvalidOperationException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Cache/ScanResult.cls b/.sfdx/tools/246/StandardApexLibrary/Cache/ScanResult.cls new file mode 100644 index 0000000..3ff9502 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Cache/ScanResult.cls @@ -0,0 +1,8 @@ +global class ScanResult { + global Boolean isDone; + global Map result; + global String scanLocator; + global ScanResult(Map result, String scanLocator, Boolean isDone) { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Cache/SecondaryKeyApi.cls b/.sfdx/tools/246/StandardApexLibrary/Cache/SecondaryKeyApi.cls new file mode 100644 index 0000000..cec2aa2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Cache/SecondaryKeyApi.cls @@ -0,0 +1,10 @@ +global class SecondaryKeyApi { + global Object clone() { } + global static cache.SecondaryKeyApi get(String featureName) { } + global void putImmediate(String key, Object value, String secondaryKey) { } + global Boolean remove(String key) { } + global Long scanForCount(String startKey, String endKey) { } + global cache.ScanResult scanForKeyValues(String startKey, String endKey, Integer batchSize) { } + global cache.ScanResult scanForMoreKeyValues(String scanLocator, Integer batchSize) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Cache/Session.cls b/.sfdx/tools/246/StandardApexLibrary/Cache/Session.cls new file mode 100644 index 0000000..b1b691a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Cache/Session.cls @@ -0,0 +1,48 @@ +global class Session { + global Integer MAX_TTL_SECS; + global Session() { } + global Object clone() { } + global static Map contains(Set keys) { } + global static Boolean contains(String key) { } + global static Object get(System.Type cacheBuilder, String key) { } + global static Map get(Set keys) { } + global static Object get(String key) { } + global static Long getAvgGetSize() { } + global static Long getAvgGetTime() { } + global static Long getAvgValueSize() { } + global static Double getCapacity() { } + global static Set getKeys() { } + global static Long getMaxGetSize() { } + global static Long getMaxGetTime() { } + global static Long getMaxValueSize() { } + global static Double getMissRate() { } + global static String getName() { } + global static Long getNumKeys() { } + global static cache.SessionPartition getPartition(String partitionName) { } + global static Boolean isAvailable() { } + global static void put(String key, Object value, Integer ttlSecs, cache.Visibility visibility, Boolean immutable) { } + global static void put(String key, Object value, Integer ttlSecs) { } + global static void put(String key, Object value, cache.Visibility visibility) { } + global static void put(String key, Object value) { } + global static Boolean remove(System.Type cacheBuilder, String key) { } + global static Boolean remove(String key) { } +global class SessionCacheException extends Exception { + global Session.SessionCacheException(String param0, Exception param1) { } + global Session.SessionCacheException(Exception param0) { } + global Session.SessionCacheException(String msg) { } + global Session.SessionCacheException() { } + global Object clone() { } + global String getTypeName() { } + +} +global class SessionCacheNoSessionException extends Exception { + global Session.SessionCacheNoSessionException(String param0, Exception param1) { } + global Session.SessionCacheNoSessionException(Exception param0) { } + global Session.SessionCacheNoSessionException(String msg) { } + global Session.SessionCacheNoSessionException() { } + global Object clone() { } + global String getTypeName() { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Cache/SessionPartition.cls b/.sfdx/tools/246/StandardApexLibrary/Cache/SessionPartition.cls new file mode 100644 index 0000000..551a070 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Cache/SessionPartition.cls @@ -0,0 +1,36 @@ +global class SessionPartition { + global SessionPartition(String fullyQualifiedPartitionName) { } + global Object clone() { } + global Map contains(Set keys) { } + global Boolean contains(String key) { } + global static String createFullyQualifiedKey(String namespace, String partition, String key) { } + global static String createFullyQualifiedPartition(String namespace, String partition) { } + global Object get(System.Type cacheBuilder, String key) { } + global Map get(Set keys) { } + global Object get(String key) { } + global Long getAvgGetSize() { } + global Long getAvgGetTime() { } + global Long getAvgValueSize() { } + global Double getCapacity() { } + global Set getKeys() { } + global Long getMaxGetSize() { } + global Long getMaxGetTime() { } + global Long getMaxValueSize() { } + global Double getMissRate() { } + global String getName() { } + global Long getNumKeys() { } + global Boolean isAvailable() { } + global void put(String key, Object value, Integer ttlSecs, cache.Visibility visibility, Boolean immutable) { } + global void put(String key, Object value, Integer ttlSecs) { } + global void put(String key, Object value, cache.Visibility visibility) { } + global void put(String key, Object value) { } + global Boolean remove(System.Type cacheBuilder, String key) { } + global Boolean remove(String key) { } + global static void validateCacheBuilder(System.Type cacheBuilder) { } + global static void validateKey(Boolean isDefault, String key) { } + global static void validateKeyValue(Boolean isDefault, String key, Object value) { } + global static void validateKeys(Boolean isDefault, List keys) { } + global static void validateKeys(Boolean isDefault, Set keys) { } + global static void validatePartitionName(String name) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Cache/UnsupportedOperationException.cls b/.sfdx/tools/246/StandardApexLibrary/Cache/UnsupportedOperationException.cls new file mode 100644 index 0000000..a0a69e7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Cache/UnsupportedOperationException.cls @@ -0,0 +1,9 @@ +global class UnsupportedOperationException extends Exception { + global UnsupportedOperationException(String param0, Exception param1) { } + global UnsupportedOperationException(Exception param0) { } + global UnsupportedOperationException(String param0) { } + global UnsupportedOperationException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Cache/Visibility.cls b/.sfdx/tools/246/StandardApexLibrary/Cache/Visibility.cls new file mode 100644 index 0000000..1b325b9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Cache/Visibility.cls @@ -0,0 +1,4 @@ +global enum Visibility { +ALL, +NAMESPACE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Canvas/ApplicationContext.cls b/.sfdx/tools/246/StandardApexLibrary/Canvas/ApplicationContext.cls new file mode 100644 index 0000000..7e91989 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Canvas/ApplicationContext.cls @@ -0,0 +1,9 @@ +global interface ApplicationContext { + String getCanvasUrl(); + String getDeveloperName(); + String getName(); + String getNamespace(); + String getVersion(); + void setCanvasUrlPath(String param0); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Canvas/CanvasLifecycleHandler.cls b/.sfdx/tools/246/StandardApexLibrary/Canvas/CanvasLifecycleHandler.cls new file mode 100644 index 0000000..6a69160 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Canvas/CanvasLifecycleHandler.cls @@ -0,0 +1,5 @@ +global interface CanvasLifecycleHandler { + Set excludeContextTypes(); + void onRender(Canvas.RenderContext param0); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Canvas/CanvasRenderException.cls b/.sfdx/tools/246/StandardApexLibrary/Canvas/CanvasRenderException.cls new file mode 100644 index 0000000..c621177 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Canvas/CanvasRenderException.cls @@ -0,0 +1,9 @@ +global class CanvasRenderException extends Exception { + global CanvasRenderException(String param0, Exception param1) { } + global CanvasRenderException(Exception param0) { } + global CanvasRenderException(String param0) { } + global CanvasRenderException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Canvas/ContextTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/Canvas/ContextTypeEnum.cls new file mode 100644 index 0000000..53706bc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Canvas/ContextTypeEnum.cls @@ -0,0 +1,5 @@ +global enum ContextTypeEnum { +ORGANIZATION, +RECORD_DETAIL, +USER +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Canvas/EnvironmentContext.cls b/.sfdx/tools/246/StandardApexLibrary/Canvas/EnvironmentContext.cls new file mode 100644 index 0000000..6697c7c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Canvas/EnvironmentContext.cls @@ -0,0 +1,11 @@ +global interface EnvironmentContext { + void addEntityField(String param0); + void addEntityFields(Set param0); + String getDisplayLocation(); + List getEntityFields(); + String getLocationUrl(); + String getParametersAsJSON(); + String getSublocation(); + void setParametersAsJSON(String param0); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Canvas/RenderContext.cls b/.sfdx/tools/246/StandardApexLibrary/Canvas/RenderContext.cls new file mode 100644 index 0000000..0090247 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Canvas/RenderContext.cls @@ -0,0 +1,5 @@ +global interface RenderContext { + Canvas.ApplicationContext getApplicationContext(); + Canvas.EnvironmentContext getEnvironmentContext(); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Canvas/Test.cls b/.sfdx/tools/246/StandardApexLibrary/Canvas/Test.cls new file mode 100644 index 0000000..8eb1063 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Canvas/Test.cls @@ -0,0 +1,15 @@ +global class Test { + global String KEY_CANVAS_URL; + global String KEY_DEVELOPER_NAME; + global String KEY_DISPLAY_LOCATION; + global String KEY_LOCATION_URL; + global String KEY_NAME; + global String KEY_NAMESPACE; + global String KEY_SUB_LOCATION; + global String KEY_VERSION; + global Test() { } + global Object clone() { } + global static Canvas.RenderContext mockRenderContext(Map appContextTestValues, Map envContextTestValues) { } + global static void testCanvasLifecycle(Canvas.CanvasLifecycleHandler handler, Canvas.RenderContext mockRenderContext) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ChatterAnswers/AccountCreator.cls b/.sfdx/tools/246/StandardApexLibrary/ChatterAnswers/AccountCreator.cls new file mode 100644 index 0000000..73e0128 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ChatterAnswers/AccountCreator.cls @@ -0,0 +1,4 @@ +global interface AccountCreator { + String createAccount(String param0, String param1, Id param2); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ChatterAnswers/ChatterServiceRegisterController.cls b/.sfdx/tools/246/StandardApexLibrary/ChatterAnswers/ChatterServiceRegisterController.cls new file mode 100644 index 0000000..d3e95e8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ChatterAnswers/ChatterServiceRegisterController.cls @@ -0,0 +1,4 @@ +global class ChatterServiceRegisterController { + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ChatterAnswers/SCCChangePasswordController.cls b/.sfdx/tools/246/StandardApexLibrary/ChatterAnswers/SCCChangePasswordController.cls new file mode 100644 index 0000000..3d24705 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ChatterAnswers/SCCChangePasswordController.cls @@ -0,0 +1,4 @@ +global class SCCChangePasswordController { + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ChatterAnswers/SCCForgotPasswordConfirmController.cls b/.sfdx/tools/246/StandardApexLibrary/ChatterAnswers/SCCForgotPasswordConfirmController.cls new file mode 100644 index 0000000..ca29792 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ChatterAnswers/SCCForgotPasswordConfirmController.cls @@ -0,0 +1,4 @@ +global class SCCForgotPasswordConfirmController { + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ChatterAnswers/SCCForgotPasswordController.cls b/.sfdx/tools/246/StandardApexLibrary/ChatterAnswers/SCCForgotPasswordController.cls new file mode 100644 index 0000000..66f0ec1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ChatterAnswers/SCCForgotPasswordController.cls @@ -0,0 +1,4 @@ +global class SCCForgotPasswordController { + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AIFieldRecommendation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AIFieldRecommendation.cls new file mode 100644 index 0000000..bb37c33 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AIFieldRecommendation.cls @@ -0,0 +1,12 @@ +global class AIFieldRecommendation { + global List aiRecommendationValueList; + global String predictionField; + global String targetRecordId; + global AIFieldRecommendation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AIFieldRecommendationCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AIFieldRecommendationCollection.cls new file mode 100644 index 0000000..9bed260 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AIFieldRecommendationCollection.cls @@ -0,0 +1,12 @@ +global class AIFieldRecommendationCollection { + global List aiFieldRecommendationsList; + global String modelAPIName; + global String modelLabel; + global AIFieldRecommendationCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AIFieldRecommendationValue.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AIFieldRecommendationValue.cls new file mode 100644 index 0000000..c032a49 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AIFieldRecommendationValue.cls @@ -0,0 +1,11 @@ +global class AIFieldRecommendationValue { + global Double confidence; + global String value; + global AIFieldRecommendationValue() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractCartItem.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractCartItem.cls new file mode 100644 index 0000000..95d2830 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractCartItem.cls @@ -0,0 +1,16 @@ +global class AbstractCartItem { + global String cartId; + global String cartItemId; + global ConnectApi.CartMessagesSummary messagesSummary; + global String name; + global ConnectApi.CartItemProduct productDetails; + global String productId; + global String quantity; + global ConnectApi.CartItemType type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractContentHubItemType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractContentHubItemType.cls new file mode 100644 index 0000000..9074dcc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractContentHubItemType.cls @@ -0,0 +1,14 @@ +global class AbstractContentHubItemType { + global ConnectApi.ContentHubStreamSupport contentStreamSupport; + global String description; + global String displayName; + global String id; + global Boolean isVersionable; + global String url; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractCreateServiceAppointmentInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractCreateServiceAppointmentInput.cls new file mode 100644 index 0000000..fd4a7ce --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractCreateServiceAppointmentInput.cls @@ -0,0 +1,11 @@ +global class AbstractCreateServiceAppointmentInput { + global List assignedResources; + global ConnectApi.LeadInput lead; + global String schedulingPolicyId; + global ConnectApi.ServiceAppointmentInput serviceAppointment; + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractDirectoryEntrySummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractDirectoryEntrySummary.cls new file mode 100644 index 0000000..ad2e8d3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractDirectoryEntrySummary.cls @@ -0,0 +1,12 @@ +global class AbstractDirectoryEntrySummary { + global String domain; + global String email; + global String id; + global ConnectApi.ContentHubDirectoryEntryType type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractExtensionInformation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractExtensionInformation.cls new file mode 100644 index 0000000..5e22629 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractExtensionInformation.cls @@ -0,0 +1,9 @@ +global class AbstractExtensionInformation { + global ConnectApi.ExtensionInformationType extensionInformationType; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractGatewayCommonResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractGatewayCommonResponse.cls new file mode 100644 index 0000000..7cdb709 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractGatewayCommonResponse.cls @@ -0,0 +1,14 @@ +global class AbstractGatewayCommonResponse { + global String gatewayAvsCode; + global Datetime gatewayDate; + global String gatewayMessage; + global String gatewayResultCode; + global String gatewayResultCodeDescription; + global String salesforceResultCode; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractGatewayResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractGatewayResponse.cls new file mode 100644 index 0000000..d26887d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractGatewayResponse.cls @@ -0,0 +1,10 @@ +global class AbstractGatewayResponse { + global String gatewayReferenceDetails; + global String gatewayReferenceNumber; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractManagedContentDeliveryDocument.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractManagedContentDeliveryDocument.cls new file mode 100644 index 0000000..a1f29e7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractManagedContentDeliveryDocument.cls @@ -0,0 +1,18 @@ +global class AbstractManagedContentDeliveryDocument { + global String contentKey; + global ConnectApi.ManagedContentTypeSummary contentType; + global String highScaleUrl; + global String language; + global String managedContentId; + global Datetime publishedDate; + global String resourceUrl; + global String title; + global String unauthenticatedUrl; + global String urlName; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractManagedContentReference.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractManagedContentReference.cls new file mode 100644 index 0000000..87df1ef --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractManagedContentReference.cls @@ -0,0 +1,11 @@ +global class AbstractManagedContentReference { + global String contentKey; + global String managedContentId; + global String resourceUrl; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractMessageBody.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractMessageBody.cls new file mode 100644 index 0000000..4630913 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractMessageBody.cls @@ -0,0 +1,11 @@ +global class AbstractMessageBody { + global Boolean isRichText; + global List messageSegments; + global String text; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractNBAAction.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractNBAAction.cls new file mode 100644 index 0000000..a68c056 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractNBAAction.cls @@ -0,0 +1,10 @@ +global class AbstractNBAAction { + global List parameters; + global ConnectApi.NBAActionType type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractNBATarget.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractNBATarget.cls new file mode 100644 index 0000000..a902411 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractNBATarget.cls @@ -0,0 +1,9 @@ +global class AbstractNBATarget { + global ConnectApi.NBATargetType type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractProductAttributeSetSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractProductAttributeSetSummary.cls new file mode 100644 index 0000000..6a7a908 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractProductAttributeSetSummary.cls @@ -0,0 +1,9 @@ +global class AbstractProductAttributeSetSummary { + global List attributes; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractProductSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractProductSummary.cls new file mode 100644 index 0000000..3d8eb73 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractProductSummary.cls @@ -0,0 +1,13 @@ +global class AbstractProductSummary { + global ConnectApi.ProductMedia defaultImage; + global Map fields; + global String id; + global String name; + global ConnectApi.ProductClass productClass; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRecommendation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRecommendation.cls new file mode 100644 index 0000000..b1ac3be --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRecommendation.cls @@ -0,0 +1,11 @@ +global class AbstractRecommendation { + global ConnectApi.RecommendationExplanation explanation; + global ConnectApi.RecommendationType recommendationType; + global String url; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRecommendationExplanation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRecommendationExplanation.cls new file mode 100644 index 0000000..021c403 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRecommendationExplanation.cls @@ -0,0 +1,10 @@ +global class AbstractRecommendationExplanation { + global String summary; + global ConnectApi.RecommendationExplanationType type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRecordField.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRecordField.cls new file mode 100644 index 0000000..ea863ba --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRecordField.cls @@ -0,0 +1,9 @@ +global class AbstractRecordField { + global String type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRecordView.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRecordView.cls new file mode 100644 index 0000000..6a63280 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRecordView.cls @@ -0,0 +1,8 @@ +global class AbstractRecordView { + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRepositoryFile.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRepositoryFile.cls new file mode 100644 index 0000000..8d08117 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRepositoryFile.cls @@ -0,0 +1,22 @@ +global class AbstractRepositoryFile { + global String checkinComment; + global String contentBody; + global Integer contentSize; + global String downloadUrl; + global String externalContentUrl; + global String externalDocumentUrl; + global ConnectApi.ExternalFilePermissionInformation externalFilePermissionInformation; + global String mimeType; + global String previewUrlThumbnail; + global String previewUrlThumbnailBig; + global String previewUrlThumbnailTiny; + global String previewsUrl; + global String title; + global String versionId; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRepositoryFolder.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRepositoryFolder.cls new file mode 100644 index 0000000..702300a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRepositoryFolder.cls @@ -0,0 +1,11 @@ +global class AbstractRepositoryFolder { + global String externalFolderUrl; + global String folderItemsUrl; + global String path; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRepositoryItem.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRepositoryItem.cls new file mode 100644 index 0000000..42d9b6c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractRepositoryItem.cls @@ -0,0 +1,20 @@ +global class AbstractRepositoryItem { + global String createdBy; + global Datetime createdDate; + global String description; + global String id; + global String itemTypeUrl; + global String modifiedBy; + global Datetime modifiedDate; + global ConnectApi.Motif motif; + global String name; + global ConnectApi.Reference repository; + global String type; + global String url; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSearchSuggestion.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSearchSuggestion.cls new file mode 100644 index 0000000..02b7eb9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSearchSuggestion.cls @@ -0,0 +1,9 @@ +global class AbstractSearchSuggestion { + global String value; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryAIModelMetrics.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryAIModelMetrics.cls new file mode 100644 index 0000000..e5fec64 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryAIModelMetrics.cls @@ -0,0 +1,12 @@ +global class AbstractSmartDataDiscoveryAIModelMetrics { + global String dataSegmentsUrl; + global String featureImportancesUrl; + global ConnectApi.SmartDataDiscoveryPredictionTypeEnum predictionType; + global String url; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryAIModelSource.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryAIModelSource.cls new file mode 100644 index 0000000..643b038 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryAIModelSource.cls @@ -0,0 +1,9 @@ +global class AbstractSmartDataDiscoveryAIModelSource { + global ConnectApi.SmartDataDiscoveryModelSourceTypeEnum type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryAggregatePredictionRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryAggregatePredictionRepresentation.cls new file mode 100644 index 0000000..a062c98 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryAggregatePredictionRepresentation.cls @@ -0,0 +1,12 @@ +global class AbstractSmartDataDiscoveryAggregatePredictionRepresentation { + global ConnectApi.SmartDataDiscoveryPredictAggregateFunctionEnum aggregateFunction; + global List middleValues; + global List prescriptions; + global ConnectApi.SmartDataDiscoveryAggregatePredictStatusEnum status; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryAssetReference.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryAssetReference.cls new file mode 100644 index 0000000..82e97ad --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryAssetReference.cls @@ -0,0 +1,10 @@ +global class AbstractSmartDataDiscoveryAssetReference { + global String id; + global String name; + global String namespace; + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryFieldMappingSource.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryFieldMappingSource.cls new file mode 100644 index 0000000..440d001 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryFieldMappingSource.cls @@ -0,0 +1,9 @@ +global class AbstractSmartDataDiscoveryFieldMappingSource { + global ConnectApi.SmartDataDiscoveryFieldMapSourceTypeEnum type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryManyToOneTransformation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryManyToOneTransformation.cls new file mode 100644 index 0000000..324f925 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryManyToOneTransformation.cls @@ -0,0 +1,11 @@ +global class AbstractSmartDataDiscoveryManyToOneTransformation { + global ConnectApi.AbstractSmartDataDiscoveryTransformationFilter postTransformationFilter; + global List sourceFieldNames; + global String targetFieldName; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryModelField.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryModelField.cls new file mode 100644 index 0000000..338e03c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryModelField.cls @@ -0,0 +1,13 @@ +global class AbstractSmartDataDiscoveryModelField { + global Boolean disparateImpact; + global String label; + global String name; + global Boolean sensitive; + global ConnectApi.SmartDataDiscoveryModelFieldTypeEnum type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryModelRuntime.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryModelRuntime.cls new file mode 100644 index 0000000..d249eb3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryModelRuntime.cls @@ -0,0 +1,9 @@ +global class AbstractSmartDataDiscoveryModelRuntime { + global ConnectApi.SmartDataDiscoveryModelRuntimeTypeEnum type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryModelRuntimeInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryModelRuntimeInput.cls new file mode 100644 index 0000000..f8ef2f9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryModelRuntimeInput.cls @@ -0,0 +1,8 @@ +global class AbstractSmartDataDiscoveryModelRuntimeInput { + global ConnectApi.SmartDataDiscoveryModelRuntimeTypeEnum type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryOneToOneTransformation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryOneToOneTransformation.cls new file mode 100644 index 0000000..2179979 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryOneToOneTransformation.cls @@ -0,0 +1,11 @@ +global class AbstractSmartDataDiscoveryOneToOneTransformation { + global ConnectApi.AbstractSmartDataDiscoveryTransformationFilter postTransformationFilter; + global String sourceFieldName; + global String targetFieldName; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryPredictConditionRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryPredictConditionRepresentation.cls new file mode 100644 index 0000000..ed94811 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryPredictConditionRepresentation.cls @@ -0,0 +1,10 @@ +global class AbstractSmartDataDiscoveryPredictConditionRepresentation { + global List columns; + global Double value; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryPredictInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryPredictInput.cls new file mode 100644 index 0000000..5e09f43 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryPredictInput.cls @@ -0,0 +1,10 @@ +global class AbstractSmartDataDiscoveryPredictInput { + global ConnectApi.SmartDataDiscoveryAssetReferenceInput model; + global String predictionDefinition; + global ConnectApi.SmartDataDiscoveryDiscoveryPredictSettings settings; + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryPredictRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryPredictRepresentation.cls new file mode 100644 index 0000000..4ad568f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryPredictRepresentation.cls @@ -0,0 +1,9 @@ +global class AbstractSmartDataDiscoveryPredictRepresentation { + global ConnectApi.SmartDataDiscoveryPredictStatusEnum status; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryPredictionProperty.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryPredictionProperty.cls new file mode 100644 index 0000000..89c6322 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryPredictionProperty.cls @@ -0,0 +1,9 @@ +global class AbstractSmartDataDiscoveryPredictionProperty { + global ConnectApi.SmartDataDiscoveryPredictionTypeEnum type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryProjectedPrediction.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryProjectedPrediction.cls new file mode 100644 index 0000000..b3910af --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryProjectedPrediction.cls @@ -0,0 +1,9 @@ +global class AbstractSmartDataDiscoveryProjectedPrediction { + global ConnectApi.SmartDataDiscoveryProjectedPredictionsType type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryProjectedPredictionsIntervalSetting.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryProjectedPredictionsIntervalSetting.cls new file mode 100644 index 0000000..25f5fd6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryProjectedPredictionsIntervalSetting.cls @@ -0,0 +1,9 @@ +global class AbstractSmartDataDiscoveryProjectedPredictionsIntervalSetting { + global ConnectApi.SmartDataDiscoveryProjectedPredictionsIntervalSettingType type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryProjectedPredictionsIntervalSettingInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryProjectedPredictionsIntervalSettingInput.cls new file mode 100644 index 0000000..7e331a0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryProjectedPredictionsIntervalSettingInput.cls @@ -0,0 +1,8 @@ +global class AbstractSmartDataDiscoveryProjectedPredictionsIntervalSettingInput { + global ConnectApi.SmartDataDiscoveryProjectedPredictionsIntervalSettingType type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryTransformation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryTransformation.cls new file mode 100644 index 0000000..18688ef --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryTransformation.cls @@ -0,0 +1,9 @@ +global class AbstractSmartDataDiscoveryTransformation { + global ConnectApi.SmartDataDiscoveryAIModelTransformationTypeEnum type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryTransformationFilter.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryTransformationFilter.cls new file mode 100644 index 0000000..88ba84c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryTransformationFilter.cls @@ -0,0 +1,9 @@ +global class AbstractSmartDataDiscoveryTransformationFilter { + global ConnectApi.SmartDataDiscoveryTransformationFilterTypeEnum type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryTransformationOverride.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryTransformationOverride.cls new file mode 100644 index 0000000..e30cfa2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryTransformationOverride.cls @@ -0,0 +1,11 @@ +global class AbstractSmartDataDiscoveryTransformationOverride { + global String id; + global ConnectApi.SmartDataDiscoveryAssetReference input; + global ConnectApi.SmartDataDiscoveryAIModelTransformationTypeEnum type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryTransformationOverrideInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryTransformationOverrideInput.cls new file mode 100644 index 0000000..daf15c8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractSmartDataDiscoveryTransformationOverrideInput.cls @@ -0,0 +1,9 @@ +global class AbstractSmartDataDiscoveryTransformationOverrideInput { + global ConnectApi.SmartDataDiscoveryAssetReferenceInput input; + global ConnectApi.SmartDataDiscoveryAIModelTransformationTypeEnum type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractUserMissionActivity.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractUserMissionActivity.cls new file mode 100644 index 0000000..cc91b94 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AbstractUserMissionActivity.cls @@ -0,0 +1,10 @@ +global class AbstractUserMissionActivity { + global Integer activityCount; + global String activityType; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Abstractcommerceproductsearchresults.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Abstractcommerceproductsearchresults.cls new file mode 100644 index 0000000..637970f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Abstractcommerceproductsearchresults.cls @@ -0,0 +1,3 @@ +global class Abstractcommerceproductsearchresults { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkDefinition.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkDefinition.cls new file mode 100644 index 0000000..38a7781 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkDefinition.cls @@ -0,0 +1,24 @@ +global class ActionLinkDefinition { + global String actionUrl; + global Datetime createdDate; + global String excludedUserId; + global Boolean groupDefault; + global List headers; + global String id; + global String label; + global String labelKey; + global ConnectApi.HttpRequestMethod method; + global Datetime modifiedDate; + global String requestBody; + global Boolean requiresConfirmation; + global String templateId; + global ConnectApi.ActionLinkType type; + global String userId; + global ActionLinkDefinition() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkDefinitionInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkDefinitionInput.cls new file mode 100644 index 0000000..f6bcc59 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkDefinitionInput.cls @@ -0,0 +1,18 @@ +global class ActionLinkDefinitionInput { + global ConnectApi.ActionLinkType actionType; + global String actionUrl; + global String excludedUserId; + global Boolean groupDefault; + global List headers; + global String labelKey; + global ConnectApi.HttpRequestMethod method; + global String requestBody; + global Boolean requiresConfirmation; + global String userId; + global ActionLinkDefinitionInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkDiagnosticInfo.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkDiagnosticInfo.cls new file mode 100644 index 0000000..c143f62 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkDiagnosticInfo.cls @@ -0,0 +1,11 @@ +global class ActionLinkDiagnosticInfo { + global String diagnosticInfo; + global String url; + global ActionLinkDiagnosticInfo() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkExecutionsAllowed.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkExecutionsAllowed.cls new file mode 100644 index 0000000..c0ad0d0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkExecutionsAllowed.cls @@ -0,0 +1,5 @@ +global enum ActionLinkExecutionsAllowed { +ONCE, +ONCEPERUSER, +UNLIMITED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkGroupDefinition.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkGroupDefinition.cls new file mode 100644 index 0000000..3484962 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkGroupDefinition.cls @@ -0,0 +1,18 @@ +global class ActionLinkGroupDefinition { + global List actionLinks; + global ConnectApi.PlatformActionGroupCategory category; + global Datetime createdDate; + global ConnectApi.ActionLinkExecutionsAllowed executionsAllowed; + global Datetime expirationDate; + global String id; + global Datetime modifiedDate; + global String templateId; + global String url; + global ActionLinkGroupDefinition() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkGroupDefinitionInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkGroupDefinitionInput.cls new file mode 100644 index 0000000..360b63c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkGroupDefinitionInput.cls @@ -0,0 +1,14 @@ +global class ActionLinkGroupDefinitionInput { + global List actionLinks; + global ConnectApi.PlatformActionGroupCategory category; + global ConnectApi.ActionLinkExecutionsAllowed executionsAllowed; + global Datetime expirationDate; + global List templateBindings; + global String templateId; + global ActionLinkGroupDefinitionInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkTemplateBindingInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkTemplateBindingInput.cls new file mode 100644 index 0000000..79780bd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkTemplateBindingInput.cls @@ -0,0 +1,10 @@ +global class ActionLinkTemplateBindingInput { + global String key; + global String value; + global ActionLinkTemplateBindingInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkType.cls new file mode 100644 index 0000000..3050d7e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinkType.cls @@ -0,0 +1,6 @@ +global enum ActionLinkType { +API, +APIASYNC, +DOWNLOAD, +UI +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinks.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinks.cls new file mode 100644 index 0000000..72822ad --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActionLinks.cls @@ -0,0 +1,10 @@ +global class ActionLinks { + global Object clone() { } + global static ConnectApi.ActionLinkGroupDefinition createActionLinkGroupDefinition(String communityId, ConnectApi.ActionLinkGroupDefinitionInput actionLinkGroup) { } + global static void deleteActionLinkGroupDefinition(String communityId, String actionLinkGroupId) { } + global static ConnectApi.PlatformAction getActionLink(String communityId, String actionLinkId) { } + global static ConnectApi.ActionLinkDiagnosticInfo getActionLinkDiagnosticInfo(String communityId, String actionLinkId) { } + global static ConnectApi.PlatformActionGroup getActionLinkGroup(String communityId, String actionLinkGroupId) { } + global static ConnectApi.ActionLinkGroupDefinition getActionLinkGroupDefinition(String communityId, String actionLinkGroupId) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActivitySharingInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActivitySharingInput.cls new file mode 100644 index 0000000..a79409e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActivitySharingInput.cls @@ -0,0 +1,10 @@ +global class ActivitySharingInput { + global List groupsToShareWith; + global ConnectApi.ActivitySharingType sharingType; + global ActivitySharingInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActivitySharingResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActivitySharingResult.cls new file mode 100644 index 0000000..6b8be52 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActivitySharingResult.cls @@ -0,0 +1,10 @@ +global class ActivitySharingResult { + global Boolean success; + global ActivitySharingResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActivitySharingType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActivitySharingType.cls new file mode 100644 index 0000000..8f34497 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActivitySharingType.cls @@ -0,0 +1,5 @@ +global enum ActivitySharingType { +EVERYONE, +MYGROUPS, +ONLYME +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Actor.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Actor.cls new file mode 100644 index 0000000..cfbdae4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Actor.cls @@ -0,0 +1,10 @@ +global class Actor { + global String name; + global String type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActorWithId.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActorWithId.cls new file mode 100644 index 0000000..75a4788 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ActorWithId.cls @@ -0,0 +1,13 @@ +global class ActorWithId { + global String id; + global ConnectApi.Motif motif; + global ConnectApi.Reference mySubscription; + global String recordViewUrl; + global String url; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AddItemAdjustmentOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AddItemAdjustmentOutputRepresentation.cls new file mode 100644 index 0000000..d4ccab4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AddItemAdjustmentOutputRepresentation.cls @@ -0,0 +1,12 @@ +global class AddItemAdjustmentOutputRepresentation { + global String id; + global String name; + global List orderItemTaxLineItemSummaries; + global AddItemAdjustmentOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AddItemOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AddItemOutputRepresentation.cls new file mode 100644 index 0000000..b5f75d5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AddItemOutputRepresentation.cls @@ -0,0 +1,13 @@ +global class AddItemOutputRepresentation { + global String id; + global String name; + global List orderItemAdjustmentLineSummaries; + global List orderItemTaxLineItemSummaries; + global AddItemOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AddItemTaxOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AddItemTaxOutputRepresentation.cls new file mode 100644 index 0000000..4f093cf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AddItemTaxOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class AddItemTaxOutputRepresentation { + global String id; + global String name; + global AddItemTaxOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AddOrderItemSummaryOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AddOrderItemSummaryOutputRepresentation.cls new file mode 100644 index 0000000..04fadfc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AddOrderItemSummaryOutputRepresentation.cls @@ -0,0 +1,13 @@ +global class AddOrderItemSummaryOutputRepresentation { + global ConnectApi.ChangeItemOutputRepresentation changeBalances; + global String changeOrderId; + global List newItems; + global String orderSummaryId; + global AddOrderItemSummaryOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AdditionalTransactionJournalAttributeOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AdditionalTransactionJournalAttributeOutputRepresentation.cls new file mode 100644 index 0000000..8d98b87 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AdditionalTransactionJournalAttributeOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class AdditionalTransactionJournalAttributeOutputRepresentation { + global String fieldName; + global String value; + global AdditionalTransactionJournalAttributeOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Address.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Address.cls new file mode 100644 index 0000000..8977151 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Address.cls @@ -0,0 +1,15 @@ +global class Address { + global String city; + global String country; + global String formattedAddress; + global String state; + global String street; + global String zip; + global Address() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AddressRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AddressRequest.cls new file mode 100644 index 0000000..c6a7303 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AddressRequest.cls @@ -0,0 +1,14 @@ +global class AddressRequest { + global String city; + global String companyName; + global String country; + global String postalCode; + global String state; + global String street; + global AddressRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AdjustItemInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AdjustItemInputRepresentation.cls new file mode 100644 index 0000000..36b1734 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AdjustItemInputRepresentation.cls @@ -0,0 +1,13 @@ +global class AdjustItemInputRepresentation { + global String adjustmentType; + global Double amount; + global String description; + global String orderItemSummaryId; + global String reason; + global AdjustItemInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AdjustOrderItemSummaryInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AdjustOrderItemSummaryInputRepresentation.cls new file mode 100644 index 0000000..af9cd8e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AdjustOrderItemSummaryInputRepresentation.cls @@ -0,0 +1,10 @@ +global class AdjustOrderItemSummaryInputRepresentation { + global List adjustItems; + global String allocatedItemsChangeOrderType; + global AdjustOrderItemSummaryInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AdjustOrderSummaryOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AdjustOrderSummaryOutputRepresentation.cls new file mode 100644 index 0000000..2574da6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AdjustOrderSummaryOutputRepresentation.cls @@ -0,0 +1,14 @@ +global class AdjustOrderSummaryOutputRepresentation { + global ConnectApi.ChangeItemOutputRepresentation changeBalances; + global String inFulfillmentChangeOrderId; + global String orderSummaryId; + global String postFulfillmentChangeOrderId; + global String preFulfillmentChangeOrderId; + global AdjustOrderSummaryOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AdjustmentAmountScope.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AdjustmentAmountScope.cls new file mode 100644 index 0000000..4cb7611 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AdjustmentAmountScope.cls @@ -0,0 +1,5 @@ +global enum AdjustmentAmountScope { +TOTAL, +UNIT, +UNPRORATEDTOTAL +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AdjustmentType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AdjustmentType.cls new file mode 100644 index 0000000..dcdf7ac --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AdjustmentType.cls @@ -0,0 +1,4 @@ +global enum AdjustmentType { +ADJUSTMENTAMOUNT, +ADJUSTMENTPERCENTAGE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AiAcceleratorConnectFamily.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AiAcceleratorConnectFamily.cls new file mode 100644 index 0000000..9d9247a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AiAcceleratorConnectFamily.cls @@ -0,0 +1,3 @@ +global class AiAcceleratorConnectFamily { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Alternative.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Alternative.cls new file mode 100644 index 0000000..e82a5bf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Alternative.cls @@ -0,0 +1,12 @@ +global class Alternative { + global String textRepresentation; + global String thumbnailUrl; + global String title; + global Alternative() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AlternativeInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AlternativeInput.cls new file mode 100644 index 0000000..f66c484 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AlternativeInput.cls @@ -0,0 +1,11 @@ +global class AlternativeInput { + global String textRepresentation; + global String thumbnailUrl; + global String title; + global AlternativeInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AlternativePaymentMethod.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AlternativePaymentMethod.cls new file mode 100644 index 0000000..0a2e2d9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AlternativePaymentMethod.cls @@ -0,0 +1,14 @@ +global class AlternativePaymentMethod { + global String accountId; + global String comments; + global String email; + global String gatewayToken; + global String gatewayTokenDetails; + global String name; + global AlternativePaymentMethod() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AlternativePaymentMethodOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AlternativePaymentMethodOutput.cls new file mode 100644 index 0000000..f1fde4f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AlternativePaymentMethodOutput.cls @@ -0,0 +1,15 @@ +global class AlternativePaymentMethodOutput { + global String accountId; + global String comments; + global String email; + global String gatewayToken; + global String gatewayTokenDetails; + global String name; + global AlternativePaymentMethodOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AnalysisFieldDataPropertyEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AnalysisFieldDataPropertyEnum.cls new file mode 100644 index 0000000..a372469 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AnalysisFieldDataPropertyEnum.cls @@ -0,0 +1,13 @@ +global enum AnalysisFieldDataPropertyEnum { +DAY, +DAYOFWEEK, +FIELD, +MONTH, +MONTHOFYEAR, +PAIR, +QUARTER, +QUARTEROFYEAR, +RANGE, +STRING, +YEAR +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AnalyticsLicenseAttributes.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AnalyticsLicenseAttributes.cls new file mode 100644 index 0000000..3616e76 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AnalyticsLicenseAttributes.cls @@ -0,0 +1,9 @@ +global class AnalyticsLicenseAttributes { + global ConnectApi.AnalyticsLicenseType type; + global AnalyticsLicenseAttributes() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AnalyticsLicenseType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AnalyticsLicenseType.cls new file mode 100644 index 0000000..3940ab3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AnalyticsLicenseType.cls @@ -0,0 +1,7 @@ +global enum AnalyticsLicenseType { +CDP, +DATAPIPELINEQUERY, +EINSTEINANALYTICS, +MULESOFTDATAPATH, +SONIC +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Announcement.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Announcement.cls new file mode 100644 index 0000000..3126fa0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Announcement.cls @@ -0,0 +1,15 @@ +global class Announcement { + global Datetime expirationDate; + global ConnectApi.FeedElement feedElement; + global String id; + global Boolean isArchived; + global Boolean sendEmails; + global String url; + global Announcement() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AnnouncementInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AnnouncementInput.cls new file mode 100644 index 0000000..b07573e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AnnouncementInput.cls @@ -0,0 +1,14 @@ +global class AnnouncementInput { + global ConnectApi.MessageBodyInput body; + global Datetime expirationDate; + global String feedItemId; + global Boolean isArchived; + global String parentId; + global Boolean sendEmails; + global AnnouncementInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AnnouncementPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AnnouncementPage.cls new file mode 100644 index 0000000..e5e3d1b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AnnouncementPage.cls @@ -0,0 +1,13 @@ +global class AnnouncementPage { + global List announcements; + global String currentPageUrl; + global String nextPageUrl; + global String previousPageUrl; + global AnnouncementPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Announcements.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Announcements.cls new file mode 100644 index 0000000..2ecd37b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Announcements.cls @@ -0,0 +1,10 @@ +global class Announcements { + global Object clone() { } + global static void deleteAnnouncement(String communityId, String announcementId) { } + global static ConnectApi.Announcement getAnnouncement(String communityId, String announcementId) { } + global static ConnectApi.AnnouncementPage getAnnouncements(String communityId, String parentId, Integer pageParam, Integer pageSize) { } + global static ConnectApi.AnnouncementPage getAnnouncements(String communityId, String parentId) { } + global static ConnectApi.Announcement postAnnouncement(String communityId, ConnectApi.AnnouncementInput announcement) { } + global static ConnectApi.Announcement updateAnnouncement(String communityId, String announcementId, Datetime expirationDate) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApexClassOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApexClassOutputRepresentation.cls new file mode 100644 index 0000000..4eecf57 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApexClassOutputRepresentation.cls @@ -0,0 +1,13 @@ +global class ApexClassOutputRepresentation { + global String classId; + global String className; + global String namespace; + global String version; + global ApexClassOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApplicationSettings.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApplicationSettings.cls new file mode 100644 index 0000000..bc8f35f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApplicationSettings.cls @@ -0,0 +1,19 @@ +global class ApplicationSettings { + global Datetime aiAppLastModifiedDate; + global String aiApplicationType; + global String apiName; + global String appProvisionStatus; + global String applicationId; + global Datetime configLastModifiedDate; + global String masterLabel; + global List predictionFields; + global Integer rank; + global String state; + global ApplicationSettings() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApplicationSettingsCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApplicationSettingsCollection.cls new file mode 100644 index 0000000..c77f1e5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApplicationSettingsCollection.cls @@ -0,0 +1,10 @@ +global class ApplicationSettingsCollection { + global List applicationSettingsList; + global ApplicationSettingsCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApplicationsRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApplicationsRequest.cls new file mode 100644 index 0000000..2d0f190 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApplicationsRequest.cls @@ -0,0 +1,12 @@ +global class ApplicationsRequest { + global Double amount; + global String appliedToId; + global String description; + global String effectiveDate; + global ApplicationsRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApplyCreditResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApplyCreditResult.cls new file mode 100644 index 0000000..0e8b27e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApplyCreditResult.cls @@ -0,0 +1,13 @@ +global class ApplyCreditResult { + global String appliedToId; + global List errors; + global String id; + global Boolean success; + global ApplyCreditResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApplyCreditResults.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApplyCreditResults.cls new file mode 100644 index 0000000..d8b3d1d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApplyCreditResults.cls @@ -0,0 +1,10 @@ +global class ApplyCreditResults { + global List applyCreditResults; + global ApplyCreditResults() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AppointedRepresentativeOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AppointedRepresentativeOutput.cls new file mode 100644 index 0000000..e6992cc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AppointedRepresentativeOutput.cls @@ -0,0 +1,11 @@ +global class AppointedRepresentativeOutput { + global String firstName; + global String lastName; + global AppointedRepresentativeOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AppointmentSlotResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AppointmentSlotResult.cls new file mode 100644 index 0000000..754e987 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AppointmentSlotResult.cls @@ -0,0 +1,13 @@ +global class AppointmentSlotResult { + global String externalSlotId; + global String slotEnd; + global String slotStart; + global String sourceSystem; + global AppointmentSlotResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AppointmentSlotStatusResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AppointmentSlotStatusResult.cls new file mode 100644 index 0000000..f0ea7ab --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AppointmentSlotStatusResult.cls @@ -0,0 +1,13 @@ +global class AppointmentSlotStatusResult { + global ConnectApi.ErrorRepresentation error; + global String externalSlotId; + global Boolean isSuccess; + global ConnectApi.SlotStatus slotStatus; + global AppointmentSlotStatusResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApprovalAttachment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApprovalAttachment.cls new file mode 100644 index 0000000..2517bfc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApprovalAttachment.cls @@ -0,0 +1,13 @@ +global class ApprovalAttachment { + global String id; + global List postTemplateFields; + global String processInstanceStepId; + global ConnectApi.WorkflowProcessStatus status; + global ApprovalAttachment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApprovalCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApprovalCapability.cls new file mode 100644 index 0000000..304266b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApprovalCapability.cls @@ -0,0 +1,13 @@ +global class ApprovalCapability { + global String id; + global List postTemplateFields; + global String processInstanceStepId; + global ConnectApi.WorkflowProcessStatus status; + global ApprovalCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApprovalIntent.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApprovalIntent.cls new file mode 100644 index 0000000..4678a2e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApprovalIntent.cls @@ -0,0 +1,10 @@ +global class ApprovalIntent { + global Boolean isRecallable; + global ApprovalIntent() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApprovalPostTemplateField.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApprovalPostTemplateField.cls new file mode 100644 index 0000000..a7c59f9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ApprovalPostTemplateField.cls @@ -0,0 +1,12 @@ +global class ApprovalPostTemplateField { + global String displayName; + global String displayValue; + global ConnectApi.Reference record; + global ApprovalPostTemplateField() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleItem.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleItem.cls new file mode 100644 index 0000000..2522e27 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleItem.cls @@ -0,0 +1,14 @@ +global class ArticleItem { + global String id; + global Double rating; + global String title; + global String urlLink; + global Integer viewCount; + global ArticleItem() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleRecommendation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleRecommendation.cls new file mode 100644 index 0000000..e43853d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleRecommendation.cls @@ -0,0 +1,17 @@ +global class ArticleRecommendation { + global String knowledgeArticleId; + global String knowledgeArticleVersionId; + global Datetime lastPublishedDate; + global String recommendationId; + global Double relevanceScore; + global String summary; + global String title; + global String urlName; + global ArticleRecommendation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleRecommendationCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleRecommendationCollection.cls new file mode 100644 index 0000000..2b7ccd0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleRecommendationCollection.cls @@ -0,0 +1,10 @@ +global class ArticleRecommendationCollection { + global List articleRecommendations; + global ArticleRecommendationCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleRecommendationsChannelType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleRecommendationsChannelType.cls new file mode 100644 index 0000000..0aa47c3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleRecommendationsChannelType.cls @@ -0,0 +1,3 @@ +global enum ArticleRecommendationsChannelType { +CASE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleRecommendationsRuntimeMetric.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleRecommendationsRuntimeMetric.cls new file mode 100644 index 0000000..f632475 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleRecommendationsRuntimeMetric.cls @@ -0,0 +1,20 @@ +global class ArticleRecommendationsRuntimeMetric { + global Integer activeUserCount; + global Integer attachCount; + global Integer detachCount; + global Integer dismissCount; + global Integer engagementCount; + global Integer engagementUserCount; + global Integer hoverOrOpenCount; + global Datetime metricsDate; + global Integer recommendationCount; + global Integer recommendationDisplayedRecordsCount; + global Integer recommendationEngagementRecordsCount; + global ArticleRecommendationsRuntimeMetric() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleRecommendationsRuntimeMetrics.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleRecommendationsRuntimeMetrics.cls new file mode 100644 index 0000000..7ad2141 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleRecommendationsRuntimeMetrics.cls @@ -0,0 +1,10 @@ +global class ArticleRecommendationsRuntimeMetrics { + global List articleRecommendationsRuntimeMetrics; + global ArticleRecommendationsRuntimeMetrics() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleSmartAnswer.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleSmartAnswer.cls new file mode 100644 index 0000000..c20f113 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleSmartAnswer.cls @@ -0,0 +1,10 @@ +global class ArticleSmartAnswer { + global ConnectApi.ArticleSummary answerDetail; + global ArticleSmartAnswer() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleSummary.cls new file mode 100644 index 0000000..b69994c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleSummary.cls @@ -0,0 +1,17 @@ +global class ArticleSummary { + global String articleType; + global String knowledgeArticleVersionId; + global Datetime lastPublishedDate; + global Double rating; + global String summary; + global String title; + global String urlName; + global Integer viewCount; + global ArticleSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleTopicAssignmentJobInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleTopicAssignmentJobInput.cls new file mode 100644 index 0000000..3d514f0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleTopicAssignmentJobInput.cls @@ -0,0 +1,10 @@ +global class ArticleTopicAssignmentJobInput { + global ConnectApi.ArticleTopicJobType operation; + global ConnectApi.TopicNamesInput topicNames; + global ArticleTopicAssignmentJobInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleTopicJobType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleTopicJobType.cls new file mode 100644 index 0000000..b90678b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ArticleTopicJobType.cls @@ -0,0 +1,4 @@ +global enum ArticleTopicJobType { +ASSIGNTOPICSTOARTICLES, +UNASSIGNTOPICSFROMARTICLES +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssessmentSearchDerivedStatusEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssessmentSearchDerivedStatusEnum.cls new file mode 100644 index 0000000..7859bb6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssessmentSearchDerivedStatusEnum.cls @@ -0,0 +1,5 @@ +global enum AssessmentSearchDerivedStatusEnum { +COMPLETE, +EXPIRED, +NOTSTARTED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetMgmt.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetMgmt.cls new file mode 100644 index 0000000..dcaf65b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetMgmt.cls @@ -0,0 +1,3 @@ +global class AssetMgmt { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetMgmtAmendmentType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetMgmtAmendmentType.cls new file mode 100644 index 0000000..2f36f29 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetMgmtAmendmentType.cls @@ -0,0 +1,4 @@ +global enum AssetMgmtAmendmentType { +ORDER, +QUOTE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetMgmtCancellationType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetMgmtCancellationType.cls new file mode 100644 index 0000000..319be58 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetMgmtCancellationType.cls @@ -0,0 +1,3 @@ +global enum AssetMgmtCancellationType { +ORDER +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetMgmtInitiateAmendQtyInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetMgmtInitiateAmendQtyInput.cls new file mode 100644 index 0000000..e206e24 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetMgmtInitiateAmendQtyInput.cls @@ -0,0 +1,12 @@ +global class AssetMgmtInitiateAmendQtyInput { + global ConnectApi.AssetMgmtAmendmentType amendmentOutputType; + global List assetIds; + global Double quantityChange; + global Datetime startDate; + global AssetMgmtInitiateAmendQtyInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetMgmtInitiateCancellationInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetMgmtInitiateCancellationInput.cls new file mode 100644 index 0000000..7d9f8e3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetMgmtInitiateCancellationInput.cls @@ -0,0 +1,11 @@ +global class AssetMgmtInitiateCancellationInput { + global List assetIds; + global Datetime cancellationDate; + global ConnectApi.AssetMgmtCancellationType cancellationOutputType; + global AssetMgmtInitiateCancellationInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetMgmtInitiateRenewalInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetMgmtInitiateRenewalInput.cls new file mode 100644 index 0000000..7deab69 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetMgmtInitiateRenewalInput.cls @@ -0,0 +1,9 @@ +global class AssetMgmtInitiateRenewalInput { + global List assetIds; + global AssetMgmtInitiateRenewalInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetRevertHistoryInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetRevertHistoryInputRepresentation.cls new file mode 100644 index 0000000..5e158e9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssetRevertHistoryInputRepresentation.cls @@ -0,0 +1,10 @@ +global class AssetRevertHistoryInputRepresentation { + global String historyId; + global String historyLabel; + global AssetRevertHistoryInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssignedResourcesInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssignedResourcesInput.cls new file mode 100644 index 0000000..ad70dd3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssignedResourcesInput.cls @@ -0,0 +1,12 @@ +global class AssignedResourcesInput { + global List extendedFields; + global Boolean isPrimaryResource; + global Boolean isRequiredResource; + global String serviceResourceId; + global AssignedResourcesInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssociateRecordsWithRecipientInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssociateRecordsWithRecipientInput.cls new file mode 100644 index 0000000..a02e546 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssociateRecordsWithRecipientInput.cls @@ -0,0 +1,10 @@ +global class AssociateRecordsWithRecipientInput { + global List associateRecordIds; + global String recipientId; + global AssociateRecordsWithRecipientInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssociatedActionsCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssociatedActionsCapability.cls new file mode 100644 index 0000000..975025b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssociatedActionsCapability.cls @@ -0,0 +1,10 @@ +global class AssociatedActionsCapability { + global List platformActionGroups; + global AssociatedActionsCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssociatedActionsCapabilityInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssociatedActionsCapabilityInput.cls new file mode 100644 index 0000000..cf6931a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AssociatedActionsCapabilityInput.cls @@ -0,0 +1,9 @@ +global class AssociatedActionsCapabilityInput { + global List actionLinkGroupIds; + global AssociatedActionsCapabilityInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AsyncOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AsyncOutputRepresentation.cls new file mode 100644 index 0000000..d210b77 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AsyncOutputRepresentation.cls @@ -0,0 +1,9 @@ +global class AsyncOutputRepresentation { + global AsyncOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AttributeRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AttributeRepresentation.cls new file mode 100644 index 0000000..75b202c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AttributeRepresentation.cls @@ -0,0 +1,15 @@ +global class AttributeRepresentation { + global String apiName; + global String attributeId; + global String attributeName; + global List childAttributes; + global String dataType; + global String sortOrder; + global AttributeRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Audience.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Audience.cls new file mode 100644 index 0000000..92d2350 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Audience.cls @@ -0,0 +1,16 @@ +global class Audience { + global List criteria; + global String customFormula; + global ConnectApi.FormulaFilterType formulaFilterType; + global String id; + global String name; + global List targets; + global String url; + global Audience() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCollection.cls new file mode 100644 index 0000000..e9c5ba8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCollection.cls @@ -0,0 +1,10 @@ +global class AudienceCollection { + global List audiences; + global AudienceCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriteria.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriteria.cls new file mode 100644 index 0000000..40c97d2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriteria.cls @@ -0,0 +1,9 @@ +global class AudienceCriteria { + global ConnectApi.RecommendationAudienceCriteriaType type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriteriaDetail.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriteriaDetail.cls new file mode 100644 index 0000000..7579e49 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriteriaDetail.cls @@ -0,0 +1,13 @@ +global class AudienceCriteriaDetail { + global List criterion; + global Integer criterionNumber; + global ConnectApi.AudienceCriteriaOperator criterionOperator; + global ConnectApi.AudienceCriteriaType criterionType; + global AudienceCriteriaDetail() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriteriaInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriteriaInput.cls new file mode 100644 index 0000000..0341714 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriteriaInput.cls @@ -0,0 +1,7 @@ +global class AudienceCriteriaInput { + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriteriaOperator.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriteriaOperator.cls new file mode 100644 index 0000000..0662fde --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriteriaOperator.cls @@ -0,0 +1,12 @@ +global enum AudienceCriteriaOperator { +CONTAINS, +EQUAL, +GREATERTHAN, +GREATERTHANOREQUAL, +INCLUDES, +LESSTHAN, +LESSTHANOREQUAL, +NOTEQUAL, +NOTINCLUDES, +STARTSWITH +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriteriaType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriteriaType.cls new file mode 100644 index 0000000..8ca7649 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriteriaType.cls @@ -0,0 +1,9 @@ +global enum AudienceCriteriaType { +AUDIENCE, +DEFAULT, +DOMAIN, +FIELDBASED, +GEOLOCATION, +PERMISSION, +PROFILE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriterionDetail.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriterionDetail.cls new file mode 100644 index 0000000..bb1778d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriterionDetail.cls @@ -0,0 +1,10 @@ +global class AudienceCriterionDetail { + global Map value; + global AudienceCriterionDetail() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriterionInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriterionInput.cls new file mode 100644 index 0000000..72da55b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriterionInput.cls @@ -0,0 +1,12 @@ +global class AudienceCriterionInput { + global List criterion; + global Integer criterionNumber; + global ConnectApi.AudienceCriteriaOperator criterionOperator; + global ConnectApi.AudienceCriteriaType criterionType; + global AudienceCriterionInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriterionValueInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriterionValueInput.cls new file mode 100644 index 0000000..132cf40 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceCriterionValueInput.cls @@ -0,0 +1,19 @@ +global class AudienceCriterionValueInput { + global String audienceId; + global String city; + global String country; + global String domainId; + global String entityField; + global String entityType; + global String fieldValue; + global Boolean isEnabled; + global String permission; + global String profileId; + global String subdivision; + global AudienceCriterionValueInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceInput.cls new file mode 100644 index 0000000..2bfdb05 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceInput.cls @@ -0,0 +1,12 @@ +global class AudienceInput { + global List criteria; + global String customFormula; + global ConnectApi.FormulaFilterType formulaFilterType; + global String name; + global AudienceInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceTarget.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceTarget.cls new file mode 100644 index 0000000..e0e775a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceTarget.cls @@ -0,0 +1,12 @@ +global class AudienceTarget { + global String audienceName; + global String id; + global String url; + global AudienceTarget() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceTargetAssignment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceTargetAssignment.cls new file mode 100644 index 0000000..a43b711 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AudienceTargetAssignment.cls @@ -0,0 +1,18 @@ +global class AudienceTargetAssignment { + global ConnectApi.FormulaScope formulaScope; + global String groupName; + global String id; + global Boolean isMatch; + global Integer priority; + global ConnectApi.PublishStatus publishStatus; + global String targetType; + global String targetValue; + global String url; + global AudienceTargetAssignment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AuditParamsRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AuditParamsRequest.cls new file mode 100644 index 0000000..4995eb1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AuditParamsRequest.cls @@ -0,0 +1,11 @@ +global class AuditParamsRequest { + global String email; + global String ipAddress; + global String macAddress; + global String phone; + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthApiPaymentMethodRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthApiPaymentMethodRequest.cls new file mode 100644 index 0000000..b4acf39 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthApiPaymentMethodRequest.cls @@ -0,0 +1,9 @@ +global class AuthApiPaymentMethodRequest { + global ConnectApi.CardPaymentMethodRequest cardPaymentMethod; + global AuthApiPaymentMethodRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthReversalGatewayResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthReversalGatewayResponse.cls new file mode 100644 index 0000000..a1a1406 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthReversalGatewayResponse.cls @@ -0,0 +1,9 @@ +global class AuthReversalGatewayResponse { + global AuthReversalGatewayResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthorizationGatewayResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthorizationGatewayResponse.cls new file mode 100644 index 0000000..8fbb7d8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthorizationGatewayResponse.cls @@ -0,0 +1,10 @@ +global class AuthorizationGatewayResponse { + global String gatewayAuthorizationCode; + global AuthorizationGatewayResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthorizationRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthorizationRequest.cls new file mode 100644 index 0000000..dc27871 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthorizationRequest.cls @@ -0,0 +1,16 @@ +global class AuthorizationRequest { + global String accountId; + global Double amount; + global String comments; + global String currencyIsoCode; + global Datetime effectiveDate; + global String paymentGatewayId; + global ConnectApi.PaymentGroupRequest paymentGroup; + global ConnectApi.AuthApiPaymentMethodRequest paymentMethod; + global AuthorizationRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthorizationResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthorizationResponse.cls new file mode 100644 index 0000000..d7ddf99 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthorizationResponse.cls @@ -0,0 +1,15 @@ +global class AuthorizationResponse { + global ConnectApi.ErrorResponse error; + global ConnectApi.AuthorizationGatewayResponse gatewayResponse; + global ConnectApi.PaymentAuthorizationResponse paymentAuthorization; + global List paymentGatewayLogs; + global ConnectApi.PaymentGroupResponse paymentGroup; + global ConnectApi.PaymentMethodResponse paymentMethod; + global AuthorizationResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthorizationReversalRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthorizationReversalRequest.cls new file mode 100644 index 0000000..a0b8e60 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthorizationReversalRequest.cls @@ -0,0 +1,12 @@ +global class AuthorizationReversalRequest { + global String accountId; + global Double amount; + global String comments; + global Datetime effectiveDate; + global AuthorizationReversalRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthorizationReversalResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthorizationReversalResponse.cls new file mode 100644 index 0000000..ef86b20 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AuthorizationReversalResponse.cls @@ -0,0 +1,13 @@ +global class AuthorizationReversalResponse { + global ConnectApi.ErrorResponse error; + global ConnectApi.AuthReversalGatewayResponse gatewayResponse; + global ConnectApi.PaymentAuthAdjustmentResponse paymentAuthAdjustment; + global List paymentGatewayLogs; + global AuthorizationReversalResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AvailableLocationOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AvailableLocationOutputRepresentation.cls new file mode 100644 index 0000000..4ed5ee1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AvailableLocationOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class AvailableLocationOutputRepresentation { + global List locations; + global AvailableLocationOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AverageDistanceResultOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AverageDistanceResultOutputRepresentation.cls new file mode 100644 index 0000000..d2d31f5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/AverageDistanceResultOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class AverageDistanceResultOutputRepresentation { + global ConnectApi.DistanceCalculationOutputRepresentation distanceCalculation; + global AverageDistanceResultOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BannerCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BannerCapability.cls new file mode 100644 index 0000000..5219872 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BannerCapability.cls @@ -0,0 +1,11 @@ +global class BannerCapability { + global ConnectApi.Motif motif; + global ConnectApi.BannerStyle style; + global BannerCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BannerPhoto.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BannerPhoto.cls new file mode 100644 index 0000000..a12985c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BannerPhoto.cls @@ -0,0 +1,12 @@ +global class BannerPhoto { + global String bannerPhotoUrl; + global String bannerPhotoVersionId; + global String url; + global BannerPhoto() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BannerPhotoInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BannerPhotoInput.cls new file mode 100644 index 0000000..c30f0ec --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BannerPhotoInput.cls @@ -0,0 +1,15 @@ +global class BannerPhotoInput { + global Integer cropHeight; + global Integer cropSize; + global Integer cropWidth; + global Integer cropX; + global Integer cropY; + global String fileId; + global Integer versionNumber; + global BannerPhotoInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BannerStyle.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BannerStyle.cls new file mode 100644 index 0000000..dea9b1f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BannerStyle.cls @@ -0,0 +1,3 @@ +global enum BannerStyle { +ANNOUNCEMENT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BaseApiPaymentMethodRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BaseApiPaymentMethodRequest.cls new file mode 100644 index 0000000..e49cb8d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BaseApiPaymentMethodRequest.cls @@ -0,0 +1,10 @@ +global class BaseApiPaymentMethodRequest { + global ConnectApi.AddressRequest address; + global String id; + global Boolean saveForFuture; + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BaseAsyncOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BaseAsyncOutputRepresentation.cls new file mode 100644 index 0000000..768feaa --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BaseAsyncOutputRepresentation.cls @@ -0,0 +1,9 @@ +global class BaseAsyncOutputRepresentation { + global String backgroundOperationId; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BaseInvoiceOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BaseInvoiceOutputRepresentation.cls new file mode 100644 index 0000000..9a11997 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BaseInvoiceOutputRepresentation.cls @@ -0,0 +1,9 @@ +global class BaseInvoiceOutputRepresentation { + global String invoiceId; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BaseManagedSocialAccount.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BaseManagedSocialAccount.cls new file mode 100644 index 0000000..5ab47ad --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BaseManagedSocialAccount.cls @@ -0,0 +1,17 @@ +global class BaseManagedSocialAccount { + global String defaultResponseAccountId; + global String displayName; + global String externalPictureUrl; + global String id; + global String label; + global String profileUrl; + global ConnectApi.SocialNetworkProvider socialNetwork; + global String uniqueName; + global String username; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BaseOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BaseOutputRepresentation.cls new file mode 100644 index 0000000..b5e57e4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BaseOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class BaseOutputRepresentation { + global List errors; + global Boolean success; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BasePaymentMethodRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BasePaymentMethodRequest.cls new file mode 100644 index 0000000..79e81fa --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BasePaymentMethodRequest.cls @@ -0,0 +1,7 @@ +global class BasePaymentMethodRequest { + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BaseRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BaseRequest.cls new file mode 100644 index 0000000..42e089d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BaseRequest.cls @@ -0,0 +1,9 @@ +global class BaseRequest { + global Map additionalData; + global Boolean duplicate; + global String idempotencyKey; + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BasicTemplateAttachment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BasicTemplateAttachment.cls new file mode 100644 index 0000000..94cce6c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BasicTemplateAttachment.cls @@ -0,0 +1,15 @@ +global class BasicTemplateAttachment { + global String description; + global ConnectApi.Icon icon; + global String linkRecordId; + global String linkUrl; + global String subtype; + global String title; + global BasicTemplateAttachment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BatchInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BatchInput.cls new file mode 100644 index 0000000..d025348 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BatchInput.cls @@ -0,0 +1,10 @@ +global class BatchInput { + global BatchInput(Object input, ConnectApi.BinaryInput binary) { } + global BatchInput(Object input, List binaries) { } + global BatchInput(Object input) { } + global Object clone() { } + global List getBinaries() { } + global Object getInput() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BatchResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BatchResult.cls new file mode 100644 index 0000000..e75b839 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BatchResult.cls @@ -0,0 +1,16 @@ +global class BatchResult { + global Exception error; + global String errorMessage; + global String errorTypeName; + global Boolean isSuccess; + global Object result; + global BatchResult(Object result, Exception error) { } + global Object clone() { } + global Exception getError() { } + global String getErrorMessage() { } + global String getErrorTypeName() { } + global Object getResult() { } + global Boolean isSuccess() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitDisbursementsInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitDisbursementsInputRepresentation.cls new file mode 100644 index 0000000..3925183 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitDisbursementsInputRepresentation.cls @@ -0,0 +1,12 @@ +global class BenefitDisbursementsInputRepresentation { + global Datetime disbursementDate; + global List enrollees; + global Double quantity; + global String status; + global BenefitDisbursementsInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitDisbursementsOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitDisbursementsOutputRepresentation.cls new file mode 100644 index 0000000..44e1948 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitDisbursementsOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class BenefitDisbursementsOutputRepresentation { + global String message; + global Boolean success; + global BenefitDisbursementsOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitScheduleParticipantsInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitScheduleParticipantsInputRepresentation.cls new file mode 100644 index 0000000..d49309b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitScheduleParticipantsInputRepresentation.cls @@ -0,0 +1,9 @@ +global class BenefitScheduleParticipantsInputRepresentation { + global List enrollees; + global BenefitScheduleParticipantsInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitScheduleParticipantsOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitScheduleParticipantsOutputRepresentation.cls new file mode 100644 index 0000000..d95f531 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitScheduleParticipantsOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class BenefitScheduleParticipantsOutputRepresentation { + global String message; + global Boolean success; + global BenefitScheduleParticipantsOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitSessionParticipantsInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitSessionParticipantsInputRepresentation.cls new file mode 100644 index 0000000..1d51917 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitSessionParticipantsInputRepresentation.cls @@ -0,0 +1,9 @@ +global class BenefitSessionParticipantsInputRepresentation { + global List enrollees; + global BenefitSessionParticipantsInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitSessionParticipantsOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitSessionParticipantsOutputRepresentation.cls new file mode 100644 index 0000000..6ab5605 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitSessionParticipantsOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class BenefitSessionParticipantsOutputRepresentation { + global String message; + global Boolean success; + global BenefitSessionParticipantsOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitSessions.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitSessions.cls new file mode 100644 index 0000000..c0c1424 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BenefitSessions.cls @@ -0,0 +1,12 @@ +global class BenefitSessions { + global Datetime endDate; + global String name; + global Datetime startDate; + global BenefitSessions() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Billing.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Billing.cls new file mode 100644 index 0000000..9093fbf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Billing.cls @@ -0,0 +1,3 @@ +global class Billing { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BillingAddressRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BillingAddressRequest.cls new file mode 100644 index 0000000..e6e1554 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BillingAddressRequest.cls @@ -0,0 +1,16 @@ +global class BillingAddressRequest { + global String city; + global String country; + global Double latitude; + global String locationCode; + global Double longitude; + global String postalCode; + global String state; + global String street; + global BillingAddressRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BillingMethodEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BillingMethodEnum.cls new file mode 100644 index 0000000..d4aba40 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BillingMethodEnum.cls @@ -0,0 +1,4 @@ +global enum BillingMethodEnum { +EVERGREEN, +ORDERAMOUNT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BillingScheduleOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BillingScheduleOutputRepresentation.cls new file mode 100644 index 0000000..6a53aa8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BillingScheduleOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class BillingScheduleOutputRepresentation { + global String billingScheduleId; + global List errors; + global BillingScheduleOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BillingScheduleStatusEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BillingScheduleStatusEnum.cls new file mode 100644 index 0000000..f531744 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BillingScheduleStatusEnum.cls @@ -0,0 +1,4 @@ +global enum BillingScheduleStatusEnum { +COMPLETELYBILLED, +READYFORINVOICING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BillingStatusEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BillingStatusEnum.cls new file mode 100644 index 0000000..fec5e22 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BillingStatusEnum.cls @@ -0,0 +1,5 @@ +global enum BillingStatusEnum { +ERROR, +ERRORPOSTED, +SUCCESS +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BillingTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BillingTypeEnum.cls new file mode 100644 index 0000000..93d3597 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BillingTypeEnum.cls @@ -0,0 +1,3 @@ +global enum BillingTypeEnum { +ADVANCE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BinaryInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BinaryInput.cls new file mode 100644 index 0000000..36853f3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BinaryInput.cls @@ -0,0 +1,9 @@ +global class BinaryInput { + global BinaryInput(Blob blobValue, String contentType, String filename) { } + global Object clone() { } + global Blob getBlobValue() { } + global String getContentType() { } + global String getFilename() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BlankRecordField.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BlankRecordField.cls new file mode 100644 index 0000000..2ad1ace --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BlankRecordField.cls @@ -0,0 +1,9 @@ +global class BlankRecordField { + global BlankRecordField() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BlockchainConfig.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BlockchainConfig.cls new file mode 100644 index 0000000..5b3fb55 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BlockchainConfig.cls @@ -0,0 +1,3 @@ +global class BlockchainConfig { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BlockchainConfigObject.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BlockchainConfigObject.cls new file mode 100644 index 0000000..b9b306a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BlockchainConfigObject.cls @@ -0,0 +1,20 @@ +global class BlockchainConfigObject { + global String blockchainLabel; + global Long chainIdentifier; + global String currencyCode; + global Boolean isEnabled; + global Boolean isTestnet; + global String name; + global String networkDeveloperName; + global String rpcUrl; + global String scanUrl; + global String signatureVerifierContract; + global String type; + global BlockchainConfigObject() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BookAppointmentResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BookAppointmentResult.cls new file mode 100644 index 0000000..a2665d7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BookAppointmentResult.cls @@ -0,0 +1,16 @@ +global class BookAppointmentResult { + global String appointmentId; + global ConnectApi.ErrorRepresentation error; + global Boolean isSuccess; + global String jsonResponse; + global String patientId; + global String sourceAppointmentId; + global ConnectApi.BookingStatus status; + global BookAppointmentResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BookAppointmentsInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BookAppointmentsInput.cls new file mode 100644 index 0000000..a5d3c1a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BookAppointmentsInput.cls @@ -0,0 +1,18 @@ +global class BookAppointmentsInput { + global String appointmentId; + global String appointmentType; + global String channelId; + global String externalPatientId; + global ConnectApi.HCAddressInput facilityAddress; + global String healthcarePractitionerFacilityId; + global String note; + global String patientId; + global String serviceType; + global ConnectApi.GetSlotStatusInput slot; + global BookAppointmentsInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BookingStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BookingStatus.cls new file mode 100644 index 0000000..808a6ce --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BookingStatus.cls @@ -0,0 +1,7 @@ +global enum BookingStatus { +CANCELED, +NOSHOW, +PROPOSED, +REJECTED, +SCHEDULED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BookmarkSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BookmarkSummary.cls new file mode 100644 index 0000000..a2a06af --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BookmarkSummary.cls @@ -0,0 +1,9 @@ +global class BookmarkSummary { + global BookmarkSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BookmarksCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BookmarksCapability.cls new file mode 100644 index 0000000..8ab8ed2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BookmarksCapability.cls @@ -0,0 +1,10 @@ +global class BookmarksCapability { + global Boolean isBookmarkedByCurrentUser; + global BookmarksCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BookmarksCapabilityInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BookmarksCapabilityInput.cls new file mode 100644 index 0000000..7f4206b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BookmarksCapabilityInput.cls @@ -0,0 +1,9 @@ +global class BookmarksCapabilityInput { + global Boolean isBookmarkedByCurrentUser; + global BookmarksCapabilityInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BotInfoRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BotInfoRepresentation.cls new file mode 100644 index 0000000..dfbaa86 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BotInfoRepresentation.cls @@ -0,0 +1,12 @@ +global class BotInfoRepresentation { + global String botId; + global String botName; + global Datetime lastModifiedDate; + global BotInfoRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BotLLMPromptTemplateType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BotLLMPromptTemplateType.cls new file mode 100644 index 0000000..b6e641f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BotLLMPromptTemplateType.cls @@ -0,0 +1,5 @@ +global enum BotLLMPromptTemplateType { +MESSAGE, +REGEX, +SYNONYM +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BotLLMProviderType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BotLLMProviderType.cls new file mode 100644 index 0000000..bdbb447 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BotLLMProviderType.cls @@ -0,0 +1,6 @@ +global enum BotLLMProviderType { +COHERE, +EINSTEINCODE, +EINSTEINTEXT, +OPENAI +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BotRuntimeApi.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BotRuntimeApi.cls new file mode 100644 index 0000000..f947884 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BotRuntimeApi.cls @@ -0,0 +1,3 @@ +global class BotRuntimeApi { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BotRuntimeApiInfo.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BotRuntimeApiInfo.cls new file mode 100644 index 0000000..54b99f8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BotRuntimeApiInfo.cls @@ -0,0 +1,10 @@ +global class BotRuntimeApiInfo { + global String runtimeBaseUrl; + global BotRuntimeApiInfo() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BotVersionActivation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BotVersionActivation.cls new file mode 100644 index 0000000..60358b2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BotVersionActivation.cls @@ -0,0 +1,3 @@ +global class BotVersionActivation { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BotVersionActivationInfo.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BotVersionActivationInfo.cls new file mode 100644 index 0000000..c9e57bd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BotVersionActivationInfo.cls @@ -0,0 +1,12 @@ +global class BotVersionActivationInfo { + global Boolean isActivated; + global List messages; + global Boolean success; + global BotVersionActivationInfo() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BotVersionActivationInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BotVersionActivationInput.cls new file mode 100644 index 0000000..829ba49 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BotVersionActivationInput.cls @@ -0,0 +1,9 @@ +global class BotVersionActivationInput { + global ConnectApi.BotVersionActivationStatus status; + global BotVersionActivationInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BotVersionActivationStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BotVersionActivationStatus.cls new file mode 100644 index 0000000..1df7260 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BotVersionActivationStatus.cls @@ -0,0 +1,4 @@ +global enum BotVersionActivationStatus { +ACTIVE, +INACTIVE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BuildVerificationContextInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BuildVerificationContextInput.cls new file mode 100644 index 0000000..4460741 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BuildVerificationContextInput.cls @@ -0,0 +1,12 @@ +global class BuildVerificationContextInput { + global String objectName; + global String processDetailName; + global String selectedRecordId; + global ConnectApi.SelectedVerifiedResultInput selectedVerifiedResult; + global BuildVerificationContextInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BundleCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BundleCapability.cls new file mode 100644 index 0000000..eb6b89c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BundleCapability.cls @@ -0,0 +1,11 @@ +global class BundleCapability { + global ConnectApi.BundleType bundleType; + global ConnectApi.FeedElementPage page; + global Integer totalElements; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BundleType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BundleType.cls new file mode 100644 index 0000000..bfcbedc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BundleType.cls @@ -0,0 +1,4 @@ +global enum BundleType { +GENERICBUNDLE, +TRACKEDCHANGES +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BuyerProfileRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BuyerProfileRepresentation.cls new file mode 100644 index 0000000..2453a14 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/BuyerProfileRepresentation.cls @@ -0,0 +1,12 @@ +global class BuyerProfileRepresentation { + global String email; + global String firstName; + global String lastName; + global BuyerProfileRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CalculateProjectedRebateAmountOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CalculateProjectedRebateAmountOutputRepresentation.cls new file mode 100644 index 0000000..0043b92 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CalculateProjectedRebateAmountOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class CalculateProjectedRebateAmountOutputRepresentation { + global List projectedRebateAmountCalc; + global CalculateProjectedRebateAmountOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CalculateTaxRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CalculateTaxRequest.cls new file mode 100644 index 0000000..9d4e8c6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CalculateTaxRequest.cls @@ -0,0 +1,12 @@ +global class CalculateTaxRequest { + global Boolean isCommit; + global String taxEngineId; + global ConnectApi.TaxTransactionType taxTransactionType; + global ConnectApi.CalculateTaxTypeRequest taxType; + global CalculateTaxRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CalculateTaxResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CalculateTaxResponse.cls new file mode 100644 index 0000000..6830ef5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CalculateTaxResponse.cls @@ -0,0 +1,14 @@ +global class CalculateTaxResponse { + global ConnectApi.ErrorResponse adapterError; + global ConnectApi.TaxTransactionState status; + global List taxEngineLogs; + global ConnectApi.TaxTransactionType taxTransactionType; + global ConnectApi.CalculateTaxTypeRequest taxType; + global CalculateTaxResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CalculateTaxTypeRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CalculateTaxTypeRequest.cls new file mode 100644 index 0000000..28517a3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CalculateTaxTypeRequest.cls @@ -0,0 +1,4 @@ +global enum CalculateTaxTypeRequest { +ACTUAL, +ESTIMATED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CalculatedInsightDefinitionTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CalculatedInsightDefinitionTypeEnum.cls new file mode 100644 index 0000000..c301cf0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CalculatedInsightDefinitionTypeEnum.cls @@ -0,0 +1,5 @@ +global enum CalculatedInsightDefinitionTypeEnum { +CALCULATEDMETRIC, +EXTERNALMETRIC, +STREAMINGMETRIC +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CalculatedInsightPublishScheduleInterval.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CalculatedInsightPublishScheduleInterval.cls new file mode 100644 index 0000000..e275e44 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CalculatedInsightPublishScheduleInterval.cls @@ -0,0 +1,9 @@ +global enum CalculatedInsightPublishScheduleInterval { +EXTERNALLYMANAGED, +NOTSCHEDULED, +SIX, +STREAMING, +SYSTEMMANAGED, +TWELVE, +TWENTYFOUR +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CallCollaborationCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CallCollaborationCapability.cls new file mode 100644 index 0000000..37e5cf9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CallCollaborationCapability.cls @@ -0,0 +1,11 @@ +global class CallCollaborationCapability { + global Integer commentEndTime; + global Integer commentStartTime; + global CallCollaborationCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CancelAppointmentResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CancelAppointmentResult.cls new file mode 100644 index 0000000..e527b66 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CancelAppointmentResult.cls @@ -0,0 +1,15 @@ +global class CancelAppointmentResult { + global ConnectApi.ErrorRepresentation error; + global String externalAppointmentId; + global Boolean isSuccess; + global String jsonResponse; + global String serviceAppointmentId; + global ConnectApi.BookingStatus status; + global CancelAppointmentResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CancelAppointmentsInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CancelAppointmentsInput.cls new file mode 100644 index 0000000..b4bc53d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CancelAppointmentsInput.cls @@ -0,0 +1,17 @@ +global class CancelAppointmentsInput { + global String appointmentType; + global String externalAppointmentId; + global String externalPatientId; + global String healthcarePractitionerFacilityId; + global String patientId; + global String serviceAppointmentId; + global String serviceType; + global ConnectApi.GetSlotStatusInput slot; + global String status; + global CancelAppointmentsInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CandidateAnswersStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CandidateAnswersStatus.cls new file mode 100644 index 0000000..02d709b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CandidateAnswersStatus.cls @@ -0,0 +1,12 @@ +global class CandidateAnswersStatus { + global Boolean hasCandidateAnswers; + global Boolean hasCandidateAnswersPublished; + global Boolean hasCandidateAnswersRated; + global CandidateAnswersStatus() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CanvasAttachmentInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CanvasAttachmentInput.cls new file mode 100644 index 0000000..d24f41d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CanvasAttachmentInput.cls @@ -0,0 +1,15 @@ +global class CanvasAttachmentInput { + global String description; + global String developerName; + global String height; + global String namespacePrefix; + global String parameters; + global String thumbnailUrl; + global String title; + global CanvasAttachmentInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CanvasCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CanvasCapability.cls new file mode 100644 index 0000000..303928f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CanvasCapability.cls @@ -0,0 +1,17 @@ +global class CanvasCapability { + global String description; + global String developerName; + global String height; + global ConnectApi.Icon icon; + global String namespacePrefix; + global String parameters; + global String thumbnailUrl; + global String title; + global CanvasCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CanvasCapabilityInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CanvasCapabilityInput.cls new file mode 100644 index 0000000..7ae2c18 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CanvasCapabilityInput.cls @@ -0,0 +1,15 @@ +global class CanvasCapabilityInput { + global String description; + global String developerName; + global String height; + global String namespacePrefix; + global String parameters; + global String thumbnailUrl; + global String title; + global CanvasCapabilityInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CanvasTemplateAttachment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CanvasTemplateAttachment.cls new file mode 100644 index 0000000..df0d5b5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CanvasTemplateAttachment.cls @@ -0,0 +1,17 @@ +global class CanvasTemplateAttachment { + global String description; + global String developerName; + global String height; + global ConnectApi.Icon icon; + global String namespacePrefix; + global String parameters; + global String thumbnailUrl; + global String title; + global CanvasTemplateAttachment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CapacityRequestInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CapacityRequestInputRepresentation.cls new file mode 100644 index 0000000..a11a63d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CapacityRequestInputRepresentation.cls @@ -0,0 +1,10 @@ +global class CapacityRequestInputRepresentation { + global String actionRequestId; + global String locationId; + global CapacityRequestInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CapacityResponseOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CapacityResponseOutputRepresentation.cls new file mode 100644 index 0000000..b1780cd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CapacityResponseOutputRepresentation.cls @@ -0,0 +1,12 @@ +global class CapacityResponseOutputRepresentation { + global String actionRequestId; + global ConnectApi.ErrorResponse error; + global Boolean success; + global CapacityResponseOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaptureGatewayResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaptureGatewayResponse.cls new file mode 100644 index 0000000..346a75e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaptureGatewayResponse.cls @@ -0,0 +1,9 @@ +global class CaptureGatewayResponse { + global CaptureGatewayResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaptureRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaptureRequest.cls new file mode 100644 index 0000000..002faf8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaptureRequest.cls @@ -0,0 +1,14 @@ +global class CaptureRequest { + global String accountId; + global Double amount; + global String clientContext; + global String comments; + global Datetime effectiveDate; + global ConnectApi.PaymentGroupRequest paymentGroup; + global CaptureRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaptureResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaptureResponse.cls new file mode 100644 index 0000000..17dbdec --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaptureResponse.cls @@ -0,0 +1,14 @@ +global class CaptureResponse { + global ConnectApi.ErrorResponse error; + global ConnectApi.CaptureGatewayResponse gatewayResponse; + global ConnectApi.PaymentResponse payment; + global List paymentGatewayLogs; + global ConnectApi.PaymentGroupResponse paymentGroup; + global CaptureResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CardCategory.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CardCategory.cls new file mode 100644 index 0000000..8581c6b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CardCategory.cls @@ -0,0 +1,4 @@ +global enum CardCategory { +CREDITCARD, +DEBITCARD +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CardDetailOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CardDetailOutput.cls new file mode 100644 index 0000000..36c3de5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CardDetailOutput.cls @@ -0,0 +1,14 @@ +global class CardDetailOutput { + global String configurationDeveloperName; + global String contextObjectId; + global String indirectRelationshipObjectId; + global String relatedObjectId; + global List rows; + global CardDetailOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CardOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CardOutput.cls new file mode 100644 index 0000000..4c39812 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CardOutput.cls @@ -0,0 +1,14 @@ +global class CardOutput { + global String cardRelatedObject; + global String configurationDeveloperName; + global String indirectObjectId; + global String name; + global String objectApiName; + global CardOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CardPaymentMethodOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CardPaymentMethodOutput.cls new file mode 100644 index 0000000..da361db --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CardPaymentMethodOutput.cls @@ -0,0 +1,27 @@ +global class CardPaymentMethodOutput { + global String accountId; + global Boolean autoPay; + global String cardBin; + global ConnectApi.CardCategory cardCategory; + global String cardHolderFirstName; + global String cardHolderLastName; + global String cardHolderName; + global String cardLastFour; + global String cardType; + global ConnectApi.CardType cardTypeCategory; + global String comments; + global String displayCardNumber; + global String email; + global Integer expiryMonth; + global Integer expiryYear; + global String nickName; + global Integer startMonth; + global Integer startYear; + global CardPaymentMethodOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CardPaymentMethodRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CardPaymentMethodRequest.cls new file mode 100644 index 0000000..ee10f94 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CardPaymentMethodRequest.cls @@ -0,0 +1,24 @@ +global class CardPaymentMethodRequest { + global String accountId; + global Boolean autoPay; + global ConnectApi.CardCategory cardCategory; + global String cardHolderFirstName; + global String cardHolderLastName; + global String cardHolderName; + global String cardNumber; + global String cardType; + global String comments; + global String cvv; + global String email; + global Integer expiryMonth; + global Integer expiryYear; + global String nickName; + global Integer startMonth; + global Integer startYear; + global CardPaymentMethodRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CardRowOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CardRowOutput.cls new file mode 100644 index 0000000..2bd50ba --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CardRowOutput.cls @@ -0,0 +1,13 @@ +global class CardRowOutput { + global Integer index; + global String label; + global String type; + global String value; + global CardRowOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CardType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CardType.cls new file mode 100644 index 0000000..da525d5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CardType.cls @@ -0,0 +1,10 @@ +global enum CardType { +AMERICANEXPRESS, +DINERSCLUB, +DISCOVER, +JCB, +MAESTRO, +MASTERCARD, +UNIONPAY, +VISA +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationCaseOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationCaseOutput.cls new file mode 100644 index 0000000..d3dc2ba --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationCaseOutput.cls @@ -0,0 +1,34 @@ +global class CareAuthorizationCaseOutput { + global String accountName; + global String caseNumber; + global String caseOrigin; + global String caseOwner; + global String caseReason; + global Boolean closed; + global String contactName; + global String createdBy; + global Datetime dateClosed; + global Datetime dateOpened; + global String description; + global Boolean escalated; + global String lastModifiedBy; + global Datetime lastModifiedDate; + global Datetime lastReferencedDate; + global Datetime lastViewedDate; + global String parentCase; + global String priority; + global String status; + global String subject; + global String type; + global String webCompany; + global String webEmail; + global String webName; + global String webPhone; + global CareAuthorizationCaseOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationOutput.cls new file mode 100644 index 0000000..d51e091 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationOutput.cls @@ -0,0 +1,19 @@ +global class CareAuthorizationOutput { + global List careDiagnoses; + global List careProcessingErrors; + global ConnectApi.CareRequestOutput careRequest; + global ConnectApi.CareAuthorizationCaseOutput careRequestCase; + global List careRequestDrugs; + global List careRequestItems; + global ConnectApi.CareAuthorizationPatientOutput patient; + global ConnectApi.SubscriberOutput subscriber; + global List trackedCommunications; + global List transportLocations; + global CareAuthorizationOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationOutputResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationOutputResult.cls new file mode 100644 index 0000000..ce8f96d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationOutputResult.cls @@ -0,0 +1,10 @@ +global class CareAuthorizationOutputResult { + global List relatedRecords; + global CareAuthorizationOutputResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationPatientOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationPatientOutput.cls new file mode 100644 index 0000000..8be9042 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationPatientOutput.cls @@ -0,0 +1,13 @@ +global class CareAuthorizationPatientOutput { + global Datetime birthDate; + global String firstName; + global String lastName; + global String memberId; + global CareAuthorizationPatientOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationRequestGetResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationRequestGetResult.cls new file mode 100644 index 0000000..90df0e9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationRequestGetResult.cls @@ -0,0 +1,12 @@ +global class CareAuthorizationRequestGetResult { + global List careAuthorizationRequests; + global String errorMessage; + global Boolean isSuccess; + global CareAuthorizationRequestGetResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationRequestRelatedRecordResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationRequestRelatedRecordResult.cls new file mode 100644 index 0000000..97cb9fc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationRequestRelatedRecordResult.cls @@ -0,0 +1,9 @@ +global class CareAuthorizationRequestRelatedRecordResult { + global CareAuthorizationRequestRelatedRecordResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationRequestResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationRequestResult.cls new file mode 100644 index 0000000..3ecf420 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareAuthorizationRequestResult.cls @@ -0,0 +1,13 @@ +global class CareAuthorizationRequestResult { + global String code; + global Boolean isSuccess; + global String message; + global List result; + global CareAuthorizationRequestResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareDiagnosisOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareDiagnosisOutput.cls new file mode 100644 index 0000000..3d6674e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareDiagnosisOutput.cls @@ -0,0 +1,41 @@ +global class CareDiagnosisOutput { + global List careRequestReviewers; + global String codeDescription; + global String codeType; + global String codeTypeID; + global String diagnosisCodeSet; + global String dischargeCode; + global String dischargeCodeDescription; + global String dischargeCodeType; + global String dischargeCodeTypeId; + global String dischargeDiagnosisCodeSet; + global Datetime dischargeDiagnosisEffectiveDate; + global Datetime dischargeDiagnosisEndDate; + global Datetime effectiveDate; + global Datetime endDate; + global String healthConditionId; + global String healthcareDiagnosisCode; + global String id; + global String modifiedCode; + global String modifiedCodeDescription; + global String modifiedCodeType; + global String modifiedCodeTypeId; + global String modifiedDiagnosisCodeSet; + global Datetime modifiedEffectiveDate; + global Datetime modifiedEndDate; + global Boolean modifiedPrimaryDiagnosis; + global String name; + global String presentOnAdmission; + global Boolean primary; + global Boolean primaryDischargeDiagnosis; + global String sourceSystem; + global String sourceSystemIdentifier; + global Datetime sourceSystemModified; + global CareDiagnosisOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareProcessingErrorOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareProcessingErrorOutput.cls new file mode 100644 index 0000000..a930c3d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareProcessingErrorOutput.cls @@ -0,0 +1,26 @@ +global class CareProcessingErrorOutput { + global String actionCode; + global String actionCodeDescription; + global String actionCodeId; + global String actionCodeName; + global String actionCodeSourceSystem; + global String actionCodeSystemVersion; + global String description; + global String errorCode; + global String errorCodeDescription; + global String errorCodeId; + global String errorCodeName; + global String errorCodeSourceSystem; + global String errorCodeSystemVersion; + global String id; + global String name; + global String referenceObjectId; + global String referenceObjectName; + global CareProcessingErrorOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareProviderResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareProviderResult.cls new file mode 100644 index 0000000..92ac5b9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareProviderResult.cls @@ -0,0 +1,14 @@ +global class CareProviderResult { + global String careProviderId; + global String npi; + global String sourceFacilityId; + global String sourcePractitionerId; + global String sourceSystem; + global CareProviderResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareRequestDrugOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareRequestDrugOutput.cls new file mode 100644 index 0000000..196fecf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareRequestDrugOutput.cls @@ -0,0 +1,64 @@ +global class CareRequestDrugOutput { + global Integer approvedUnits; + global String authApprovalIdentifier; + global String authorizationRefIdentifier; + global List careRequestReviewers; + global String clinicalDetermination; + global String clinicalDeterminationNote; + global String clinicalDeterminationReason; + global String code; + global String codeType; + global Integer daysSupply; + global Datetime decisionDate; + global Integer deniedUnits; + global ConnectApi.DispenserAddressOutput dispenserAddress; + global String dispenserFaxNumber; + global String dispenserId; + global String dispenserName; + global String dispenserPhoneNumber; + global String dispenserTaxId; + global String dispensingPharmacy; + global String dose; + global String drugAdministrationSetting; + global String drugCode; + global String frequency; + global String id; + global String medicationCode; + global String medicationRefObjectId; + global String modifiedCode; + global String modifiedCodeType; + global Integer modifiedDaysSupply; + global String modifiedDose; + global String modifiedFrequency; + global String modifiedName; + global String modifiedSig; + global String modifiedStrength; + global Integer modifiedTherapyDuration; + global Integer modifiedUnits; + global String name; + global Datetime prescriptionDate; + global Datetime prescriptionFillDate; + global Integer prescriptionFills; + global String priority; + global String requestType; + global String serviceCategory; + global String serviceCategoryCode; + global ConnectApi.ServicingFacilityOutput servicingFacility; + global ConnectApi.ServicingPractitionerOutput servicingProvider; + global String sig; + global String sourceSystem; + global String sourceSystemIdentifier; + global Datetime sourceSystemModified; + global String status; + global String statusReason; + global String strength; + global Integer therapyDuration; + global Integer units; + global CareRequestDrugOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareRequestItemOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareRequestItemOutput.cls new file mode 100644 index 0000000..40eaf8a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareRequestItemOutput.cls @@ -0,0 +1,74 @@ +global class CareRequestItemOutput { + global Integer approvedLengthOfStay; + global String approvedLevelOfCare; + global Integer approvedQuantity; + global Datetime approvedServiceEndDate; + global Datetime approvedServiceStartDate; + global String authApprovalIdentifier; + global String authorizationRefIdentifier; + global List careRequestReviewers; + global String clinicalDetermination; + global String clinicalDeterminationNotes; + global String clinicalDeterminationReason; + global String clinicalServiceRequestId; + global String codeDescription; + global String codeType; + global String codeTypeId; + global Integer cumulativeLengthOfStay; + global String currentLevelOfCare; + global Datetime decisionDate; + global String deniedLevelOfCare; + global Integer deniedQuantity; + global Datetime effectiveDate; + global Datetime endDate; + global String freeFormProcedureDescription; + global String healthcareProcedureCode; + global String id; + global Datetime modifiedCareEndDate; + global String modifiedCode; + global String modifiedCodeDescription; + global String modifiedCodeType; + global String modifiedCodeTypeId; + global Datetime modifiedEffectiveDate; + global String modifiedLevelOfCare; + global String modifiedModifier; + global String modifiedModifierDescription; + global String modifiedProcedureCodeSet; + global Integer modifiedQuantity; + global String modifier1; + global String modifier1Description; + global String modifier2; + global String modifier2Description; + global String modifier3; + global String modifier3Description; + global String modifier4; + global String modifier4Description; + global String modifierCodeSet; + global String name; + global String priority; + global String procedureCodeSet; + global Integer quantity; + global String quantityType; + global String reasonCode; + global String requestType; + global Integer requestedLengthOfStay; + global String requestedLevelOfCare; + global Datetime requestedServiceEndDate; + global Datetime requestedServiceStartDate; + global String serviceCategory; + global String serviceCategoryCode; + global ConnectApi.ServicingFacilityOutput servicingFacility; + global ConnectApi.ServicingPractitionerOutput servicingProvider; + global String sourceSystem; + global String sourceSystemIdentifier; + global Datetime sourceSystemModified; + global String status; + global String statusReason; + global CareRequestItemOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareRequestOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareRequestOutput.cls new file mode 100644 index 0000000..751035d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareRequestOutput.cls @@ -0,0 +1,146 @@ +global class CareRequestOutput { + global Datetime acknowledgementLetterSentDate; + global Datetime actualAdmissionDate; + global Datetime actualDischargeDate; + global String admissionNotes; + global String admissionSource; + global String admissionType; + global Double ambulanceTransportDistance; + global String ambulanceTransportReason; + global String ambulanceTransportType; + global Datetime aorReceivedDate; + global Datetime aorRequestedDate; + global Datetime appealEffectuationDateTime; + global String appealRequestReasonType; + global Datetime appointedRepVerbalContactDate; + global Datetime appointedRepWrittenContactDate; + global ConnectApi.AppointedRepresentativeOutput appointedRepresentative; + global Integer approvedLengthofStay; + global String approvedLevelofCare; + global String authorizationRefIdentifier; + global List careRequestReviewers; + global String caseSubStatus; + global String claimNumber; + global String clinicalCaseType; + global String criteriaMet; + global Integer cumulativeLengthofStay; + global String currentLevelofCare; + global Datetime decisionDate; + global Integer decisionDaysRemaining; + global String decisionLetter; + global String decisionNotes; + global String decisionReason; + global String decisionReasonDescription; + global Integer deniedLengthofStay; + global String deniedLevelofCare; + global String dispositionNotes; + global String documentAttachmentStatus; + global Datetime dueDate; + global Datetime effectiveFrom; + global Datetime effectiveTo; + global Datetime expirationDate; + global Boolean extendedRequest; + global Datetime extensionRequestReceivedDate; + global String externalComplaintID; + global String facilityRecordNumber; + global String facilityRoomBedType; + global String facilityRoomNumber; + global String finalLevelofCare; + global ConnectApi.FirstReviewerOutput firstReviewer; + global String firstReviewerNotes; + global ConnectApi.GeneralPractitionerOutput generalPractitioner; + global Datetime generalPractitionerVerbalNotificationDate; + global Datetime generalPractitionerWrittenNotificationDate; + global String grievanceType; + global String healthcareProvider; + global Datetime homeHealthCertificationEndDate; + global Datetime homeHealthCertificationStartDate; + global Datetime homeHealthStartDate; + global String id; + global String independentReviewDetermination; + global Datetime independentReviewDeterminationDate; + global Datetime independentReviewSubmissionDate; + global Datetime infoReceievedDate; + global Datetime infoRequestedDate; + global Datetime initialDenialNotificationDate; + global String initialDenialNotificationTime; + global Boolean isIndependentReviewRequired; + global Boolean isReadmission; + global Datetime lastModifiedDate; + global ConnectApi.MedicalDirectorOutput medicalDirector; + global String medicalDirectorNotes; + global String member; + global Datetime memberContactDate; + global String memberGroupNumber; + global String memberPrimaryPlan; + global String memberSecondaryPlan; + global Datetime memberVerbalNotificationDate; + global Datetime memberWrittenNotificationDate; + global Datetime modificationDate; + global Integer modifiedLengthofStay; + global String modifiedLevelofCare; + global Datetime nextReviewDate; + global String nursingHomeResidentialStatus; + global ConnectApi.OriginalDenialMedicalDirectorOutput originalDenialMedicalDirector; + global String parProvider; + global String placeofService; + global Datetime practitionerContactDate; + global String priorDischargeStatus; + global Integer quantity; + global String quantityType; + global Datetime receivedDate; + global Datetime reconsiderationDenialNotificationDate; + global String reconsiderationDenialNotificationTime; + global String recordType; + global String referenceCareRequestCase; + global String referenceCaseNumber; + global String referenceCaseType; + global Datetime reopenDecisionDateTime; + global String reopenReason; + global String reopenReasonDescription; + global String reopenRequestOutcome; + global String reopenRequestType; + global ConnectApi.ReopenedByOutput reopenedBy; + global Datetime reopenedDate; + global String requestExtensionReason; + global Datetime requestExtnDecisionDateTime; + global String requestOutcome; + global String requestOutcomeDesc; + global String requestType; + global Datetime requestedDate; + global Integer requestedLengthOfStay; + global String requestedLevelofCare; + global String requesterType; + global ConnectApi.RequestingPractitionerOutput requestingPractitioner; + global String requestingPractitionerLicense; + global String requestingPractitionerSpecialty; + global Datetime requestingPractitionerVerbalNotificationDate; + global Datetime requestingPractitionerWrittenNotificationDate; + global Datetime resolutionDate; + global String resolutionDescription; + global Datetime resolutionLetterSentDate; + global String resolutionNotes; + global Datetime reviewDate; + global String rootCauseNotes; + global Datetime scheduledAdmissionDate; + global Datetime scheduledDischargeDate; + global Datetime serviceDate; + global String serviceLevel; + global String serviceType; + global Boolean serviceorMedicationReceived; + global ConnectApi.ServicingFacilityOutput servicingFacility; + global ConnectApi.ServicingPractitionerOutput servicingPractitioner; + global String servicingPractitionerLicense; + global String servicingPractitionerSpecialty; + global String sourceSystem; + global String sourceSystemIdentifier; + global Datetime sourceSystemModified; + global String unitOfMeasure; + global CareRequestOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareRequestReviewerOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareRequestReviewerOutput.cls new file mode 100644 index 0000000..d0cf1ee --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CareRequestReviewerOutput.cls @@ -0,0 +1,16 @@ +global class CareRequestReviewerOutput { + global ConnectApi.ContentDocumentOutput contentDocument; + global String id; + global Datetime reviewDate; + global String reviewer; + global String reviewerNotes; + global String reviewerType; + global String status; + global CareRequestReviewerOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Careauthorizationrequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Careauthorizationrequest.cls new file mode 100644 index 0000000..84940fb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Careauthorizationrequest.cls @@ -0,0 +1,3 @@ +global class Careauthorizationrequest { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartCoupon.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartCoupon.cls new file mode 100644 index 0000000..665d7c6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartCoupon.cls @@ -0,0 +1,11 @@ +global class CartCoupon { + global String cartCouponId; + global String couponCode; + global CartCoupon() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartCouponCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartCouponCollection.cls new file mode 100644 index 0000000..aa5b6c8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartCouponCollection.cls @@ -0,0 +1,13 @@ +global class CartCouponCollection { + global ConnectApi.CartCouponList cartCoupons; + global String cartId; + global ConnectApi.CartStatus cartStatus; + global String ownerId; + global CartCouponCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartCouponInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartCouponInput.cls new file mode 100644 index 0000000..7ccbc73 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartCouponInput.cls @@ -0,0 +1,9 @@ +global class CartCouponInput { + global String couponCode; + global cartCouponInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartCouponList.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartCouponList.cls new file mode 100644 index 0000000..80bec85 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartCouponList.cls @@ -0,0 +1,10 @@ +global class CartCouponList { + global List coupons; + global CartCouponList() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartInput.cls new file mode 100644 index 0000000..9a9364b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartInput.cls @@ -0,0 +1,14 @@ +global class CartInput { + global String currencyIsoCode; + global String effectiveAccountId; + global Boolean isSecondary; + global String name; + global String orderOwnerId; + global ConnectApi.CartType type; + global CartInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartInventoryItemReservationOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartInventoryItemReservationOutputRepresentation.cls new file mode 100644 index 0000000..61a953a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartInventoryItemReservationOutputRepresentation.cls @@ -0,0 +1,15 @@ +global class CartInventoryItemReservationOutputRepresentation { + global String errorCode; + global String errorMessage; + global String itemReservationSourceId; + global String productId; + global Double quantity; + global String reservedAtLocationId; + global CartInventoryItemReservationOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartInventoryReservationInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartInventoryReservationInputRepresentation.cls new file mode 100644 index 0000000..82deb19 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartInventoryReservationInputRepresentation.cls @@ -0,0 +1,9 @@ +global class CartInventoryReservationInputRepresentation { + global Integer durationInSeconds; + global CartInventoryReservationInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartInventoryReservationOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartInventoryReservationOutputRepresentation.cls new file mode 100644 index 0000000..ecb2617 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartInventoryReservationOutputRepresentation.cls @@ -0,0 +1,14 @@ +global class CartInventoryReservationOutputRepresentation { + global String errorCode; + global String errorMessage; + global List inventoryItemReservations; + global String reservationIdentifier; + global Boolean success; + global CartInventoryReservationOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItem.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItem.cls new file mode 100644 index 0000000..f982ba0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItem.cls @@ -0,0 +1,20 @@ +global class CartItem { + global String currencyIsoCode; + global String itemizedAdjustmentAmount; + global String listPrice; + global String salesPrice; + global String totalAdjustmentAmount; + global String totalAmount; + global String totalListPrice; + global String totalPrice; + global String totalTax; + global String unitAdjustedPrice; + global String unitAdjustmentAmount; + global CartItem() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemCollection.cls new file mode 100644 index 0000000..e86bff4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemCollection.cls @@ -0,0 +1,18 @@ +global class CartItemCollection { + global List cartItems; + global ConnectApi.CartSummary cartSummary; + global String currentPageToken; + global String currentPageUrl; + global Boolean hasErrors; + global String nextPageToken; + global String nextPageUrl; + global String previousPageToken; + global String previousPageUrl; + global CartItemCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemInput.cls new file mode 100644 index 0000000..0ff16b5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemInput.cls @@ -0,0 +1,11 @@ +global class CartItemInput { + global String productId; + global String quantity; + global ConnectApi.CartItemType type; + global CartItemInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemProduct.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemProduct.cls new file mode 100644 index 0000000..5d02e16 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemProduct.cls @@ -0,0 +1,16 @@ +global class CartItemProduct { + global Map fields; + global String name; + global String productId; + global ConnectApi.PurchaseQuantityRule purchaseQuantityRule; + global String sku; + global ConnectApi.ProductMedia thumbnailImage; + global Map variationAttributes; + global CartItemProduct() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemPromotionCollectionInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemPromotionCollectionInputRepresentation.cls new file mode 100644 index 0000000..0838fb4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemPromotionCollectionInputRepresentation.cls @@ -0,0 +1,9 @@ +global class CartItemPromotionCollectionInputRepresentation { + global List items; + global CartItemPromotionCollectionInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemPromotionCollectionOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemPromotionCollectionOutputRepresentation.cls new file mode 100644 index 0000000..9f420d3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemPromotionCollectionOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class CartItemPromotionCollectionOutputRepresentation { + global String currencyIsoCode; + global Map items; + global CartItemPromotionCollectionOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemPromotionInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemPromotionInputRepresentation.cls new file mode 100644 index 0000000..727b187 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemPromotionInputRepresentation.cls @@ -0,0 +1,9 @@ +global class CartItemPromotionInputRepresentation { + global String cartItemId; + global CartItemPromotionInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemResult.cls new file mode 100644 index 0000000..b38daac --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemResult.cls @@ -0,0 +1,12 @@ +global class CartItemResult { + global ConnectApi.AbstractCartItem cartItem; + global String message; + global String status; + global CartItemResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemSortOrder.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemSortOrder.cls new file mode 100644 index 0000000..f632958 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemSortOrder.cls @@ -0,0 +1,8 @@ +global enum CartItemSortOrder { +CREATEDDATEASC, +CREATEDDATEDESC, +NAMEASC, +NAMEDESC, +SALESPRICEASC, +SALESPRICEDESC +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemType.cls new file mode 100644 index 0000000..3ea8c6a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemType.cls @@ -0,0 +1,4 @@ +global enum CartItemType { +DELIVERYCHARGE, +PRODUCT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemWithoutPrice.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemWithoutPrice.cls new file mode 100644 index 0000000..9c32f0b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartItemWithoutPrice.cls @@ -0,0 +1,9 @@ +global class CartItemWithoutPrice { + global CartItemWithoutPrice() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartMessage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartMessage.cls new file mode 100644 index 0000000..fe0bddc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartMessage.cls @@ -0,0 +1,15 @@ +global class CartMessage { + global String message; + global String messageId; + global String relatedEntityId; + global ConnectApi.CartMessageSeverity severity; + global String type; + global Boolean visible; + global CartMessage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartMessageSeverity.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartMessageSeverity.cls new file mode 100644 index 0000000..69e1840 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartMessageSeverity.cls @@ -0,0 +1,5 @@ +global enum CartMessageSeverity { +ERROR, +INFO, +WARNING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartMessagesSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartMessagesSummary.cls new file mode 100644 index 0000000..1a58f04 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartMessagesSummary.cls @@ -0,0 +1,14 @@ +global class CartMessagesSummary { + global Integer errorCount; + global Boolean hasErrors; + global List limitedMessages; + global String relatedEntityId; + global Integer totalLineItemsWithErrors; + global CartMessagesSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartMessagesVisibilityInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartMessagesVisibilityInput.cls new file mode 100644 index 0000000..db8c5b5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartMessagesVisibilityInput.cls @@ -0,0 +1,9 @@ +global class CartMessagesVisibilityInput { + global Boolean visibility; + global CartMessagesVisibilityInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartMessagesVisibilityResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartMessagesVisibilityResult.cls new file mode 100644 index 0000000..d4f8298 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartMessagesVisibilityResult.cls @@ -0,0 +1,10 @@ +global class CartMessagesVisibilityResult { + global Boolean visibility; + global CartMessagesVisibilityResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartProductAttribute.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartProductAttribute.cls new file mode 100644 index 0000000..350e3d8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartProductAttribute.cls @@ -0,0 +1,12 @@ +global class CartProductAttribute { + global String label; + global Integer sequence; + global String value; + global CartProductAttribute() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartPromotionCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartPromotionCollection.cls new file mode 100644 index 0000000..ea23329 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartPromotionCollection.cls @@ -0,0 +1,13 @@ +global class CartPromotionCollection { + global String cartId; + global ConnectApi.CartStatus cartStatus; + global String currencyIsoCode; + global ConnectApi.CartPromotionList promotions; + global CartPromotionCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartPromotionList.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartPromotionList.cls new file mode 100644 index 0000000..fbd4e87 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartPromotionList.cls @@ -0,0 +1,10 @@ +global class CartPromotionList { + global List promotions; + global CartPromotionList() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartPromotionOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartPromotionOutputRepresentation.cls new file mode 100644 index 0000000..40a9695 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartPromotionOutputRepresentation.cls @@ -0,0 +1,16 @@ +global class CartPromotionOutputRepresentation { + global String adjustmentAmount; + global String couponCode; + global String currencyIsoCode; + global String displayName; + global String promotionId; + global ConnectApi.CartPromotionType targetType; + global String termsAndConditions; + global CartPromotionOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartPromotionType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartPromotionType.cls new file mode 100644 index 0000000..2530389 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartPromotionType.cls @@ -0,0 +1,4 @@ +global enum CartPromotionType { +CART, +ITEM +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartStatus.cls new file mode 100644 index 0000000..8927f30 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartStatus.cls @@ -0,0 +1,8 @@ +global enum CartStatus { +ACTIVE, +CHECKOUT, +CLOSED, +PENDINGCLOSED, +PENDINGDELETE, +PROCESSING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartSummary.cls new file mode 100644 index 0000000..c68f855 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartSummary.cls @@ -0,0 +1,31 @@ +global class CartSummary { + global String accountId; + global String cartId; + global String currencyIsoCode; + global String grandTotalAmount; + global Boolean isSecondary; + global ConnectApi.CartMessagesSummary messagesSummary; + global String name; + global String orderOwnerId; + global String ownerId; + global String purchaseOrderNumber; + global ConnectApi.CartStatus status; + global ConnectApi.CartTaxType taxType; + global String totalChargeAmount; + global String totalListPrice; + global String totalProductAmount; + global String totalProductAmountAfterAdjustments; + global String totalProductCount; + global String totalPromotionalAdjustmentAmount; + global String totalTaxAmount; + global ConnectApi.CartType type; + global Integer uniqueProductCount; + global String webstoreId; + global CartSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartTaxType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartTaxType.cls new file mode 100644 index 0000000..54dcd93 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartTaxType.cls @@ -0,0 +1,4 @@ +global enum CartTaxType { +GROSS, +NET +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartToWishlistInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartToWishlistInput.cls new file mode 100644 index 0000000..463ecdc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartToWishlistInput.cls @@ -0,0 +1,9 @@ +global class CartToWishlistInput { + global String wishlistId; + global CartToWishlistInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartToWishlistResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartToWishlistResult.cls new file mode 100644 index 0000000..033bc29 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartToWishlistResult.cls @@ -0,0 +1,11 @@ +global class CartToWishlistResult { + global Integer productsAddedCount; + global String wishlistId; + global CartToWishlistResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartType.cls new file mode 100644 index 0000000..9299299 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CartType.cls @@ -0,0 +1,3 @@ +global enum CartType { +CART +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseActorType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseActorType.cls new file mode 100644 index 0000000..59a490c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseActorType.cls @@ -0,0 +1,4 @@ +global enum CaseActorType { +CUSTOMER, +CUSTOMERSERVICE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseComment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseComment.cls new file mode 100644 index 0000000..300c560 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseComment.cls @@ -0,0 +1,16 @@ +global class CaseComment { + global ConnectApi.CaseActorType actorType; + global ConnectApi.Actor createdBy; + global Datetime createdDate; + global ConnectApi.CaseCommentEventType eventType; + global String id; + global Boolean published; + global String text; + global CaseComment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseCommentCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseCommentCapability.cls new file mode 100644 index 0000000..70a93ed --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseCommentCapability.cls @@ -0,0 +1,16 @@ +global class CaseCommentCapability { + global ConnectApi.CaseActorType actorType; + global ConnectApi.Actor createdBy; + global Datetime createdDate; + global ConnectApi.CaseCommentEventType eventType; + global String id; + global Boolean published; + global String text; + global CaseCommentCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseCommentEventType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseCommentEventType.cls new file mode 100644 index 0000000..7f3ef41 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseCommentEventType.cls @@ -0,0 +1,9 @@ +global enum CaseCommentEventType { +NEWINTERNAL, +NEWPUBLISHED, +NEWPUBLISHEDBYCUSTOMER, +PUBLISHEXISTING, +PUBLISHEXISTINGBYCUSTOMER, +UNPUBLISHEXISTINGBYCUSTOMER, +UNPUBLISHEXSITING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseInfoWrapper.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseInfoWrapper.cls new file mode 100644 index 0000000..e6e3eab --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseInfoWrapper.cls @@ -0,0 +1,15 @@ +global class CaseInfoWrapper { + global String accountId; + global Map additionalInfo; + global String description; + global String origin; + global String reason; + global String status; + global String subject; + global CaseInfoWrapper() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseParticipantInfoWrapper.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseParticipantInfoWrapper.cls new file mode 100644 index 0000000..70c1a78 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseParticipantInfoWrapper.cls @@ -0,0 +1,16 @@ +global class CaseParticipantInfoWrapper { + global Map additionalInfo; + global String authorizationProof; + global String participantId; + global String preferredCallTimeFrom; + global String preferredCallTimeTo; + global String preferredCommunicationMode; + global String role; + global String status; + global CaseParticipantInfoWrapper() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseProgramsInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseProgramsInputRepresentation.cls new file mode 100644 index 0000000..ba1a059 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseProgramsInputRepresentation.cls @@ -0,0 +1,9 @@ +global class CaseProgramsInputRepresentation { + global List caseProgramRequest; + global CaseProgramsInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseProgramsOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseProgramsOutputRepresentation.cls new file mode 100644 index 0000000..3d5b18b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CaseProgramsOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class CaseProgramsOutputRepresentation { + global String message; + global Boolean success; + global CaseProgramsOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpActionResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpActionResponse.cls new file mode 100644 index 0000000..ed0b4c2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpActionResponse.cls @@ -0,0 +1,10 @@ +global class CdpActionResponse { + global List errors; + global Boolean success; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpAssetBase.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpAssetBase.cls new file mode 100644 index 0000000..dd98f00 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpAssetBase.cls @@ -0,0 +1,17 @@ +global class CdpAssetBase { + global ConnectApi.CdpUser createdBy; + global Datetime createdDate; + global String id; + global String label; + global ConnectApi.CdpUser lastModifiedBy; + global Datetime lastModifiedDate; + global String name; + global String namespace; + global String url; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpAssetReference.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpAssetReference.cls new file mode 100644 index 0000000..f91e0f9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpAssetReference.cls @@ -0,0 +1,9 @@ +global class CdpAssetReference { + global CdpAssetReference() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsight.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsight.cls new file mode 100644 index 0000000..fa951a0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsight.cls @@ -0,0 +1,10 @@ +global class CdpCalculatedInsight { + global Object clone() { } + global static ConnectApi.CdpCalculatedInsightOutput createCalculatedInsight(ConnectApi.CdpCalculatedInsightInput input) { } + global static void deleteCalculatedInsight(String apiName) { } + global static ConnectApi.CdpCalculatedInsightOutput getCalculatedInsight(String apiName) { } + global static ConnectApi.CdpCalculatedInsightPage getCalculatedInsights(String definitionType, Integer batchSize, Integer offset, String orderby, String dataspace) { } + global static ConnectApi.CdpCalculatedInsightActionRunResponseRepresentation runCalculatedInsight(String apiName) { } + global static ConnectApi.CdpCalculatedInsightOutput updateCalculatedInsight(String apiName, ConnectApi.CdpCalculatedInsightInput input) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightDataSource.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightDataSource.cls new file mode 100644 index 0000000..626a13b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightDataSource.cls @@ -0,0 +1,11 @@ +global class CdpCalculatedInsightDataSource { + global String sourceApiName; + global String type; + global CdpCalculatedInsightDataSource() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightDimension.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightDimension.cls new file mode 100644 index 0000000..8021027 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightDimension.cls @@ -0,0 +1,17 @@ +global class CdpCalculatedInsightDimension { + global String apiName; + global String creationType; + global ConnectApi.CdpCalculatedInsightDataSource dataSource; + global String dataType; + global String dateGranularity; + global String displayName; + global String fieldRole; + global String formula; + global CdpCalculatedInsightDimension() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightErrorResponseRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightErrorResponseRepresentation.cls new file mode 100644 index 0000000..3058005 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightErrorResponseRepresentation.cls @@ -0,0 +1,11 @@ +global class CdpCalculatedInsightErrorResponseRepresentation { + global String errorCode; + global String message; + global CdpCalculatedInsightErrorResponseRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightInput.cls new file mode 100644 index 0000000..b51ef20 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightInput.cls @@ -0,0 +1,17 @@ +global class CdpCalculatedInsightInput { + global String apiName; + global Boolean createdFromPackage; + global String dataSpaceName; + global ConnectApi.CalculatedInsightDefinitionTypeEnum definitionType; + global String description; + global String displayName; + global Boolean draft; + global String expression; + global String packagedCalculatedInsightApiName; + global CdpCalculatedInsightInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightInputValidator.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightInputValidator.cls new file mode 100644 index 0000000..936a1ab --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightInputValidator.cls @@ -0,0 +1,3 @@ +global class CdpCalculatedInsightInputValidator { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightMeasure.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightMeasure.cls new file mode 100644 index 0000000..7c4f1ad --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightMeasure.cls @@ -0,0 +1,17 @@ +global class CdpCalculatedInsightMeasure { + global String apiName; + global String creationType; + global ConnectApi.CdpCalculatedInsightDataSource dataSource; + global String dataType; + global String displayName; + global String fieldAggregationType; + global String fieldRole; + global String formula; + global CdpCalculatedInsightMeasure() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightOutput.cls new file mode 100644 index 0000000..2291eba --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightOutput.cls @@ -0,0 +1,30 @@ +global class CdpCalculatedInsightOutput { + global String apiName; + global String calculatedInsightStatus; + global String creationType; + global String dataSpace; + global String definitionStatus; + global String definitionType; + global String description; + global List dimensions; + global String displayName; + global String expression; + global Boolean isEnabled; + global String lastCalcInsightStatusDateTime; + global String lastCalcInsightStatusErrorCode; + global String lastRunDateTime; + global String lastRunStatus; + global String lastRunStatusDateTime; + global String lastRunStatusErrorCode; + global List measures; + global String publishScheduleEndDate; + global String publishScheduleInterval; + global String publishScheduleStartDateTime; + global CdpCalculatedInsightOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightPage.cls new file mode 100644 index 0000000..38032e5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightPage.cls @@ -0,0 +1,10 @@ +global class CdpCalculatedInsightPage { + global ConnectApi.CdpCalculatedInsightPageData collection; + global CdpCalculatedInsightPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightPageData.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightPageData.cls new file mode 100644 index 0000000..a41be43 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightPageData.cls @@ -0,0 +1,18 @@ +global class CdpCalculatedInsightPageData { + global Integer count; + global String currentPageToken; + global String currentPageUrl; + global List items; + global String nextPageToken; + global String nextPageUrl; + global String previousPageToken; + global String previousPageUrl; + global Integer total; + global CdpCalculatedInsightPageData() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightStandardActionResponseRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightStandardActionResponseRepresentation.cls new file mode 100644 index 0000000..1f98646 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightStandardActionResponseRepresentation.cls @@ -0,0 +1,9 @@ +global class CdpCalculatedInsightStandardActionResponseRepresentation { + global CdpCalculatedInsightStandardActionResponseRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightValidateInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightValidateInput.cls new file mode 100644 index 0000000..46ddca1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightValidateInput.cls @@ -0,0 +1,3 @@ +global class CdpCalculatedInsightValidateInput { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightValidateInputValidator.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightValidateInputValidator.cls new file mode 100644 index 0000000..f6f7cc7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpCalculatedInsightValidateInputValidator.cls @@ -0,0 +1,3 @@ +global class CdpCalculatedInsightValidateInputValidator { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpDataActionPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpDataActionPage.cls new file mode 100644 index 0000000..006cb78 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpDataActionPage.cls @@ -0,0 +1,3 @@ +global class CdpDataActionPage { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpDataActionPageValidator.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpDataActionPageValidator.cls new file mode 100644 index 0000000..1a21d3d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpDataActionPageValidator.cls @@ -0,0 +1,3 @@ +global class CdpDataActionPageValidator { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpDataActionTargetPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpDataActionTargetPage.cls new file mode 100644 index 0000000..a9b1c30 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpDataActionTargetPage.cls @@ -0,0 +1,3 @@ +global class CdpDataActionTargetPage { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpDataActionTargetPageValidator.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpDataActionTargetPageValidator.cls new file mode 100644 index 0000000..4ea098e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpDataActionTargetPageValidator.cls @@ -0,0 +1,3 @@ +global class CdpDataActionTargetPageValidator { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpDataTransformActionRunResponseRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpDataTransformActionRunResponseRepresentation.cls new file mode 100644 index 0000000..e206e34 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpDataTransformActionRunResponseRepresentation.cls @@ -0,0 +1,9 @@ +global class CdpDataTransformActionRunResponseRepresentation { + global CdpDataTransformActionRunResponseRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpEnumHelpers.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpEnumHelpers.cls new file mode 100644 index 0000000..5d78ecf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpEnumHelpers.cls @@ -0,0 +1,3 @@ +global class CdpEnumHelpers { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpErrorResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpErrorResponse.cls new file mode 100644 index 0000000..a4bd1ba --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpErrorResponse.cls @@ -0,0 +1,11 @@ +global class CdpErrorResponse { + global String errorCode; + global String message; + global CdpErrorResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolution.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolution.cls new file mode 100644 index 0000000..c6299a3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolution.cls @@ -0,0 +1,3 @@ +global class CdpIdentityResolution { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionConfigInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionConfigInput.cls new file mode 100644 index 0000000..d42c486 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionConfigInput.cls @@ -0,0 +1,16 @@ +global class CdpIdentityResolutionConfigInput { + global ConnectApi.CdpIdentityResolutionConfigurationType configurationType; + global String dataSpaceName; + global String description; + global Boolean doesRunAutomatically; + global String label; + global List matchRules; + global List reconciliationRules; + global String rulesetId; + global CdpIdentityResolutionConfigInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionConfigInputValidator.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionConfigInputValidator.cls new file mode 100644 index 0000000..867ab20 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionConfigInputValidator.cls @@ -0,0 +1,3 @@ +global class CdpIdentityResolutionConfigInputValidator { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionConfigPatchInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionConfigPatchInput.cls new file mode 100644 index 0000000..f745a21 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionConfigPatchInput.cls @@ -0,0 +1,13 @@ +global class CdpIdentityResolutionConfigPatchInput { + global String description; + global Boolean doesRunAutomatically; + global String label; + global List matchRules; + global List reconciliationRules; + global CdpIdentityResolutionConfigPatchInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionConfigPatchInputValidator.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionConfigPatchInputValidator.cls new file mode 100644 index 0000000..e8c6c79 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionConfigPatchInputValidator.cls @@ -0,0 +1,3 @@ +global class CdpIdentityResolutionConfigPatchInputValidator { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionConfigurationType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionConfigurationType.cls new file mode 100644 index 0000000..79e5d10 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionConfigurationType.cls @@ -0,0 +1,4 @@ +global enum CdpIdentityResolutionConfigurationType { +ACCOUNT, +INDIVIDUAL +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchCriterion.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchCriterion.cls new file mode 100644 index 0000000..3700ad0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchCriterion.cls @@ -0,0 +1,13 @@ +global class CdpIdentityResolutionMatchCriterion { + global String entityName; + global String fieldName; + global ConnectApi.CdpIdentityResolutionMatchMethodType matchMethodType; + global ConnectApi.CdpIdentityResolutionMatchCriterionPartyIdentificationInfo partyIdentificationInfo; + global Boolean shouldMatchOnBlank; + global CdpIdentityResolutionMatchCriterion() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchCriterionOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchCriterionOutput.cls new file mode 100644 index 0000000..bbdeb44 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchCriterionOutput.cls @@ -0,0 +1,14 @@ +global class CdpIdentityResolutionMatchCriterionOutput { + global String entityName; + global String fieldName; + global ConnectApi.CdpIdentityResolutionMatchMethodType matchMethodType; + global ConnectApi.CdpIdentityResolutionMatchCriterionPartyIdentificationInfoOutput partyIdentificationInfo; + global Boolean shouldMatchOnBlank; + global CdpIdentityResolutionMatchCriterionOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchCriterionOutputValidator.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchCriterionOutputValidator.cls new file mode 100644 index 0000000..8ad30f4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchCriterionOutputValidator.cls @@ -0,0 +1,3 @@ +global class CdpIdentityResolutionMatchCriterionOutputValidator { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchCriterionPartyIdentificationInfo.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchCriterionPartyIdentificationInfo.cls new file mode 100644 index 0000000..82ff7aa --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchCriterionPartyIdentificationInfo.cls @@ -0,0 +1,10 @@ +global class CdpIdentityResolutionMatchCriterionPartyIdentificationInfo { + global String partyName; + global String partyType; + global CdpIdentityResolutionMatchCriterionPartyIdentificationInfo() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchCriterionPartyIdentificationInfoOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchCriterionPartyIdentificationInfoOutput.cls new file mode 100644 index 0000000..fde70f9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchCriterionPartyIdentificationInfoOutput.cls @@ -0,0 +1,11 @@ +global class CdpIdentityResolutionMatchCriterionPartyIdentificationInfoOutput { + global String partyName; + global String partyType; + global CdpIdentityResolutionMatchCriterionPartyIdentificationInfoOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchCriterionValidator.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchCriterionValidator.cls new file mode 100644 index 0000000..c6558ad --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchCriterionValidator.cls @@ -0,0 +1,3 @@ +global class CdpIdentityResolutionMatchCriterionValidator { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchMethodType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchMethodType.cls new file mode 100644 index 0000000..65e2018 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchMethodType.cls @@ -0,0 +1,7 @@ +global enum CdpIdentityResolutionMatchMethodType { +EXACT, +EXACTNORMALIZED, +FUZZY, +FUZZYHIGH, +FUZZYLOW +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchRule.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchRule.cls new file mode 100644 index 0000000..7f33a72 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchRule.cls @@ -0,0 +1,10 @@ +global class CdpIdentityResolutionMatchRule { + global List criteria; + global String label; + global CdpIdentityResolutionMatchRule() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchRuleOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchRuleOutput.cls new file mode 100644 index 0000000..3e2ec00 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchRuleOutput.cls @@ -0,0 +1,11 @@ +global class CdpIdentityResolutionMatchRuleOutput { + global List criteria; + global String label; + global CdpIdentityResolutionMatchRuleOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchRuleOutputValidator.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchRuleOutputValidator.cls new file mode 100644 index 0000000..650e443 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchRuleOutputValidator.cls @@ -0,0 +1,3 @@ +global class CdpIdentityResolutionMatchRuleOutputValidator { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchRuleValidator.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchRuleValidator.cls new file mode 100644 index 0000000..c9a7f71 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionMatchRuleValidator.cls @@ -0,0 +1,3 @@ +global class CdpIdentityResolutionMatchRuleValidator { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionOutput.cls new file mode 100644 index 0000000..b7f547f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionOutput.cls @@ -0,0 +1,28 @@ +global class CdpIdentityResolutionOutput { + global Long anonymousUnifiedProfiles; + global ConnectApi.CdpIdentityResolutionConfigurationType configurationType; + global Double consolidationRate; + global String dataSpaceName; + global String description; + global Boolean doesRunAutomatically; + global String id; + global Long knownUnifiedProfiles; + global String label; + global Datetime lastJobCompleted; + global String lastJobStatus; + global List matchRules; + global Long matchedSourceProfiles; + global String objectApiName; + global List reconciliationRules; + global String rulesetId; + global String rulesetStatus; + global Long sourceProfiles; + global Long totalUnifiedProfiles; + global CdpIdentityResolutionOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionOutputValidator.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionOutputValidator.cls new file mode 100644 index 0000000..8ec326e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionOutputValidator.cls @@ -0,0 +1,3 @@ +global class CdpIdentityResolutionOutputValidator { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionPublishOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionPublishOutput.cls new file mode 100644 index 0000000..498ec59 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionPublishOutput.cls @@ -0,0 +1,9 @@ +global class CdpIdentityResolutionPublishOutput { + global CdpIdentityResolutionPublishOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationFieldRule.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationFieldRule.cls new file mode 100644 index 0000000..cc17edb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationFieldRule.cls @@ -0,0 +1,12 @@ +global class CdpIdentityResolutionReconciliationFieldRule { + global String fieldName; + global ConnectApi.CdpIdentityResolutionReconciliationRuleType ruleType; + global Boolean shouldIgnoreEmptyValue; + global List sources; + global CdpIdentityResolutionReconciliationFieldRule() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationFieldRuleOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationFieldRuleOutput.cls new file mode 100644 index 0000000..fa400e7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationFieldRuleOutput.cls @@ -0,0 +1,13 @@ +global class CdpIdentityResolutionReconciliationFieldRuleOutput { + global String fieldName; + global ConnectApi.CdpIdentityResolutionReconciliationRuleType ruleType; + global Boolean shouldIgnoreEmptyValue; + global List sources; + global CdpIdentityResolutionReconciliationFieldRuleOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationFieldRuleOutputValidator.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationFieldRuleOutputValidator.cls new file mode 100644 index 0000000..31fe365 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationFieldRuleOutputValidator.cls @@ -0,0 +1,3 @@ +global class CdpIdentityResolutionReconciliationFieldRuleOutputValidator { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationFieldRuleValidator.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationFieldRuleValidator.cls new file mode 100644 index 0000000..455959a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationFieldRuleValidator.cls @@ -0,0 +1,3 @@ +global class CdpIdentityResolutionReconciliationFieldRuleValidator { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationRule.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationRule.cls new file mode 100644 index 0000000..19e634f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationRule.cls @@ -0,0 +1,13 @@ +global class CdpIdentityResolutionReconciliationRule { + global String entityName; + global List fields; + global ConnectApi.CdpIdentityResolutionReconciliationRuleType ruleType; + global Boolean shouldIgnoreEmptyValue; + global List sources; + global CdpIdentityResolutionReconciliationRule() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationRuleOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationRuleOutput.cls new file mode 100644 index 0000000..a4b35d0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationRuleOutput.cls @@ -0,0 +1,16 @@ +global class CdpIdentityResolutionReconciliationRuleOutput { + global String entityName; + global List fields; + global String linkDmoName; + global ConnectApi.CdpIdentityResolutionReconciliationRuleType ruleType; + global Boolean shouldIgnoreEmptyValue; + global List sources; + global String unifiedDmoName; + global CdpIdentityResolutionReconciliationRuleOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationRuleOutputValidator.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationRuleOutputValidator.cls new file mode 100644 index 0000000..3619072 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationRuleOutputValidator.cls @@ -0,0 +1,3 @@ +global class CdpIdentityResolutionReconciliationRuleOutputValidator { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationRuleType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationRuleType.cls new file mode 100644 index 0000000..005075c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationRuleType.cls @@ -0,0 +1,5 @@ +global enum CdpIdentityResolutionReconciliationRuleType { +LASTUPDATED, +MOSTFREQUENT, +SOURCESEQUENCE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationRuleValidator.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationRuleValidator.cls new file mode 100644 index 0000000..66484b9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationRuleValidator.cls @@ -0,0 +1,3 @@ +global class CdpIdentityResolutionReconciliationRuleValidator { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationSource.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationSource.cls new file mode 100644 index 0000000..5282a10 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationSource.cls @@ -0,0 +1,9 @@ +global class CdpIdentityResolutionReconciliationSource { + global String name; + global CdpIdentityResolutionReconciliationSource() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationSourceOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationSourceOutput.cls new file mode 100644 index 0000000..c7488e4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionReconciliationSourceOutput.cls @@ -0,0 +1,10 @@ +global class CdpIdentityResolutionReconciliationSourceOutput { + global String name; + global CdpIdentityResolutionReconciliationSourceOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionRunNowInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionRunNowInput.cls new file mode 100644 index 0000000..6a93e7c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionRunNowInput.cls @@ -0,0 +1,10 @@ +global class CdpIdentityResolutionRunNowInput { + global String callingApp; + global String callingAppInfo; + global CdpIdentityResolutionRunNowInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionRunNowOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionRunNowOutput.cls new file mode 100644 index 0000000..9792c7d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionRunNowOutput.cls @@ -0,0 +1,10 @@ +global class CdpIdentityResolutionRunNowOutput { + global ConnectApi.CdpIdentityResolutionRunNowResultCode resultCode; + global CdpIdentityResolutionRunNowOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionRunNowOutputValidator.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionRunNowOutputValidator.cls new file mode 100644 index 0000000..3d578ec --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionRunNowOutputValidator.cls @@ -0,0 +1,3 @@ +global class CdpIdentityResolutionRunNowOutputValidator { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionRunNowResultCode.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionRunNowResultCode.cls new file mode 100644 index 0000000..50b9033 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionRunNowResultCode.cls @@ -0,0 +1,6 @@ +global enum CdpIdentityResolutionRunNowResultCode { +EXCEEDEDMAXIMUMNUMBEROFSUCCESSFULRUNSALLOWEDIN24HOURS, +IDENTITYRESOLUTIONJOBISALREADYRUNNING, +NOPENDINGCHANGESJOBRUNSKIPPED, +SUCCESSFULLYSUBMITTEDIDENTITYRESOLUTIONJOBRUNREQUEST +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionsOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionsOutput.cls new file mode 100644 index 0000000..75fe1f6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionsOutput.cls @@ -0,0 +1,10 @@ +global class CdpIdentityResolutionsOutput { + global List identityResolutions; + global CdpIdentityResolutionsOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionsOutputValidator.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionsOutputValidator.cls new file mode 100644 index 0000000..a5af17f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpIdentityResolutionsOutputValidator.cls @@ -0,0 +1,3 @@ +global class CdpIdentityResolutionsOutputValidator { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlCustomizableFieldTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlCustomizableFieldTypeEnum.cls new file mode 100644 index 0000000..69abe64 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlCustomizableFieldTypeEnum.cls @@ -0,0 +1,4 @@ +global enum CdpMlCustomizableFieldTypeEnum { +ACTIONABLEVARIABLE, +TOPFACTOR +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlFieldDataTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlFieldDataTypeEnum.cls new file mode 100644 index 0000000..6286aa0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlFieldDataTypeEnum.cls @@ -0,0 +1,5 @@ +global enum CdpMlFieldDataTypeEnum { +DATE, +NUMBER, +TEXT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlFilterFieldOperatorEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlFilterFieldOperatorEnum.cls new file mode 100644 index 0000000..dd1879e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlFilterFieldOperatorEnum.cls @@ -0,0 +1,15 @@ +global enum CdpMlFilterFieldOperatorEnum { +BETWEEN, +CONTAINS, +ENDSWITH, +EQUAL, +GREATERTHAN, +GREATERTHANOREQUAL, +INSET, +LESSTHAN, +LESSTHANOREQUAL, +NOTBETWEEN, +NOTEQUAL, +NOTIN, +STARTSWITH +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlFilterFieldTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlFilterFieldTypeEnum.cls new file mode 100644 index 0000000..5f4aa84 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlFilterFieldTypeEnum.cls @@ -0,0 +1,5 @@ +global enum CdpMlFilterFieldTypeEnum { +CALCULATEDINSIGHTOBJECTFIELD, +DATAMODELOBJECTFIELD, +MODELINPUTFIELD +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlFilterValueTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlFilterValueTypeEnum.cls new file mode 100644 index 0000000..95dea7a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlFilterValueTypeEnum.cls @@ -0,0 +1,4 @@ +global enum CdpMlFilterValueTypeEnum { +CONSTANT, +PLACEHOLDER +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlModelOutcomeGoalEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlModelOutcomeGoalEnum.cls new file mode 100644 index 0000000..94ab07b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlModelOutcomeGoalEnum.cls @@ -0,0 +1,5 @@ +global enum CdpMlModelOutcomeGoalEnum { +MAXIMIZE, +MINIMIZE, +NONE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlModelPartitionStatusEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlModelPartitionStatusEnum.cls new file mode 100644 index 0000000..bcc03df --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlModelPartitionStatusEnum.cls @@ -0,0 +1,4 @@ +global enum CdpMlModelPartitionStatusEnum { +DISABLED, +ENABLED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlModelPredictionTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlModelPredictionTypeEnum.cls new file mode 100644 index 0000000..70c8207 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlModelPredictionTypeEnum.cls @@ -0,0 +1,5 @@ +global enum CdpMlModelPredictionTypeEnum { +BINARYCLASSIFICATION, +MULTICLASSCLASSIFICATION, +REGRESSION +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlModelRefreshRecipientTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlModelRefreshRecipientTypeEnum.cls new file mode 100644 index 0000000..d3c8dc0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlModelRefreshRecipientTypeEnum.cls @@ -0,0 +1,4 @@ +global enum CdpMlModelRefreshRecipientTypeEnum { +GROUP, +USER +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlModelSourceTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlModelSourceTypeEnum.cls new file mode 100644 index 0000000..c55e3db --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlModelSourceTypeEnum.cls @@ -0,0 +1,4 @@ +global enum CdpMlModelSourceTypeEnum { +MODELBUILDER, +MODELCONNECTOR +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlModelStatusEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlModelStatusEnum.cls new file mode 100644 index 0000000..c4952e3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpMlModelStatusEnum.cls @@ -0,0 +1,5 @@ +global enum CdpMlModelStatusEnum { +DISABLED, +ENABLED, +UNDEPLOYED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQuery.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQuery.cls new file mode 100644 index 0000000..4e53556 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQuery.cls @@ -0,0 +1,31 @@ +global class CdpQuery { + global Object clone() { } + global static ConnectApi.CdpQueryMetadataOutput getAllMetadata(String entityType, String entityCategory, String entityName, String dataspace) { } + global static ConnectApi.CdpQueryMetadataOutput getAllMetadata(String entityType, String entityCategory, String entityName) { } + global static ConnectApi.CdpQueryMetadataOutput getAllMetadata() { } + global static ConnectApi.CdpQueryMetadataOutput getInsightsMetadata(String ciName, String dataspace) { } + global static ConnectApi.CdpQueryMetadataOutput getInsightsMetadata(String ciName) { } + global static ConnectApi.CdpQueryMetadataOutput getInsightsMetadata() { } + global static ConnectApi.CdpQueryMetadataOutput getProfileMetadata(String dataModelName, String dataspace) { } + global static ConnectApi.CdpQueryMetadataOutput getProfileMetadata(String dataModelName) { } + global static ConnectApi.CdpQueryMetadataOutput getProfileMetadata() { } + global static ConnectApi.CdpQueryOutputV2 nextBatchAnsiSqlV2(String nextBatchId, String dataspace) { } + global static ConnectApi.CdpQueryOutputV2 nextBatchAnsiSqlV2(String nextBatchId) { } + global static ConnectApi.CdpQueryOutput queryANSISql(ConnectApi.CdpQueryInput input, Integer batchSize, Integer offset, String orderby, String dataspace) { } + global static ConnectApi.CdpQueryOutput queryANSISql(ConnectApi.CdpQueryInput input, Integer batchSize, Integer offset, String orderby) { } + global static ConnectApi.CdpQueryOutput queryANSISql(ConnectApi.CdpQueryInput input) { } + global static ConnectApi.CdpQueryOutputV2 queryAnsiSqlV2(ConnectApi.CdpQueryInput input, String dataspace) { } + global static ConnectApi.CdpQueryOutputV2 queryAnsiSqlV2(ConnectApi.CdpQueryInput input) { } + global static ConnectApi.CdpQueryOutput queryCalculatedInsights(String ciName, String dimensions, String measures, String orderby, String filters, Integer batchSize, Integer offset, String timeGranularity, String dataspace) { } + global static ConnectApi.CdpQueryOutput queryCalculatedInsights(String ciName, String dimensions, String measures, String orderby, String filters, Integer batchSize, Integer offset, String timeGranularity) { } + global static ConnectApi.CdpQueryOutput queryCalculatedInsights(String ciName, String dimensions, String measures, String orderby, String filters, Integer batchSize, Integer offset) { } + global static ConnectApi.CdpQueryOutput queryProfileApi(String dataModelName, String id, String ciName, String searchKey, String dimensions, String measures, String filters, String fields, Integer batchSize, Integer offset, String orderby, String timeGranularity, String dataspace) { } + global static ConnectApi.CdpQueryOutput queryProfileApi(String dataModelName, String id, String ciName, String searchKey, String dimensions, String measures, String filters, String fields, Integer batchSize, Integer offset, String orderby, String timeGranularity) { } + global static ConnectApi.CdpQueryOutput queryProfileApi(String dataModelName, String id, String ciName, String searchKey, String dimensions, String measures, String filters, String fields, Integer batchSize, Integer offset, String orderby) { } + global static ConnectApi.CdpQueryOutput queryProfileApi(String dataModelName, String id, String childDataModelName, String searchKey, String filters, String fields, Integer batchSize, Integer offset, String orderby) { } + global static ConnectApi.CdpQueryOutput queryProfileApi(String dataModelName, String id, String searchKey, String filters, String fields, Integer batchSize, Integer offset, String orderby) { } + global static ConnectApi.CdpQueryOutput queryProfileApi(String dataModelName, String filters, String fields, Integer batchSize, Integer offset, String orderby) { } + global static ConnectApi.CdpQueryDataOutput universalIdLookupBySourceId(String entityName, String dataSourceId, String dataSourceObjectId, String sourceRecordId, String dataspace) { } + global static ConnectApi.CdpQueryDataOutput universalIdLookupBySourceId(String entityName, String dataSourceId, String dataSourceObjectId, String sourceRecordId) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryDataOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryDataOutput.cls new file mode 100644 index 0000000..464cf72 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryDataOutput.cls @@ -0,0 +1,10 @@ +global class CdpQueryDataOutput { + global List data; + global CdpQueryDataOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryInput.cls new file mode 100644 index 0000000..79760d8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryInput.cls @@ -0,0 +1,9 @@ +global class CdpQueryInput { + global String sql; + global CdpQueryInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryMetadataItem.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryMetadataItem.cls new file mode 100644 index 0000000..95b9dc0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryMetadataItem.cls @@ -0,0 +1,12 @@ +global class CdpQueryMetadataItem { + global Integer placeInOrder; + global String type; + global Integer typeCode; + global CdpQueryMetadataItem() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryMetadataOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryMetadataOutput.cls new file mode 100644 index 0000000..4105892 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryMetadataOutput.cls @@ -0,0 +1,10 @@ +global class CdpQueryMetadataOutput { + global List metadata; + global CdpQueryMetadataOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryOutput.cls new file mode 100644 index 0000000..98b4e95 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryOutput.cls @@ -0,0 +1,16 @@ +global class CdpQueryOutput { + global List data; + global Boolean done; + global String endTime; + global Map metadata; + global String queryId; + global Integer rowCount; + global String startTime; + global CdpQueryOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryOutputV2.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryOutputV2.cls new file mode 100644 index 0000000..859db22 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryOutputV2.cls @@ -0,0 +1,18 @@ +global class CdpQueryOutputV2 { + global List data; + global String dataspace; + global Boolean done; + global String endTime; + global Map metadata; + global String nextBatchId; + global String queryId; + global Integer rowCount; + global String startTime; + global CdpQueryOutputV2() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryV2Row.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryV2Row.cls new file mode 100644 index 0000000..1594161 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpQueryV2Row.cls @@ -0,0 +1,10 @@ +global class CdpQueryV2Row { + global List rowData; + global CdpQueryV2Row() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpScheduleFrequencyTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpScheduleFrequencyTypeEnum.cls new file mode 100644 index 0000000..b515f00 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpScheduleFrequencyTypeEnum.cls @@ -0,0 +1,6 @@ +global enum CdpScheduleFrequencyTypeEnum { +MONTHLY, +MONTHLYRELATIVE, +NONE, +WEEKLY +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegment.cls new file mode 100644 index 0000000..2da73bc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegment.cls @@ -0,0 +1,11 @@ +global class CdpSegment { + global Object clone() { } + global static ConnectApi.CdpSegmentOutput createSegment(ConnectApi.CdpSegmentInput input) { } + global static void deleteSegment(String segmentApiName) { } + global static ConnectApi.CdpSegmentActionOutput executePublishAdhoc(String segmentId) { } + global static ConnectApi.CdpSegmentContainerOutput getSegment(String segmentApiName) { } + global static ConnectApi.CdpSegmentContainerOutput getSegments() { } + global static ConnectApi.CdpSegmentContainerOutput getSegmentsPaginated(Integer batchSize, Integer offset, String orderBy) { } + global static ConnectApi.CdpSegmentOutput updateSegment(String segmentApiName, ConnectApi.CdpSegmentInput input) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentActionOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentActionOutput.cls new file mode 100644 index 0000000..ffc259e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentActionOutput.cls @@ -0,0 +1,15 @@ +global class CdpSegmentActionOutput { + global String errorCode; + global String errorMessage; + global String jobId; + global String partitionId; + global String publishStatus; + global String segmentId; + global CdpSegmentActionOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentContainerOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentContainerOutput.cls new file mode 100644 index 0000000..180f6fc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentContainerOutput.cls @@ -0,0 +1,13 @@ +global class CdpSegmentContainerOutput { + global Integer batchSize; + global Integer offset; + global String orderByExpression; + global List segments; + global CdpSegmentContainerOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentDbtInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentDbtInput.cls new file mode 100644 index 0000000..4dc79d0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentDbtInput.cls @@ -0,0 +1,9 @@ +global class CdpSegmentDbtInput { + global List models; + global CdpSegmentDbtInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentDbtModel.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentDbtModel.cls new file mode 100644 index 0000000..e02e49e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentDbtModel.cls @@ -0,0 +1,11 @@ +global class CdpSegmentDbtModel { + global String name; + global String sql; + global CdpSegmentDbtModel() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentDbtModelInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentDbtModelInput.cls new file mode 100644 index 0000000..d4f4400 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentDbtModelInput.cls @@ -0,0 +1,10 @@ +global class CdpSegmentDbtModelInput { + global String name; + global String sql; + global CdpSegmentDbtModelInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentDbtPipeline.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentDbtPipeline.cls new file mode 100644 index 0000000..1bbc888 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentDbtPipeline.cls @@ -0,0 +1,10 @@ +global class CdpSegmentDbtPipeline { + global List models; + global CdpSegmentDbtPipeline() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentInput.cls new file mode 100644 index 0000000..8a15a94 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentInput.cls @@ -0,0 +1,20 @@ +global class CdpSegmentInput { + global Map additionalMetadata; + global String dataSpace; + global String description; + global String developerName; + global String displayName; + global ConnectApi.CdpSegmentDbtInput includeDbt; + global ConnectApi.CdpSegmentLookalikeInput lookalikeCriteria; + global ConnectApi.PublishSchedule publishSchedule; + global String publishScheduleEndDate; + global String publishScheduleStartDateTime; + global String segmentOnApiName; + global ConnectApi.SegmentType segmentType; + global CdpSegmentInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentInputValidator.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentInputValidator.cls new file mode 100644 index 0000000..abb6ddf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentInputValidator.cls @@ -0,0 +1,3 @@ +global class CdpSegmentInputValidator { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentLookalike.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentLookalike.cls new file mode 100644 index 0000000..e1fbe9b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentLookalike.cls @@ -0,0 +1,11 @@ +global class CdpSegmentLookalike { + global Long additionalPopulation; + global String seedSegmentId; + global CdpSegmentLookalike() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentLookalikeInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentLookalikeInput.cls new file mode 100644 index 0000000..e6b766a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentLookalikeInput.cls @@ -0,0 +1,10 @@ +global class CdpSegmentLookalikeInput { + global Long additionalPopulation; + global String seedSegmentName; + global CdpSegmentLookalikeInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentMemberOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentMemberOutput.cls new file mode 100644 index 0000000..53ce968 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentMemberOutput.cls @@ -0,0 +1,3 @@ +global class CdpSegmentMemberOutput { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentMemberOutputValidator.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentMemberOutputValidator.cls new file mode 100644 index 0000000..bdd80cd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentMemberOutputValidator.cls @@ -0,0 +1,3 @@ +global class CdpSegmentMemberOutputValidator { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentMemberRowOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentMemberRowOutput.cls new file mode 100644 index 0000000..65bfdf4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentMemberRowOutput.cls @@ -0,0 +1,15 @@ +global class CdpSegmentMemberRowOutput { + global String deltaType; + global String id; + global String kqId; + global String snapshotType; + global String timestamp; + global String versionStamp; + global CdpSegmentMemberRowOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentMembershipTableOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentMembershipTableOutput.cls new file mode 100644 index 0000000..1d70df1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentMembershipTableOutput.cls @@ -0,0 +1,12 @@ +global class CdpSegmentMembershipTableOutput { + global String historyTable; + global String latestTable; + global String profileTable; + global CdpSegmentMembershipTableOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentOutput.cls new file mode 100644 index 0000000..1026d0b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSegmentOutput.cls @@ -0,0 +1,31 @@ +global class CdpSegmentOutput { + global String apiName; + global String dataSpace; + global String description; + global String developerName; + global String displayName; + global String excludeCriteria; + global String includeCriteria; + global ConnectApi.CdpSegmentDbtPipeline includeDbt; + global ConnectApi.CdpSegmentLookalike lookalikeCriteria; + global String marketSegmentDefinitionId; + global String marketSegmentId; + global String nextPublishDateTime; + global String publishInterval; + global String publishScheduleEndDate; + global String publishScheduleStartDateTime; + global String publishStatus; + global ConnectApi.CdpSegmentMembershipTableOutput segmentMembershipDmo; + global String segmentMembershipTable; + global String segmentOnApiName; + global String segmentOnId; + global String segmentStatus; + global String segmentType; + global CdpSegmentOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSourceSubscriptionModeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSourceSubscriptionModeEnum.cls new file mode 100644 index 0000000..72a6e40 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpSourceSubscriptionModeEnum.cls @@ -0,0 +1,3 @@ +global class CdpSourceSubscriptionModeEnum { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpUser.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpUser.cls new file mode 100644 index 0000000..66f60ca --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CdpUser.cls @@ -0,0 +1,12 @@ +global class CdpUser { + global String id; + global String name; + global String profilePhotoUrl; + global CdpUser() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChangeInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChangeInputRepresentation.cls new file mode 100644 index 0000000..b7af563 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChangeInputRepresentation.cls @@ -0,0 +1,9 @@ +global class ChangeInputRepresentation { + global List changeItems; + global ChangeInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChangeItemFeeInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChangeItemFeeInputRepresentation.cls new file mode 100644 index 0000000..8faf17c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChangeItemFeeInputRepresentation.cls @@ -0,0 +1,14 @@ +global class ChangeItemFeeInputRepresentation { + global Double amount; + global String amountType; + global String description; + global String priceBookEntryId; + global String product2Id; + global String reason; + global ChangeItemFeeInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChangeItemInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChangeItemInputRepresentation.cls new file mode 100644 index 0000000..a22a6ae --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChangeItemInputRepresentation.cls @@ -0,0 +1,13 @@ +global class ChangeItemInputRepresentation { + global List changeItemFees; + global String orderItemSummaryId; + global Double quantity; + global String reason; + global Boolean shippingReductionFlag; + global ChangeItemInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChangeItemOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChangeItemOutputRepresentation.cls new file mode 100644 index 0000000..426737f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChangeItemOutputRepresentation.cls @@ -0,0 +1,26 @@ +global class ChangeItemOutputRepresentation { + global Double grandTotalAmount; + global Double totalAdjDeliveryAmtWithTax; + global Double totalAdjDistAmountWithTax; + global Double totalAdjProductAmtWithTax; + global Double totalAdjustedDeliveryAmount; + global Double totalAdjustedDeliveryTaxAmount; + global Double totalAdjustedProductAmount; + global Double totalAdjustedProductTaxAmount; + global Double totalAdjustmentDistributedAmount; + global Double totalAdjustmentDistributedTaxAmount; + global Double totalAmount; + global Double totalExcessFundsAmount; + global Double totalFeeAmount; + global Double totalFeeTaxAmount; + global Double totalRefundableAmount; + global Double totalRequiredFundsAmount; + global Double totalTaxAmount; + global ChangeItemOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChangeOrdersInvoiceOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChangeOrdersInvoiceOutputRepresentation.cls new file mode 100644 index 0000000..f1b1454 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChangeOrdersInvoiceOutputRepresentation.cls @@ -0,0 +1,9 @@ +global class ChangeOrdersInvoiceOutputRepresentation { + global ChangeOrdersInvoiceOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Chatter.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Chatter.cls new file mode 100644 index 0000000..772e2b7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Chatter.cls @@ -0,0 +1,9 @@ +global class Chatter { + global Object clone() { } + global static void deleteSubscription(String communityId, String subscriptionId) { } + global static ConnectApi.FollowerPage getFollowers(String communityId, String recordId, Integer pageParam, Integer pageSize) { } + global static ConnectApi.FollowerPage getFollowers(String communityId, String recordId) { } + global static ConnectApi.Subscription getSubscription(String communityId, String subscriptionId) { } + global static ConnectApi.DigestJobRepresentation submitDigestJob(ConnectApi.DigestPeriod period) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterActivity.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterActivity.cls new file mode 100644 index 0000000..dbdba42 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterActivity.cls @@ -0,0 +1,13 @@ +global class ChatterActivity { + global Integer commentCount; + global Integer commentReceivedCount; + global Integer likeReceivedCount; + global Integer postCount; + global ChatterActivity() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterActivitySummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterActivitySummary.cls new file mode 100644 index 0000000..278d2fc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterActivitySummary.cls @@ -0,0 +1,13 @@ +global class ChatterActivitySummary { + global Integer commentCount; + global Integer commentReceivedCount; + global Integer likeReceivedCount; + global Integer postCount; + global ChatterActivitySummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterConversation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterConversation.cls new file mode 100644 index 0000000..9788569 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterConversation.cls @@ -0,0 +1,14 @@ +global class ChatterConversation { + global String conversationId; + global String conversationUrl; + global List members; + global ConnectApi.ChatterMessagePage messages; + global Boolean read; + global ChatterConversation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterConversationPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterConversationPage.cls new file mode 100644 index 0000000..84d0897 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterConversationPage.cls @@ -0,0 +1,14 @@ +global class ChatterConversationPage { + global List conversations; + global String currentPageToken; + global String currentPageUrl; + global String nextPageToken; + global String nextPageUrl; + global ChatterConversationPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterConversationSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterConversationSummary.cls new file mode 100644 index 0000000..1cbe11e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterConversationSummary.cls @@ -0,0 +1,14 @@ +global class ChatterConversationSummary { + global String id; + global ConnectApi.ChatterMessage latestMessage; + global List members; + global Boolean read; + global String url; + global ChatterConversationSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterFavorites.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterFavorites.cls new file mode 100644 index 0000000..864264e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterFavorites.cls @@ -0,0 +1,22 @@ +global class ChatterFavorites { + global static ConnectApi.FeedFavorite addFavorite(String communityId, String subjectId, String searchText) { } + global static ConnectApi.FeedFavorite addRecordFavorite(String communityId, String subjectId, String targetId) { } + global Object clone() { } + global static void deleteFavorite(String communityId, String subjectId, String favoriteId) { } + global static ConnectApi.FeedFavorite getFavorite(String communityId, String subjectId, String favoriteId) { } + global static ConnectApi.FeedFavorites getFavorites(String communityId, String subjectId) { } + global static ConnectApi.FeedElementPage getFeedElements(String communityId, String subjectId, String favoriteId, Integer recentCommentCount, Integer elementsPerBundle, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam) { } + global static ConnectApi.FeedElementPage getFeedElements(String communityId, String subjectId, String favoriteId, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam) { } + global static ConnectApi.FeedElementPage getFeedElements(String communityId, String subjectId, String favoriteId) { } + global static ConnectApi.FeedItemPage getFeedItems(String communityId, String subjectId, String favoriteId, Integer recentCommentCount, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam) { } + global static ConnectApi.FeedItemPage getFeedItems(String communityId, String subjectId, String favoriteId, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam) { } + global static ConnectApi.FeedItemPage getFeedItems(String communityId, String subjectId, String favoriteId) { } + global static void setTestGetFeedElements(String communityId, String subjectId, String favoriteId, Integer recentCommentCount, Integer elementsPerBundle, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElements(String communityId, String subjectId, String favoriteId, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElements(String communityId, String subjectId, String favoriteId, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedItems(String communityId, String subjectId, String favoriteId, Integer recentCommentCount, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedItemPage result) { } + global static void setTestGetFeedItems(String communityId, String subjectId, String favoriteId, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedItemPage result) { } + global static void setTestGetFeedItems(String communityId, String subjectId, String favoriteId, ConnectApi.FeedItemPage result) { } + global static ConnectApi.FeedFavorite updateFavorite(String communityId, String subjectId, String favoriteId, Boolean updateLastViewDate) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterFeeds.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterFeeds.cls new file mode 100644 index 0000000..ab8133d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterFeeds.cls @@ -0,0 +1,306 @@ +global class ChatterFeeds { + global Object clone() { } + global static ConnectApi.ChatterStream createStream(String communityId, ConnectApi.ChatterStreamInput streamInput) { } + global static void deleteComment(String communityId, String commentId) { } + global static void deleteFeedElement(String communityId, String feedElementId) { } + global static void deleteFeedItem(String communityId, String feedItemId) { } + global static void deleteLike(String communityId, String likeId) { } + global static void deleteStream(String communityId, String streamId) { } + global static ConnectApi.Comment getComment(String communityId, String commentId) { } + global static List getCommentBatch(String communityId, List commentIds) { } + global static ConnectApi.FeedElement getCommentInContext(String communityId, String commentId, Integer pageSize) { } + global static ConnectApi.CommentPage getCommentsForFeedElement(String communityId, String feedElementId, String pageParam, Integer pageSize, Boolean threadedCommentsCollapsed, ConnectApi.FeedCommentSortOrder sortParam) { } + global static ConnectApi.CommentPage getCommentsForFeedElement(String communityId, String feedElementId, String pageParam, Integer pageSize, Boolean threadedCommentsCollapsed) { } + global static ConnectApi.CommentPage getCommentsForFeedElement(String communityId, String feedElementId, Boolean threadedCommentsCollapsed, ConnectApi.FeedCommentSortOrder sortParam) { } + global static ConnectApi.CommentsCapability getCommentsForFeedElement(String communityId, String feedElementId, ConnectApi.FeedCommentSortOrder sortParam, Boolean threadedCommentsCollapsed) { } + global static ConnectApi.CommentPage getCommentsForFeedElement(String communityId, String feedElementId, String pageParam, Integer pageSize) { } + global static ConnectApi.CommentPage getCommentsForFeedElement(String communityId, String feedElementId, Boolean threadedCommentsCollapsed) { } + global static ConnectApi.CommentsCapability getCommentsForFeedElement(String communityId, String feedElementId, ConnectApi.FeedCommentSortOrder sortParam) { } + global static ConnectApi.CommentPage getCommentsForFeedElement(String communityId, String feedElementId) { } + global static ConnectApi.CommentPage getCommentsForFeedItem(String communityId, String feedItemId, String pageParam, Integer pageSize) { } + global static ConnectApi.CommentPage getCommentsForFeedItem(String communityId, String feedItemId) { } + global static ConnectApi.ExtensionDefinitions getExtensions(String communityId, String pageParam, Integer pageSize) { } + global static ConnectApi.Feed getFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, ConnectApi.FeedSortOrder sortParam) { } + global static ConnectApi.Feed getFeed(String communityId, ConnectApi.FeedType feedType, ConnectApi.FeedSortOrder sortParam) { } + global static ConnectApi.Feed getFeed(String communityId, ConnectApi.FeedType feedType, String subjectId) { } + global static ConnectApi.Feed getFeed(String communityId, ConnectApi.FeedType feedType) { } + global static ConnectApi.FeedDirectory getFeedDirectory(String communityId) { } + global static ConnectApi.FeedElement getFeedElement(String communityId, String feedElementId, Integer recentCommentCount, Integer elementsPerBundle, Boolean threadedCommentsCollapsed, ConnectApi.FeedCommentSortOrder commentSort) { } + global static ConnectApi.FeedElement getFeedElement(String communityId, String feedElementId, Integer recentCommentCount, Integer elementsPerBundle, Boolean threadedCommentsCollapsed) { } + global static ConnectApi.FeedElement getFeedElement(String communityId, String feedElementId, Integer recentCommentCount, Integer elementsPerBundle, ConnectApi.FeedCommentSortOrder commentSort) { } + global static ConnectApi.FeedElement getFeedElement(String communityId, String feedElementId, Boolean threadedCommentsCollapsed, ConnectApi.FeedCommentSortOrder commentSort) { } + global static ConnectApi.FeedElement getFeedElement(String communityId, String feedElementId, Integer recentCommentCount, Integer elementsPerBundle) { } + global static ConnectApi.FeedElement getFeedElement(String communityId, String feedElementId, Boolean threadedCommentsCollapsed) { } + global static ConnectApi.FeedElement getFeedElement(String communityId, String feedElementId, ConnectApi.FeedCommentSortOrder commentSort) { } + global static ConnectApi.FeedElement getFeedElement(String communityId, String feedElementId) { } + global static List getFeedElementBatch(String communityId, List feedElementIds) { } + global static ConnectApi.PollCapability getFeedElementPoll(String communityId, String feedElementId) { } + global static ConnectApi.FeedElementPage getFeedElementsFromBundle(String communityId, String feedElementId, String pageParam, Integer pageSize, Integer elementsPerBundle, Integer recentCommentCount) { } + global static ConnectApi.FeedElementPage getFeedElementsFromBundle(String communityId, String feedElementId) { } + global static ConnectApi.FeedElementPage getFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, Integer elementsPerBundle, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, Boolean showInternalOnly, ConnectApi.FeedFilter filter, Boolean threadedCommentsCollapsed) { } + global static ConnectApi.FeedElementPage getFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, Integer elementsPerBundle, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, Boolean showInternalOnly, String customFilter, Boolean threadedCommentsCollapsed) { } + global static ConnectApi.FeedElementPage getFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, Integer elementsPerBundle, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, Boolean showInternalOnly, ConnectApi.FeedFilter filter) { } + global static ConnectApi.FeedElementPage getFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, Integer elementsPerBundle, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, Boolean showInternalOnly, String customFilter) { } + global static ConnectApi.FeedElementPage getFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedFilter filter, Boolean threadedCommentsCollapsed) { } + global static ConnectApi.FeedElementPage getFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, Integer elementsPerBundle, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, Boolean showInternalOnly) { } + global static ConnectApi.FeedElementPage getFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedFilter filter, Boolean threadedCommentsCollapsed) { } + global static ConnectApi.FeedElementPage getFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, Boolean showInternalOnly) { } + global static ConnectApi.FeedElementPage getFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedFilter filter) { } + global static ConnectApi.FeedElementPage getFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String customFilter) { } + global static ConnectApi.FeedElementPage getFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedFilter filter) { } + global static ConnectApi.FeedElementPage getFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String customFilter) { } + global static ConnectApi.FeedElementPage getFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam) { } + global static ConnectApi.FeedElementPage getFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam) { } + global static ConnectApi.FeedElementPage getFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam) { } + global static ConnectApi.FeedElementPage getFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam) { } + global static ConnectApi.FeedElementPage getFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId) { } + global static ConnectApi.FeedElementPage getFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType) { } + global static ConnectApi.FeedElementPage getFeedElementsFromFilterFeed(String communityId, String subjectId, String keyPrefix, Integer recentCommentCount, Integer elementsPerBundle, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam) { } + global static ConnectApi.FeedElementPage getFeedElementsFromFilterFeed(String communityId, String subjectId, String keyPrefix, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam) { } + global static ConnectApi.FeedElementPage getFeedElementsFromFilterFeed(String communityId, String subjectId, String keyPrefix) { } + global static ConnectApi.FeedElementPage getFeedElementsFromFilterFeedUpdatedSince(String communityId, String subjectId, String keyPrefix, Integer recentCommentCount, Integer elementsPerBundle, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince) { } + global static ConnectApi.FeedElementPage getFeedElementsUpdatedSince(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, Integer elementsPerBundle, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince, Boolean showInternalOnly, ConnectApi.FeedFilter filter) { } + global static ConnectApi.FeedElementPage getFeedElementsUpdatedSince(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, Integer elementsPerBundle, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince, Boolean showInternalOnly, String customFilter) { } + global static ConnectApi.FeedElementPage getFeedElementsUpdatedSince(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, Integer elementsPerBundle, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince, Boolean showInternalOnly) { } + global static ConnectApi.FeedElementPage getFeedElementsUpdatedSince(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, Integer elementsPerBundle, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince, ConnectApi.FeedFilter filter) { } + global static ConnectApi.FeedElementPage getFeedElementsUpdatedSince(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, Integer elementsPerBundle, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince, String customFilter) { } + global static ConnectApi.FeedElementPage getFeedElementsUpdatedSince(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince, Boolean showInternalOnly) { } + global static ConnectApi.FeedElementPage getFeedElementsUpdatedSince(String communityId, ConnectApi.FeedType feedType, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince, ConnectApi.FeedFilter filter) { } + global static ConnectApi.FeedElementPage getFeedElementsUpdatedSince(String communityId, ConnectApi.FeedType feedType, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince, String customFilter) { } + global static ConnectApi.FeedElementPage getFeedElementsUpdatedSince(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince) { } + global static ConnectApi.FeedElementPage getFeedElementsUpdatedSince(String communityId, ConnectApi.FeedType feedType, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince) { } + global static ConnectApi.FeedItem getFeedItem(String communityId, String feedItemId) { } + global static List getFeedItemBatch(String communityId, List feedItemIds) { } + global static ConnectApi.FeedItemPage getFeedItemsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, Boolean showInternalOnly) { } + global static ConnectApi.FeedItemPage getFeedItemsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam) { } + global static ConnectApi.FeedItemPage getFeedItemsFromFeed(String communityId, ConnectApi.FeedType feedType, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam) { } + global static ConnectApi.FeedItemPage getFeedItemsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam) { } + global static ConnectApi.FeedItemPage getFeedItemsFromFeed(String communityId, ConnectApi.FeedType feedType, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam) { } + global static ConnectApi.FeedItemPage getFeedItemsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId) { } + global static ConnectApi.FeedItemPage getFeedItemsFromFeed(String communityId, ConnectApi.FeedType feedType) { } + global static ConnectApi.FeedItemPage getFeedItemsFromFilterFeed(String communityId, String subjectId, String keyPrefix, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam) { } + global static ConnectApi.FeedItemPage getFeedItemsFromFilterFeed(String communityId, String subjectId, String keyPrefix, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam) { } + global static ConnectApi.FeedItemPage getFeedItemsFromFilterFeed(String communityId, String subjectId, String keyPrefix) { } + global static ConnectApi.FeedItemPage getFeedItemsFromFilterFeedUpdatedSince(String communityId, String subjectId, String keyPrefix, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince) { } + global static ConnectApi.FeedItemPage getFeedItemsUpdatedSince(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince, Boolean showInternalOnly) { } + global static ConnectApi.FeedItemPage getFeedItemsUpdatedSince(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince) { } + global static ConnectApi.FeedItemPage getFeedItemsUpdatedSince(String communityId, ConnectApi.FeedType feedType, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince) { } + global static ConnectApi.FeedPoll getFeedPoll(String communityId, String feedItemId) { } + global static ConnectApi.Feed getFeedWithFeedElements(String communityId, ConnectApi.FeedType feedType, Integer pageSize, Integer recentCommentCount) { } + global static ConnectApi.Feed getFeedWithFeedElements(String communityId, ConnectApi.FeedType feedType, Integer pageSize) { } + global static ConnectApi.Feed getFilterFeed(String communityId, String subjectId, String keyPrefix, ConnectApi.FeedSortOrder sortParam) { } + global static ConnectApi.Feed getFilterFeed(String communityId, String subjectId, String keyPrefix) { } + global static ConnectApi.FeedDirectory getFilterFeedDirectory(String communityId, String subjectId) { } + global static ConnectApi.ChatterLike getLike(String communityId, String likeId) { } + global static ConnectApi.ChatterLikePage getLikesForComment(String communityId, String commentId, Integer pageParam, Integer pageSize) { } + global static ConnectApi.ChatterLikePage getLikesForComment(String communityId, String commentId) { } + global static ConnectApi.ChatterLikePage getLikesForFeedElement(String communityId, String feedElementId, Integer pageParam, Integer pageSize) { } + global static ConnectApi.ChatterLikePage getLikesForFeedElement(String communityId, String feedElementId) { } + global static ConnectApi.ChatterLikePage getLikesForFeedItem(String communityId, String feedItemId, Integer pageParam, Integer pageSize) { } + global static ConnectApi.ChatterLikePage getLikesForFeedItem(String communityId, String feedItemId) { } + global static ConnectApi.LinkMetadataCollection getLinkMetadata(String communityId, String urls) { } + global static ConnectApi.PinnedFeedElements getPinnedFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId) { } + global static ConnectApi.ReadByPage getReadByForFeedElement(String communityId, String feedElementId, String pageParam, Integer pageSize) { } + global static ConnectApi.ReadByPage getReadByForFeedElement(String communityId, String feedElementId) { } + global static ConnectApi.RelatedFeedPosts getRelatedPosts(String communityId, String feedElementId, ConnectApi.RelatedFeedPostType filter, Integer maxResults) { } + global static ConnectApi.ChatterStream getStream(String communityId, String streamId, Boolean globalScope) { } + global static ConnectApi.ChatterStream getStream(String communityId, String streamId) { } + global static ConnectApi.ChatterStreamPage getStreams(String communityId, Integer pageParam, Integer pageSize, ConnectApi.SortOrder sortParam, Boolean globalScope) { } + global static ConnectApi.ChatterStreamPage getStreams(String communityId, Integer pageParam, Integer pageSize, ConnectApi.SortOrder sortParam) { } + global static ConnectApi.ChatterStreamPage getStreams(String communityId, Integer pageParam, Integer pageSize) { } + global static ConnectApi.ChatterStreamPage getStreams(String communityId, ConnectApi.SortOrder sortParam) { } + global static ConnectApi.ChatterStreamPage getStreams(String communityId) { } + global static ConnectApi.SupportedEmojis getSupportedEmojis() { } + global static ConnectApi.CommentPage getThreadsForFeedComment(String communityId, String commentId, String pageParam, Integer pageSize) { } + global static ConnectApi.CommentsCapability getThreadsForFeedComment(String communityId, String commentId, Boolean threadedCommentsCollapsed) { } + global static ConnectApi.CommentPage getThreadsForFeedComment(String communityId, String commentId) { } + global static ConnectApi.FeedElementPage getTopUnansweredQuestions(String communityId, ConnectApi.FeedFilter filter, Integer pageSize) { } + global static ConnectApi.FeedElementPage getTopUnansweredQuestions(String communityId, ConnectApi.FeedFilter filter) { } + global static ConnectApi.FeedElementPage getTopUnansweredQuestions(String communityId, Integer pageSize) { } + global static ConnectApi.FeedElementPage getTopUnansweredQuestions(String communityId) { } + global static ConnectApi.VotePage getVotesForComment(String communityId, String commentId, ConnectApi.UpDownVoteValue vote, Integer pageParam, Integer pageSize) { } + global static ConnectApi.VotePage getVotesForComment(String communityId, String commentId, ConnectApi.UpDownVoteValue vote) { } + global static ConnectApi.VotePage getVotesForFeedElement(String communityId, String feedElementId, ConnectApi.UpDownVoteValue vote, Integer pageParam, Integer pageSize) { } + global static ConnectApi.VotePage getVotesForFeedElement(String communityId, String feedElementId, ConnectApi.UpDownVoteValue vote) { } + global static ConnectApi.FeedEntityIsEditable isCommentEditableByMe(String communityId, String commentId) { } + global static ConnectApi.FeedEntityIsEditable isFeedElementEditableByMe(String communityId, String feedElementId) { } + global static ConnectApi.FeedModifiedInfo isModified(String communityId, ConnectApi.FeedType feedType, String subjectId, String since) { } + global static ConnectApi.ChatterLike likeComment(String communityId, String commentId) { } + global static ConnectApi.ChatterLike likeFeedElement(String communityId, String feedElementId) { } + global static ConnectApi.ChatterLike likeFeedItem(String communityId, String feedItemId) { } + global static ConnectApi.Comment postComment(String communityId, String feedItemId, ConnectApi.CommentInput comment, ConnectApi.BinaryInput feedItemFileUpload) { } + global static ConnectApi.Comment postComment(String communityId, String feedItemId, String text) { } + global static ConnectApi.Comment postCommentToFeedElement(String communityId, String feedElementId, ConnectApi.CommentInput comment, ConnectApi.BinaryInput feedElementFileUpload) { } + global static ConnectApi.Comment postCommentToFeedElement(String communityId, String feedElementId, String text) { } + global static ConnectApi.FeedElement postFeedElement(String communityId, String subjectId, ConnectApi.FeedElementType feedElementType, String text) { } + global static ConnectApi.FeedElement postFeedElement(String communityId, ConnectApi.FeedElementInput feedElement, ConnectApi.BinaryInput feedElementFileUpload) { } + global static ConnectApi.FeedElement postFeedElement(String communityId, ConnectApi.FeedElementInput feedElement) { } + global static List postFeedElementBatch(String communityId, List feedElements) { } + global static ConnectApi.FeedItem postFeedItem(String communityId, ConnectApi.FeedType feedType, String subjectId, ConnectApi.FeedItemInput feedItem, ConnectApi.BinaryInput feedItemFileUpload) { } + global static ConnectApi.FeedItem postFeedItem(String communityId, ConnectApi.FeedType feedType, String subjectId, String text) { } + global static ConnectApi.FeedElement publishDraftFeedElement(String communityId, String feedElementId, ConnectApi.FeedElementInput feedElement) { } + global static ConnectApi.FeedElementPage searchFeedElements(String communityId, String q, Integer recentCommentCount, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam) { } + global static ConnectApi.FeedElementPage searchFeedElements(String communityId, String q, String pageParam, Integer pageSize, Boolean threadedCommentsCollapsed) { } + global static ConnectApi.FeedElementPage searchFeedElements(String communityId, String q, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam) { } + global static ConnectApi.FeedElementPage searchFeedElements(String communityId, String q, String pageParam, Integer pageSize) { } + global static ConnectApi.FeedElementPage searchFeedElements(String communityId, String q, Boolean threadedCommentsCollapsed) { } + global static ConnectApi.FeedElementPage searchFeedElements(String communityId, String q, ConnectApi.FeedSortOrder sortParam) { } + global static ConnectApi.FeedElementPage searchFeedElements(String communityId, String q) { } + global static ConnectApi.FeedElementPage searchFeedElementsInFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, Boolean showInternalOnly, ConnectApi.FeedFilter filter) { } + global static ConnectApi.FeedElementPage searchFeedElementsInFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, Boolean showInternalOnly, String customFilter) { } + global static ConnectApi.FeedElementPage searchFeedElementsInFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, Boolean showInternalOnly) { } + global static ConnectApi.FeedElementPage searchFeedElementsInFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, ConnectApi.FeedFilter filter) { } + global static ConnectApi.FeedElementPage searchFeedElementsInFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, String customFilter) { } + global static ConnectApi.FeedElementPage searchFeedElementsInFeed(String communityId, ConnectApi.FeedType feedType, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, ConnectApi.FeedFilter filter) { } + global static ConnectApi.FeedElementPage searchFeedElementsInFeed(String communityId, ConnectApi.FeedType feedType, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, String customFilter) { } + global static ConnectApi.FeedElementPage searchFeedElementsInFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q) { } + global static ConnectApi.FeedElementPage searchFeedElementsInFeed(String communityId, ConnectApi.FeedType feedType, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q) { } + global static ConnectApi.FeedElementPage searchFeedElementsInFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q) { } + global static ConnectApi.FeedElementPage searchFeedElementsInFeed(String communityId, ConnectApi.FeedType feedType, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q) { } + global static ConnectApi.FeedElementPage searchFeedElementsInFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, String q) { } + global static ConnectApi.FeedElementPage searchFeedElementsInFeed(String communityId, ConnectApi.FeedType feedType, String q) { } + global static ConnectApi.FeedElementPage searchFeedElementsInFilterFeed(String communityId, String subjectId, String keyPrefix, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q) { } + global static ConnectApi.FeedElementPage searchFeedElementsInFilterFeed(String communityId, String subjectId, String keyPrefix, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q) { } + global static ConnectApi.FeedElementPage searchFeedElementsInFilterFeed(String communityId, String subjectId, String keyPrefix, String q) { } + global static ConnectApi.FeedItemPage searchFeedItems(String communityId, String q, Integer recentCommentCount, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam) { } + global static ConnectApi.FeedItemPage searchFeedItems(String communityId, String q, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam) { } + global static ConnectApi.FeedItemPage searchFeedItems(String communityId, String q, String pageParam, Integer pageSize) { } + global static ConnectApi.FeedItemPage searchFeedItems(String communityId, String q, ConnectApi.FeedSortOrder sortParam) { } + global static ConnectApi.FeedItemPage searchFeedItems(String communityId, String q) { } + global static ConnectApi.FeedItemPage searchFeedItemsInFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, Boolean showInternalOnly) { } + global static ConnectApi.FeedItemPage searchFeedItemsInFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q) { } + global static ConnectApi.FeedItemPage searchFeedItemsInFeed(String communityId, ConnectApi.FeedType feedType, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q) { } + global static ConnectApi.FeedItemPage searchFeedItemsInFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q) { } + global static ConnectApi.FeedItemPage searchFeedItemsInFeed(String communityId, ConnectApi.FeedType feedType, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q) { } + global static ConnectApi.FeedItemPage searchFeedItemsInFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, String q) { } + global static ConnectApi.FeedItemPage searchFeedItemsInFeed(String communityId, ConnectApi.FeedType feedType, String q) { } + global static ConnectApi.FeedItemPage searchFeedItemsInFilterFeed(String communityId, String subjectId, String keyPrefix, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q) { } + global static ConnectApi.FeedItemPage searchFeedItemsInFilterFeed(String communityId, String subjectId, String keyPrefix, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q) { } + global static ConnectApi.FeedItemPage searchFeedItemsInFilterFeed(String communityId, String subjectId, String keyPrefix, String q) { } + global static ConnectApi.ChatterStreamPage searchStreams(String communityId, String q, Integer pageParam, Integer pageSize, ConnectApi.SortOrder sortParam, Boolean globalScope) { } + global static ConnectApi.ChatterStreamPage searchStreams(String communityId, String q, Integer pageParam, Integer pageSize, ConnectApi.SortOrder sortParam) { } + global static ConnectApi.ChatterStreamPage searchStreams(String communityId, String q, Integer pageParam, Integer pageSize) { } + global static ConnectApi.ChatterStreamPage searchStreams(String communityId, String q, ConnectApi.SortOrder sortParam) { } + global static ConnectApi.ChatterStreamPage searchStreams(String communityId, String q) { } + global static ConnectApi.VerifiedCapability setCommentIsVerified(String communityId, String commentId, Boolean isVerified) { } + global static ConnectApi.VerifiedCapability setCommentIsVerifiedByAnonymized(String communityId, String commentId, Boolean isVerified, Boolean isVerifiedByAnonymized) { } + global static ConnectApi.UpDownVoteCapability setCommentVote(String communityId, String commentId, ConnectApi.UpDownVoteCapabilityInput upDownVote) { } + global static ConnectApi.StatusCapability setFeedCommentStatus(String communityId, String commentId, ConnectApi.StatusCapabilityInput status) { } + global static ConnectApi.CloseCapability setFeedElementIsClosed(String communityId, String feedElementId, Boolean isClosed) { } + global static ConnectApi.UpDownVoteCapability setFeedElementVote(String communityId, String feedElementId, ConnectApi.UpDownVoteCapabilityInput upDownVote) { } + global static ConnectApi.StatusCapability setFeedEntityStatus(String communityId, String feedElementId, ConnectApi.StatusCapabilityInput status) { } + global static ConnectApi.MuteCapability setIsMutedByMe(String communityId, String feedElementId, Boolean isMutedByMe) { } + global static ConnectApi.ReadByCapability setIsReadByMe(String communityId, String feedElementId, Boolean isReadByMe) { } + global static ConnectApi.ReadByCapability setIsReadByMe(String communityId, String feedElementId, ConnectApi.ReadByCapabilityInput readBy) { } + global static void setTestGetFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, Integer elementsPerBundle, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, Boolean showInternalOnly, ConnectApi.FeedFilter filter, Boolean threadedCommentsCollapsed, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, Integer elementsPerBundle, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, Boolean showInternalOnly, String customFilter, Boolean threadedCommentsCollapsed, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, Integer elementsPerBundle, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, Boolean showInternalOnly, ConnectApi.FeedFilter filter, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, Integer elementsPerBundle, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, Boolean showInternalOnly, String customFilter, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedFilter filter, Boolean threadedCommentsCollapsed, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, Integer elementsPerBundle, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, Boolean showInternalOnly, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedFilter filter, Boolean threadedCommentsCollapsed, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, Boolean showInternalOnly, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedFilter filter, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String customFilter, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedFilter filter, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String customFilter, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsFromFeed(String communityId, ConnectApi.FeedType feedType, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsFromFilterFeed(String communityId, String subjectId, String keyPrefix, Integer recentCommentCount, Integer elementsPerBundle, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsFromFilterFeed(String communityId, String subjectId, String keyPrefix, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsFromFilterFeed(String communityId, String subjectId, String keyPrefix, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsFromFilterFeedUpdatedSince(String communityId, String subjectId, String keyPrefix, Integer recentCommentCount, Integer elementsPerBundle, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsUpdatedSince(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, Integer elementsPerBundle, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince, Boolean showInternalOnly, ConnectApi.FeedFilter filter, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsUpdatedSince(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, Integer elementsPerBundle, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince, Boolean showInternalOnly, String customFilter, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsUpdatedSince(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, Integer elementsPerBundle, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince, Boolean showInternalOnly, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsUpdatedSince(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, Integer elementsPerBundle, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince, ConnectApi.FeedFilter filter, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsUpdatedSince(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, Integer elementsPerBundle, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince, String customFilter, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsUpdatedSince(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince, Boolean showInternalOnly, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsUpdatedSince(String communityId, ConnectApi.FeedType feedType, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince, ConnectApi.FeedFilter filter, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsUpdatedSince(String communityId, ConnectApi.FeedType feedType, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince, String customFilter, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsUpdatedSince(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedElementsUpdatedSince(String communityId, ConnectApi.FeedType feedType, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince, ConnectApi.FeedElementPage result) { } + global static void setTestGetFeedItemsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, Boolean showInternalOnly, ConnectApi.FeedItemPage result) { } + global static void setTestGetFeedItemsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedItemPage result) { } + global static void setTestGetFeedItemsFromFeed(String communityId, ConnectApi.FeedType feedType, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedItemPage result) { } + global static void setTestGetFeedItemsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedItemPage result) { } + global static void setTestGetFeedItemsFromFeed(String communityId, ConnectApi.FeedType feedType, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedItemPage result) { } + global static void setTestGetFeedItemsFromFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, ConnectApi.FeedItemPage result) { } + global static void setTestGetFeedItemsFromFeed(String communityId, ConnectApi.FeedType feedType, ConnectApi.FeedItemPage result) { } + global static void setTestGetFeedItemsFromFilterFeed(String communityId, String subjectId, String keyPrefix, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedItemPage result) { } + global static void setTestGetFeedItemsFromFilterFeed(String communityId, String subjectId, String keyPrefix, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedItemPage result) { } + global static void setTestGetFeedItemsFromFilterFeed(String communityId, String subjectId, String keyPrefix, ConnectApi.FeedItemPage result) { } + global static void setTestGetFeedItemsFromFilterFeedUpdatedSince(String communityId, String subjectId, String keyPrefix, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince, ConnectApi.FeedItemPage result) { } + global static void setTestGetFeedItemsUpdatedSince(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince, Boolean showInternalOnly, ConnectApi.FeedItemPage result) { } + global static void setTestGetFeedItemsUpdatedSince(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince, ConnectApi.FeedItemPage result) { } + global static void setTestGetFeedItemsUpdatedSince(String communityId, ConnectApi.FeedType feedType, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, String updatedSince, ConnectApi.FeedItemPage result) { } + global static void setTestGetRelatedPosts(String communityId, String feedElementId, ConnectApi.RelatedFeedPostType filter, Integer maxResults, ConnectApi.RelatedFeedPosts result) { } + global static void setTestGetTopUnansweredQuestions(String communityId, ConnectApi.FeedFilter filter, Integer pageSize, ConnectApi.FeedElementPage result) { } + global static void setTestGetTopUnansweredQuestions(String communityId, ConnectApi.FeedFilter filter, ConnectApi.FeedElementPage result) { } + global static void setTestGetTopUnansweredQuestions(String communityId, Integer pageSize, ConnectApi.FeedElementPage result) { } + global static void setTestGetTopUnansweredQuestions(String communityId, ConnectApi.FeedElementPage result) { } + global static void setTestSearchFeedElements(String communityId, String q, Integer recentCommentCount, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedElementPage result) { } + global static void setTestSearchFeedElements(String communityId, String q, String pageParam, Integer pageSize, Boolean threadedCommentsCollapsed, ConnectApi.FeedElementPage result) { } + global static void setTestSearchFeedElements(String communityId, String q, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedElementPage result) { } + global static void setTestSearchFeedElements(String communityId, String q, String pageParam, Integer pageSize, ConnectApi.FeedElementPage result) { } + global static void setTestSearchFeedElements(String communityId, String q, Boolean threadedCommentsCollapsed, ConnectApi.FeedElementPage result) { } + global static void setTestSearchFeedElements(String communityId, String q, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedElementPage result) { } + global static void setTestSearchFeedElements(String communityId, String q, ConnectApi.FeedElementPage result) { } + global static void setTestSearchFeedElementsInFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, Boolean showInternalOnly, ConnectApi.FeedFilter filter, ConnectApi.FeedElementPage result) { } + global static void setTestSearchFeedElementsInFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, Boolean showInternalOnly, String customFilter, ConnectApi.FeedElementPage result) { } + global static void setTestSearchFeedElementsInFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, Boolean showInternalOnly, ConnectApi.FeedElementPage result) { } + global static void setTestSearchFeedElementsInFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, ConnectApi.FeedFilter filter, ConnectApi.FeedElementPage result) { } + global static void setTestSearchFeedElementsInFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, String customFilter, ConnectApi.FeedElementPage result) { } + global static void setTestSearchFeedElementsInFeed(String communityId, ConnectApi.FeedType feedType, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, ConnectApi.FeedFilter filter, ConnectApi.FeedElementPage result) { } + global static void setTestSearchFeedElementsInFeed(String communityId, ConnectApi.FeedType feedType, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, String customFilter, ConnectApi.FeedElementPage result) { } + global static void setTestSearchFeedElementsInFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, ConnectApi.FeedElementPage result) { } + global static void setTestSearchFeedElementsInFeed(String communityId, ConnectApi.FeedType feedType, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, ConnectApi.FeedElementPage result) { } + global static void setTestSearchFeedElementsInFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, ConnectApi.FeedElementPage result) { } + global static void setTestSearchFeedElementsInFeed(String communityId, ConnectApi.FeedType feedType, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, ConnectApi.FeedElementPage result) { } + global static void setTestSearchFeedElementsInFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, String q, ConnectApi.FeedElementPage result) { } + global static void setTestSearchFeedElementsInFeed(String communityId, ConnectApi.FeedType feedType, String q, ConnectApi.FeedElementPage result) { } + global static void setTestSearchFeedElementsInFilterFeed(String communityId, String subjectId, String keyPrefix, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, ConnectApi.FeedElementPage result) { } + global static void setTestSearchFeedElementsInFilterFeed(String communityId, String subjectId, String keyPrefix, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, ConnectApi.FeedElementPage result) { } + global static void setTestSearchFeedElementsInFilterFeed(String communityId, String subjectId, String keyPrefix, String q, ConnectApi.FeedElementPage result) { } + global static void setTestSearchFeedItems(String communityId, String q, Integer recentCommentCount, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedItemPage result) { } + global static void setTestSearchFeedItems(String communityId, String q, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedItemPage result) { } + global static void setTestSearchFeedItems(String communityId, String q, String pageParam, Integer pageSize, ConnectApi.FeedItemPage result) { } + global static void setTestSearchFeedItems(String communityId, String q, ConnectApi.FeedSortOrder sortParam, ConnectApi.FeedItemPage result) { } + global static void setTestSearchFeedItems(String communityId, String q, ConnectApi.FeedItemPage result) { } + global static void setTestSearchFeedItemsInFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, Boolean showInternalOnly, ConnectApi.FeedItemPage result) { } + global static void setTestSearchFeedItemsInFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, ConnectApi.FeedItemPage result) { } + global static void setTestSearchFeedItemsInFeed(String communityId, ConnectApi.FeedType feedType, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, ConnectApi.FeedItemPage result) { } + global static void setTestSearchFeedItemsInFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, ConnectApi.FeedItemPage result) { } + global static void setTestSearchFeedItemsInFeed(String communityId, ConnectApi.FeedType feedType, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, ConnectApi.FeedItemPage result) { } + global static void setTestSearchFeedItemsInFeed(String communityId, ConnectApi.FeedType feedType, String subjectId, String q, ConnectApi.FeedItemPage result) { } + global static void setTestSearchFeedItemsInFeed(String communityId, ConnectApi.FeedType feedType, String q, ConnectApi.FeedItemPage result) { } + global static void setTestSearchFeedItemsInFilterFeed(String communityId, String subjectId, String keyPrefix, Integer recentCommentCount, ConnectApi.FeedDensity density, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, ConnectApi.FeedItemPage result) { } + global static void setTestSearchFeedItemsInFilterFeed(String communityId, String subjectId, String keyPrefix, String pageParam, Integer pageSize, ConnectApi.FeedSortOrder sortParam, String q, ConnectApi.FeedItemPage result) { } + global static void setTestSearchFeedItemsInFilterFeed(String communityId, String subjectId, String keyPrefix, String q, ConnectApi.FeedItemPage result) { } + global static void setTestSearchStreams(String communityId, String q, Integer pageParam, Integer pageSize, ConnectApi.SortOrder sortParam, Boolean globalScope, ConnectApi.ChatterStreamPage result) { } + global static void setTestSearchStreams(String communityId, String q, Integer pageParam, Integer pageSize, ConnectApi.SortOrder sortParam, ConnectApi.ChatterStreamPage result) { } + global static void setTestSearchStreams(String communityId, String q, Integer pageParam, Integer pageSize, ConnectApi.ChatterStreamPage result) { } + global static void setTestSearchStreams(String communityId, String q, ConnectApi.SortOrder sortParam, ConnectApi.ChatterStreamPage result) { } + global static void setTestSearchStreams(String communityId, String q, ConnectApi.ChatterStreamPage result) { } + global static ConnectApi.FeedElement shareFeedElement(String communityId, String subjectId, ConnectApi.FeedElementType feedElementType, String originalFeedElementId) { } + global static ConnectApi.FeedItem shareFeedItem(String communityId, ConnectApi.FeedType feedType, String subjectId, String originalFeedItemId) { } + global static ConnectApi.FeedItem updateBookmark(String communityId, String feedItemId, Boolean isBookmarkedByCurrentUser) { } + global static ConnectApi.Comment updateComment(String communityId, String commentId, ConnectApi.CommentInput comment) { } + global static ConnectApi.DirectMessageCapability updateDirectMessage(String communityId, String feedElementId, ConnectApi.DirectMessageCapabilityInput directMessage) { } + global static ConnectApi.FeedElement updateFeedElement(String communityId, String feedElementId, ConnectApi.FeedElementInput feedElement) { } + global static ConnectApi.BookmarksCapability updateFeedElementBookmarks(String communityId, String feedElementId, Boolean isBookmarkedByCurrentUser) { } + global static ConnectApi.BookmarksCapability updateFeedElementBookmarks(String communityId, String feedElementId, ConnectApi.BookmarksCapabilityInput bookmarks) { } + global static List updateFeedElementReadByCapabilityBatch(String communityId, List feedElementIds, Boolean isReadByMe) { } + global static List updateFeedElementReadByCapabilityBatch(String communityId, List feedElementIds, ConnectApi.ReadByCapabilityInput readBy) { } + global static ConnectApi.ChatterLikePage updateLikeForComment(String communityId, String commentId, Boolean isLikedByCurrentUser) { } + global static ConnectApi.ChatterLikePage updateLikeForFeedElement(String communityId, String feedElementId, Boolean isLikedByCurrentUser) { } + global static ConnectApi.PinCapability updatePinnedFeedElements(String communityId, ConnectApi.FeedType feedType, String subjectId, ConnectApi.PinCapabilityInput pin) { } + global static ConnectApi.ChatterStream updateStream(String communityId, String streamId, ConnectApi.ChatterStreamInput streamInput) { } + global static ConnectApi.PollCapability voteOnFeedElementPoll(String communityId, String feedElementId, String myChoiceId) { } + global static ConnectApi.FeedPoll voteOnFeedPoll(String communityId, String feedItemId, String myChoiceId) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterGroup.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterGroup.cls new file mode 100644 index 0000000..19eca3b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterGroup.cls @@ -0,0 +1,25 @@ +global class ChatterGroup { + global String additionalLabel; + global ConnectApi.Announcement announcement; + global ConnectApi.BannerPhoto bannerPhoto; + global Boolean canHaveChatterGuests; + global ConnectApi.Reference community; + global String description; + global String emailToChatterAddress; + global Boolean isArchived; + global Boolean isAutoArchiveDisabled; + global Boolean isBroadcast; + global Datetime lastFeedElementPostDate; + global Datetime lastFeedItemPostDate; + global Integer memberCount; + global ConnectApi.GroupMembershipType myRole; + global ConnectApi.UserSummary owner; + global ConnectApi.Photo photo; + global ConnectApi.GroupVisibilityType visibility; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterGroupDetail.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterGroupDetail.cls new file mode 100644 index 0000000..7a0c9a0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterGroupDetail.cls @@ -0,0 +1,12 @@ +global class ChatterGroupDetail { + global Integer fileCount; + global ConnectApi.GroupInformation information; + global Integer pendingRequests; + global ChatterGroupDetail() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterGroupInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterGroupInput.cls new file mode 100644 index 0000000..be333ec --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterGroupInput.cls @@ -0,0 +1,18 @@ +global class ChatterGroupInput { + global String announcement; + global Boolean canHaveChatterGuests; + global String description; + global ConnectApi.GroupInformationInput information; + global Boolean isArchived; + global Boolean isAutoArchiveDisabled; + global Boolean isBroadcast; + global String name; + global String owner; + global ConnectApi.GroupVisibilityType visibility; + global ChatterGroupInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterGroupPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterGroupPage.cls new file mode 100644 index 0000000..8ff3d4e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterGroupPage.cls @@ -0,0 +1,13 @@ +global class ChatterGroupPage { + global String currentPageUrl; + global List groups; + global String nextPageUrl; + global String previousPageUrl; + global ChatterGroupPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterGroupSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterGroupSummary.cls new file mode 100644 index 0000000..b7e3698 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterGroupSummary.cls @@ -0,0 +1,10 @@ +global class ChatterGroupSummary { + global Integer fileCount; + global ChatterGroupSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterGroups.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterGroups.cls new file mode 100644 index 0000000..22e7cf2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterGroups.cls @@ -0,0 +1,62 @@ +global class ChatterGroups { + global static ConnectApi.GroupMember addMember(String communityId, String groupId, String userId) { } + global static ConnectApi.GroupMember addMemberWithRole(String communityId, String groupId, String userId, ConnectApi.GroupMembershipType role) { } + global static ConnectApi.GroupRecord addRecord(String communityId, String groupId, String recordId) { } + global Object clone() { } + global static ConnectApi.ChatterGroupDetail createGroup(String communityId, ConnectApi.ChatterGroupInput groupInput) { } + global static void deleteBannerPhoto(String communityId, String groupId) { } + global static void deleteGroup(String communityId, String groupId) { } + global static void deleteMember(String communityId, String membershipId) { } + global static void deletePhoto(String communityId, String groupId) { } + global static ConnectApi.Subscription follow(String communityId, String groupId, String subjectId) { } + global static ConnectApi.AnnouncementPage getAnnouncements(String communityId, String groupId, Integer pageParam, Integer pageSize) { } + global static ConnectApi.AnnouncementPage getAnnouncements(String communityId, String groupId) { } + global static ConnectApi.BannerPhoto getBannerPhoto(String communityId, String groupId) { } + global static ConnectApi.FollowingPage getFollowings(String communityId, String groupId, String filterType, Integer pageParam, Integer pageSize) { } + global static ConnectApi.FollowingPage getFollowings(String communityId, String groupId, Integer pageParam, Integer pageSize) { } + global static ConnectApi.FollowingPage getFollowings(String communityId, String groupId, String filterType, Integer pageParam) { } + global static ConnectApi.FollowingPage getFollowings(String communityId, String groupId, Integer pageParam) { } + global static ConnectApi.FollowingPage getFollowings(String communityId, String groupId, String filterType) { } + global static ConnectApi.FollowingPage getFollowings(String communityId, String groupId) { } + global static ConnectApi.ChatterGroupDetail getGroup(String communityId, String groupId) { } + global static List getGroupBatch(String communityId, List groupIds) { } + global static ConnectApi.GroupMembershipRequest getGroupMembershipRequest(String communityId, String requestId) { } + global static ConnectApi.GroupMembershipRequests getGroupMembershipRequests(String communityId, String groupId, ConnectApi.GroupMembershipRequestStatus status) { } + global static ConnectApi.GroupMembershipRequests getGroupMembershipRequests(String communityId, String groupId) { } + global static ConnectApi.ChatterGroupPage getGroups(String communityId, ConnectApi.GroupArchiveStatus archiveStatus, Integer pageParam, Integer pageSize) { } + global static ConnectApi.ChatterGroupPage getGroups(String communityId, Integer pageParam, Integer pageSize) { } + global static ConnectApi.ChatterGroupPage getGroups(String communityId) { } + global static ConnectApi.GroupMember getMember(String communityId, String membershipId) { } + global static ConnectApi.GroupMemberPage getMembers(String communityId, String groupId, Integer pageParam, Integer pageSize) { } + global static ConnectApi.GroupMemberPage getMembers(String communityId, String groupId) { } + global static List getMembershipBatch(String communityId, List membershipIds) { } + global static ConnectApi.GroupChatterSettings getMyChatterSettings(String communityId, String groupId) { } + global static ConnectApi.Photo getPhoto(String communityId, String groupId) { } + global static ConnectApi.GroupRecord getRecord(String communityId, String groupRecordId) { } + global static ConnectApi.GroupRecordPage getRecords(String communityId, String groupId, Integer pageParam, Integer pageSize) { } + global static ConnectApi.GroupRecordPage getRecords(String communityId, String groupId) { } + global static ConnectApi.Invitations inviteUsers(String groupId, ConnectApi.InviteInput invite) { } + global static ConnectApi.Announcement postAnnouncement(String communityId, String groupId, ConnectApi.AnnouncementInput announcement) { } + global static void removeRecord(String communityId, String groupRecordId) { } + global static ConnectApi.GroupMembershipRequest requestGroupMembership(String communityId, String groupId) { } + global static ConnectApi.ChatterGroupPage searchGroups(String communityId, String q, ConnectApi.GroupArchiveStatus archiveStatus, Integer pageParam, Integer pageSize) { } + global static ConnectApi.ChatterGroupPage searchGroups(String communityId, String q, Integer pageParam, Integer pageSize) { } + global static ConnectApi.ChatterGroupPage searchGroups(String communityId, String q) { } + global static ConnectApi.BannerPhoto setBannerPhoto(String communityId, String groupId, String fileId, Integer versionNumber) { } + global static ConnectApi.BannerPhoto setBannerPhoto(String communityId, String groupId, ConnectApi.BinaryInput fileUpload) { } + global static ConnectApi.BannerPhoto setBannerPhotoWithAttributes(String communityId, String groupId, ConnectApi.BannerPhotoInput bannerPhoto, ConnectApi.BinaryInput fileUpload) { } + global static ConnectApi.BannerPhoto setBannerPhotoWithAttributes(String communityId, String groupId, ConnectApi.BannerPhotoInput bannerPhoto) { } + global static ConnectApi.Photo setPhoto(String communityId, String groupId, String fileId, Integer versionNumber) { } + global static ConnectApi.Photo setPhoto(String communityId, String groupId, ConnectApi.BinaryInput fileUpload) { } + global static ConnectApi.Photo setPhotoWithAttributes(String communityId, String groupId, ConnectApi.PhotoInput photo, ConnectApi.BinaryInput fileUpload) { } + global static ConnectApi.Photo setPhotoWithAttributes(String communityId, String groupId, ConnectApi.PhotoInput photo) { } + global static void setTestSearchGroups(String communityId, String q, ConnectApi.GroupArchiveStatus archiveStatus, Integer pageParam, Integer pageSize, ConnectApi.ChatterGroupPage result) { } + global static void setTestSearchGroups(String communityId, String q, Integer pageParam, Integer pageSize, ConnectApi.ChatterGroupPage result) { } + global static void setTestSearchGroups(String communityId, String q, ConnectApi.ChatterGroupPage result) { } + global static ConnectApi.ChatterGroupDetail updateGroup(String communityId, String groupId, ConnectApi.ChatterGroupInput groupInput) { } + global static ConnectApi.GroupMember updateGroupMember(String communityId, String membershipId, ConnectApi.GroupMembershipType role) { } + global static ConnectApi.GroupChatterSettings updateMyChatterSettings(String communityId, String groupId, ConnectApi.GroupEmailFrequency emailFrequency) { } + global static ConnectApi.GroupMembershipRequest updateRequestStatus(String communityId, String requestId, ConnectApi.GroupMembershipRequestStatus status, String responseMessage) { } + global static ConnectApi.GroupMembershipRequest updateRequestStatus(String communityId, String requestId, ConnectApi.GroupMembershipRequestStatus status) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterLike.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterLike.cls new file mode 100644 index 0000000..f525d7b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterLike.cls @@ -0,0 +1,13 @@ +global class ChatterLike { + global String id; + global ConnectApi.Reference likedItem; + global String url; + global ConnectApi.UserSummary user; + global ChatterLike() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterLikePage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterLikePage.cls new file mode 100644 index 0000000..918ee4a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterLikePage.cls @@ -0,0 +1,18 @@ +global class ChatterLikePage { + global Integer currentPageToken; + global String currentPageUrl; + global List items; + global List likes; + global Integer nextPageToken; + global String nextPageUrl; + global Integer previousPageToken; + global String previousPageUrl; + global Integer total; + global ChatterLikePage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterLikesCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterLikesCapability.cls new file mode 100644 index 0000000..9892110 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterLikesCapability.cls @@ -0,0 +1,13 @@ +global class ChatterLikesCapability { + global Boolean isLikedByCurrentUser; + global ConnectApi.MessageBody likesMessage; + global ConnectApi.Reference myLike; + global ConnectApi.ChatterLikePage page; + global ChatterLikesCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterMessage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterMessage.cls new file mode 100644 index 0000000..dec615c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterMessage.cls @@ -0,0 +1,18 @@ +global class ChatterMessage { + global ConnectApi.MessageBody body; + global String conversationId; + global String conversationUrl; + global String id; + global List recipients; + global ConnectApi.UserSummary sender; + global ConnectApi.Reference sendingCommunity; + global Datetime sentDate; + global String url; + global ChatterMessage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterMessagePage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterMessagePage.cls new file mode 100644 index 0000000..37bae61 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterMessagePage.cls @@ -0,0 +1,14 @@ +global class ChatterMessagePage { + global String currentPageToken; + global String currentPageUrl; + global List messages; + global String nextPageToken; + global String nextPageUrl; + global ChatterMessagePage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterMessages.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterMessages.cls new file mode 100644 index 0000000..e874475 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterMessages.cls @@ -0,0 +1,38 @@ +global class ChatterMessages { + global Object clone() { } + global static ConnectApi.ChatterConversation getConversation(String communityId, String conversationId, String pageParam, Integer pageSize) { } + global static ConnectApi.ChatterConversation getConversation(String conversationId, String pageParam, Integer pageSize) { } + global static ConnectApi.ChatterConversation getConversation(String communityId, String conversationId) { } + global static ConnectApi.ChatterConversation getConversation(String conversationId) { } + global static ConnectApi.ChatterConversationPage getConversations(String communityId, String pageParam, Integer pageSize) { } + global static ConnectApi.ChatterConversationPage getConversations(String pageParam, Integer pageSize) { } + global static ConnectApi.ChatterConversationPage getConversations(String communityId) { } + global static ConnectApi.ChatterConversationPage getConversations() { } + global static ConnectApi.ChatterMessage getMessage(String communityId, String messageId) { } + global static ConnectApi.ChatterMessage getMessage(String messageId) { } + global static ConnectApi.ChatterMessagePage getMessages(String communityId, String pageParam, Integer pageSize) { } + global static ConnectApi.ChatterMessagePage getMessages(String pageParam, Integer pageSize) { } + global static ConnectApi.ChatterMessagePage getMessages(String communityId) { } + global static ConnectApi.ChatterMessagePage getMessages() { } + global static ConnectApi.UnreadConversationCount getUnreadCount(String communityId) { } + global static ConnectApi.UnreadConversationCount getUnreadCount() { } + global static ConnectApi.ChatterConversationSummary markConversationRead(String communityId, String conversationId, Boolean read) { } + global static ConnectApi.ChatterConversationSummary markConversationRead(String conversationId, Boolean read) { } + global static ConnectApi.ChatterMessage replyToMessage(String communityId, String text, String inReplyTo) { } + global static ConnectApi.ChatterMessage replyToMessage(String text, String inReplyTo) { } + global static ConnectApi.ChatterConversation searchConversation(String communityId, String conversationId, String pageParam, Integer pageSize, String q) { } + global static ConnectApi.ChatterConversation searchConversation(String conversationId, String pageParam, Integer pageSize, String q) { } + global static ConnectApi.ChatterConversation searchConversation(String communityId, String conversationId, String q) { } + global static ConnectApi.ChatterConversation searchConversation(String conversationId, String q) { } + global static ConnectApi.ChatterConversationPage searchConversations(String communityId, String pageParam, Integer pageSize, String q) { } + global static ConnectApi.ChatterConversationPage searchConversations(String pageParam, Integer pageSize, String q) { } + global static ConnectApi.ChatterConversationPage searchConversations(String communityId, String q) { } + global static ConnectApi.ChatterConversationPage searchConversations(String q) { } + global static ConnectApi.ChatterMessagePage searchMessages(String communityId, String pageParam, Integer pageSize, String q) { } + global static ConnectApi.ChatterMessagePage searchMessages(String pageParam, Integer pageSize, String q) { } + global static ConnectApi.ChatterMessagePage searchMessages(String communityId, String q) { } + global static ConnectApi.ChatterMessagePage searchMessages(String q) { } + global static ConnectApi.ChatterMessage sendMessage(String communityId, String text, String recipients) { } + global static ConnectApi.ChatterMessage sendMessage(String text, String recipients) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterStream.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterStream.cls new file mode 100644 index 0000000..75c8523 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterStream.cls @@ -0,0 +1,16 @@ +global class ChatterStream { + global ConnectApi.CommunitySummary community; + global Datetime createdDate; + global String description; + global String id; + global String name; + global List subscriptions; + global String url; + global ChatterStream() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterStreamInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterStreamInput.cls new file mode 100644 index 0000000..2b1ae33 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterStreamInput.cls @@ -0,0 +1,12 @@ +global class ChatterStreamInput { + global String description; + global String name; + global List subscriptionsToAdd; + global List subscriptionsToRemove; + global ChatterStreamInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterStreamPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterStreamPage.cls new file mode 100644 index 0000000..5353c9e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterStreamPage.cls @@ -0,0 +1,13 @@ +global class ChatterStreamPage { + global String currentPageUrl; + global List items; + global String nextPageUrl; + global Integer total; + global ChatterStreamPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterUsers.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterUsers.cls new file mode 100644 index 0000000..e3019c8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChatterUsers.cls @@ -0,0 +1,43 @@ +global class ChatterUsers { + global Object clone() { } + global static void deletePhoto(String communityId, String userId) { } + global static ConnectApi.UserActivitiesJob exportUserActivities(String communityId, String userId) { } + global static ConnectApi.Subscription follow(String communityId, String userId, String subjectId) { } + global static ConnectApi.UserChatterSettings getChatterSettings(String communityId, String userId) { } + global static ConnectApi.FollowerPage getFollowers(String communityId, String userId, Integer pageParam, Integer pageSize) { } + global static ConnectApi.FollowerPage getFollowers(String communityId, String userId) { } + global static ConnectApi.FollowingPage getFollowings(String communityId, String userId, String filterType, Integer pageParam, Integer pageSize) { } + global static ConnectApi.FollowingPage getFollowings(String communityId, String userId, Integer pageParam, Integer pageSize) { } + global static ConnectApi.FollowingPage getFollowings(String communityId, String userId, String filterType, Integer pageParam) { } + global static ConnectApi.FollowingPage getFollowings(String communityId, String userId, Integer pageParam) { } + global static ConnectApi.FollowingPage getFollowings(String communityId, String userId, String filterType) { } + global static ConnectApi.FollowingPage getFollowings(String communityId, String userId) { } + global static ConnectApi.UserGroupPage getGroups(String communityId, String userId, Integer pageParam, Integer pageSize) { } + global static ConnectApi.UserGroupPage getGroups(String communityId, String userId) { } + global static ConnectApi.Photo getPhoto(String communityId, String userId) { } + global static ConnectApi.Reputation getReputation(String communityId, String userId) { } + global static ConnectApi.UserDetail getUser(String communityId, String userId) { } + global static List getUserBatch(String communityId, List userIds) { } + global static ConnectApi.UserGroupDetailPage getUserGroups(String communityId, String userId, Integer pageParam, Integer pageSize) { } + global static ConnectApi.UserGroupDetailPage getUserGroups(String communityId, String userId) { } + global static ConnectApi.UserPage getUsers(String communityId, Integer pageParam, Integer pageSize) { } + global static ConnectApi.UserPage getUsers(String communityId) { } + global static ConnectApi.UserActivitiesJob purgeUserActivities(String communityId, String userId) { } + global static ConnectApi.UserGroupDetailPage searchUserGroupDetails(String communityId, String userId, String q, Integer pageParam, Integer pageSize) { } + global static ConnectApi.UserGroupDetailPage searchUserGroupDetails(String communityId, String userId, String q) { } + global static ConnectApi.UserGroupPage searchUserGroups(String communityId, String userId, String q, Integer pageParam, Integer pageSize) { } + global static ConnectApi.UserGroupPage searchUserGroups(String communityId, String userId, String q) { } + global static ConnectApi.UserPage searchUsers(String communityId, String q, String searchContextId, Integer pageParam, Integer pageSize) { } + global static ConnectApi.UserPage searchUsers(String communityId, String q, Integer pageParam, Integer pageSize) { } + global static ConnectApi.UserPage searchUsers(String communityId, String q) { } + global static ConnectApi.Photo setPhoto(String communityId, String userId, String fileId, Integer versionNumber) { } + global static ConnectApi.Photo setPhoto(String communityId, String userId, ConnectApi.BinaryInput fileUpload) { } + global static ConnectApi.Photo setPhotoWithAttributes(String communityId, String userId, ConnectApi.PhotoInput photo, ConnectApi.BinaryInput fileUpload) { } + global static ConnectApi.Photo setPhotoWithAttributes(String communityId, String userId, ConnectApi.PhotoInput photo) { } + global static void setTestSearchUsers(String communityId, String q, String searchContextId, Integer pageParam, Integer pageSize, ConnectApi.UserPage result) { } + global static void setTestSearchUsers(String communityId, String q, Integer pageParam, Integer pageSize, ConnectApi.UserPage result) { } + global static void setTestSearchUsers(String communityId, String q, ConnectApi.UserPage result) { } + global static ConnectApi.UserChatterSettings updateChatterSettings(String communityId, String userId, ConnectApi.GroupEmailFrequency defaultGroupEmailFrequency) { } + global static ConnectApi.UserDetail updateUser(String communityId, String userId, ConnectApi.UserInput userInput) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CheckoutSessionState.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CheckoutSessionState.cls new file mode 100644 index 0000000..cb94699 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CheckoutSessionState.cls @@ -0,0 +1,7 @@ +global enum CheckoutSessionState { +BILLING, +COMPLETE, +DELIVERY, +ORDERING, +START +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChimeAttendeeResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChimeAttendeeResult.cls new file mode 100644 index 0000000..d318034 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChimeAttendeeResult.cls @@ -0,0 +1,12 @@ +global class ChimeAttendeeResult { + global String attendeeId; + global String externalAttendeeId; + global String joinToken; + global ChimeAttendeeResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChimeMediaPlacementResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChimeMediaPlacementResult.cls new file mode 100644 index 0000000..22661c2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChimeMediaPlacementResult.cls @@ -0,0 +1,17 @@ +global class ChimeMediaPlacementResult { + global String audioFallbackUrl; + global String audioHostUrl; + global String eventIngestionUrl; + global String screenDataUrl; + global String screenSharingUrl; + global String screenViewingUrl; + global String signalingUrl; + global String turnControlUrl; + global ChimeMediaPlacementResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChimeMeetingResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChimeMeetingResult.cls new file mode 100644 index 0000000..29d2050 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ChimeMeetingResult.cls @@ -0,0 +1,11 @@ +global class ChimeMeetingResult { + global ConnectApi.ChimeMediaPlacementResult mediaPlacement; + global String meetingId; + global ChimeMeetingResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ClientInfo.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ClientInfo.cls new file mode 100644 index 0000000..cb0f939 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ClientInfo.cls @@ -0,0 +1,11 @@ +global class ClientInfo { + global String applicationName; + global String applicationUrl; + global ClientInfo() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Clm.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Clm.cls new file mode 100644 index 0000000..5008c85 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Clm.cls @@ -0,0 +1,3 @@ +global class Clm { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CloseCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CloseCapability.cls new file mode 100644 index 0000000..fce0ad0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CloseCapability.cls @@ -0,0 +1,11 @@ +global class CloseCapability { + global Boolean canContextUserUpdateIsClosed; + global Boolean isClosed; + global CloseCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CloseCapabilityInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CloseCapabilityInput.cls new file mode 100644 index 0000000..2a4b3ad --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CloseCapabilityInput.cls @@ -0,0 +1,9 @@ +global class CloseCapabilityInput { + global Boolean isClosed; + global CloseCapabilityInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Column.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Column.cls new file mode 100644 index 0000000..15f28d3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Column.cls @@ -0,0 +1,13 @@ +global class Column { + global String columnLabel; + global String columnName; + global String columnValue; + global String initialValue; + global Column() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Comment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Comment.cls new file mode 100644 index 0000000..c0ae8fa --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Comment.cls @@ -0,0 +1,29 @@ +global class Comment { + global ConnectApi.FeedItemAttachment attachment; + global ConnectApi.FeedBody body; + global ConnectApi.CommentCapabilities capabilities; + global ConnectApi.ClientInfo clientInfo; + global Datetime createdDate; + global ConnectApi.Reference feedElement; + global ConnectApi.Reference feedItem; + global String id; + global Boolean isDeleteRestricted; + global ConnectApi.ChatterLikePage likes; + global ConnectApi.MessageBody likesMessage; + global ConnectApi.ModerationFlags moderationFlags; + global ConnectApi.Reference myLike; + global ConnectApi.Reference parent; + global String relativeCreatedDate; + global Integer threadLevel; + global String threadParentId; + global ConnectApi.CommentType type; + global String url; + global ConnectApi.UserSummary user; + global Comment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentCapabilities.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentCapabilities.cls new file mode 100644 index 0000000..5ce7355 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentCapabilities.cls @@ -0,0 +1,18 @@ +global class CommentCapabilities { + global ConnectApi.CommentsCapability comments; + global ConnectApi.ContentCapability content; + global ConnectApi.EditCapability edit; + global ConnectApi.ExtensionsCapability extensions; + global ConnectApi.FeedEntityShareCapability feedEntityShare; + global ConnectApi.RecordCapability record; + global ConnectApi.StatusCapability status; + global ConnectApi.UpDownVoteCapability upDownVote; + global ConnectApi.VerifiedCapability verified; + global CommentCapabilities() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentCapabilitiesInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentCapabilitiesInput.cls new file mode 100644 index 0000000..87d0708 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentCapabilitiesInput.cls @@ -0,0 +1,12 @@ +global class CommentCapabilitiesInput { + global ConnectApi.ContentCapabilityInput content; + global ConnectApi.ExtensionsCapabilityInput extensions; + global ConnectApi.FeedEntityShareCapabilityInput feedEntityShare; + global ConnectApi.RecordCapabilityInput record; + global CommentCapabilitiesInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentInput.cls new file mode 100644 index 0000000..2c6e460 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentInput.cls @@ -0,0 +1,13 @@ +global class CommentInput { + global ConnectApi.FeedItemAttachmentInput attachment; + global ConnectApi.MessageBodyInput body; + global ConnectApi.CommentCapabilitiesInput capabilities; + global ConnectApi.ExtensionsCapabilityInput extensions; + global String threadParentId; + global CommentInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentPage.cls new file mode 100644 index 0000000..79c7a89 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentPage.cls @@ -0,0 +1,18 @@ +global class CommentPage { + global List comments; + global String currentPageToken; + global String currentPageUrl; + global List items; + global String nextPageToken; + global String nextPageUrl; + global String previousPageToken; + global String previousPageUrl; + global Integer total; + global CommentPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentSummary.cls new file mode 100644 index 0000000..e860497 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentSummary.cls @@ -0,0 +1,10 @@ +global class CommentSummary { + global String commentId; + global CommentSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentType.cls new file mode 100644 index 0000000..fff7281 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentType.cls @@ -0,0 +1,4 @@ +global enum CommentType { +CONTENTCOMMENT, +TEXTCOMMENT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentsCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentsCapability.cls new file mode 100644 index 0000000..85d83d7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommentsCapability.cls @@ -0,0 +1,10 @@ +global class CommentsCapability { + global ConnectApi.CommentPage page; + global CommentsCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceActionResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceActionResult.cls new file mode 100644 index 0000000..8ca5406 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceActionResult.cls @@ -0,0 +1,11 @@ +global class CommerceActionResult { + global Boolean isSuccess; + global String message; + global CommerceActionResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceAddressCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceAddressCollection.cls new file mode 100644 index 0000000..39f60bc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceAddressCollection.cls @@ -0,0 +1,19 @@ +global class CommerceAddressCollection { + global Integer count; + global String currentPageToken; + global String currentPageUrl; + global List items; + global String nextPageToken; + global String nextPageUrl; + global Integer pageSize; + global String previousPageToken; + global String previousPageUrl; + global ConnectApi.CommerceAddressSort sortOrder; + global CommerceAddressCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceAddressFieldInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceAddressFieldInput.cls new file mode 100644 index 0000000..92a2615 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceAddressFieldInput.cls @@ -0,0 +1,10 @@ +global class CommerceAddressFieldInput { + global String dataName; + global String text; + global CommerceAddressFieldInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceAddressInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceAddressInput.cls new file mode 100644 index 0000000..43655d7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceAddressInput.cls @@ -0,0 +1,24 @@ +global class CommerceAddressInput { + global String addressType; + global String city; + global List commerceAddressFieldInputList; + global String companyName; + global String country; + global String countryCode; + global String firstName; + global Boolean isDefault; + global String lastName; + global String middleName; + global String name; + global String phoneNumber; + global String postalCode; + global String region; + global String regionCode; + global String street; + global commerceAddressInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceAddressOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceAddressOutput.cls new file mode 100644 index 0000000..f188b14 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceAddressOutput.cls @@ -0,0 +1,26 @@ +global class CommerceAddressOutput { + global String addressId; + global String addressType; + global String city; + global String companyName; + global String country; + global String countryCode; + global Map fields; + global String firstName; + global Boolean isDefault; + global String lastName; + global String middleName; + global String name; + global String phoneNumber; + global String postalCode; + global String region; + global String regionCode; + global String street; + global CommerceAddressOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceAddressSort.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceAddressSort.cls new file mode 100644 index 0000000..07df66b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceAddressSort.cls @@ -0,0 +1,6 @@ +global enum CommerceAddressSort { +CREATEDDATEASC, +CREATEDDATEDESC, +NAMEASC, +NAMEDESC +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceBuyerExperience.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceBuyerExperience.cls new file mode 100644 index 0000000..4c9d9bf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceBuyerExperience.cls @@ -0,0 +1,3 @@ +global class CommerceBuyerExperience { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceCart.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceCart.cls new file mode 100644 index 0000000..0ff6067 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceCart.cls @@ -0,0 +1,3 @@ +global class CommerceCart { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceCatalog.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceCatalog.cls new file mode 100644 index 0000000..fd88546 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceCatalog.cls @@ -0,0 +1,3 @@ +global class CommerceCatalog { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceCatalogAttributeType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceCatalogAttributeType.cls new file mode 100644 index 0000000..a9dca4f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceCatalogAttributeType.cls @@ -0,0 +1,6 @@ +global enum CommerceCatalogAttributeType { +CUSTOM, +PRODUCTATTRIBUTE, +PRODUCTCATEGORY, +STANDARD +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceEinsteinActivityJobStatusEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceEinsteinActivityJobStatusEnum.cls new file mode 100644 index 0000000..eb4421c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceEinsteinActivityJobStatusEnum.cls @@ -0,0 +1,5 @@ +global enum CommerceEinsteinActivityJobStatusEnum { +COMPLETED, +NODATA, +PENDING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceEinsteinConfiguration.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceEinsteinConfiguration.cls new file mode 100644 index 0000000..3c8b93a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceEinsteinConfiguration.cls @@ -0,0 +1,5 @@ +global class CommerceEinsteinConfiguration { + global Object clone() { } + global static ConnectApi.CommerceEinsteinOutputConfiguration getEinsteinConfiguration(String webstoreId) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceEinsteinOutputConfiguration.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceEinsteinOutputConfiguration.cls new file mode 100644 index 0000000..44fb63d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceEinsteinOutputConfiguration.cls @@ -0,0 +1,16 @@ +global class CommerceEinsteinOutputConfiguration { + global Boolean activityTrackingEnabled; + global Boolean catalogExists; + global Boolean deploymentEnabled; + global String host; + global Boolean isDeployed; + global String siteId; + global String tenant; + global CommerceEinsteinOutputConfiguration() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceEinsteinStatusEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceEinsteinStatusEnum.cls new file mode 100644 index 0000000..9d22834 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceEinsteinStatusEnum.cls @@ -0,0 +1,8 @@ +global enum CommerceEinsteinStatusEnum { +DATAERROR, +INPROGRESS, +INTERNALERROR, +NOTDEPLYED, +SUCCESS, +UNDEPLOYEDSITEERROR +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceInventory.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceInventory.cls new file mode 100644 index 0000000..4001651 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceInventory.cls @@ -0,0 +1,3 @@ +global class CommerceInventory { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceInventoryPricing.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceInventoryPricing.cls new file mode 100644 index 0000000..d849c01 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceInventoryPricing.cls @@ -0,0 +1,3 @@ +global class CommerceInventoryPricing { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceProductAttributeSetSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceProductAttributeSetSummary.cls new file mode 100644 index 0000000..e3b3ae0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceProductAttributeSetSummary.cls @@ -0,0 +1,9 @@ +global class CommerceProductAttributeSetSummary { + global CommerceProductAttributeSetSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceProductSearchResults.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceProductSearchResults.cls new file mode 100644 index 0000000..594f722 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceProductSearchResults.cls @@ -0,0 +1,9 @@ +global class CommerceProductSearchResults { + global CommerceProductSearchResults() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceProductSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceProductSummary.cls new file mode 100644 index 0000000..b5cf85d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceProductSummary.cls @@ -0,0 +1,11 @@ +global class CommerceProductSummary { + global ConnectApi.PurchaseQuantityRule purchaseQuantityRule; + global ConnectApi.CommerceProductAttributeSetSummary variationAttributeSet; + global CommerceProductSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceProductSummaryPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceProductSummaryPage.cls new file mode 100644 index 0000000..3c940d5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceProductSummaryPage.cls @@ -0,0 +1,12 @@ +global class CommerceProductSummaryPage { + global Integer pageSize; + global List products; + global Long total; + global CommerceProductSummaryPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommercePromotions.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommercePromotions.cls new file mode 100644 index 0000000..dffd6e4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommercePromotions.cls @@ -0,0 +1,3 @@ +global class CommercePromotions { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearch.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearch.cls new file mode 100644 index 0000000..6d90d1a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearch.cls @@ -0,0 +1,3 @@ +global class CommerceSearch { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchAttributeType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchAttributeType.cls new file mode 100644 index 0000000..857f610 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchAttributeType.cls @@ -0,0 +1,6 @@ +global enum CommerceSearchAttributeType { +CUSTOM, +PRODUCTATTRIBUTE, +PRODUCTCATEGORY, +STANDARD +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchConnectFamily.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchConnectFamily.cls new file mode 100644 index 0000000..305d30a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchConnectFamily.cls @@ -0,0 +1,3 @@ +global class CommerceSearchConnectFamily { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchFacetDisplayType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchFacetDisplayType.cls new file mode 100644 index 0000000..c36ffc4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchFacetDisplayType.cls @@ -0,0 +1,6 @@ +global enum CommerceSearchFacetDisplayType { +CATEGORYTREE, +DATEPICKER, +MULTISELECT, +SINGLESELECT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchFacetType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchFacetType.cls new file mode 100644 index 0000000..87a1c52 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchFacetType.cls @@ -0,0 +1,3 @@ +global enum CommerceSearchFacetType { +DISTINCTVALUE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchGroupingOption.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchGroupingOption.cls new file mode 100644 index 0000000..c0e5d66 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchGroupingOption.cls @@ -0,0 +1,4 @@ +global enum CommerceSearchGroupingOption { +NOGROUPING, +VARIATIONPARENT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndex.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndex.cls new file mode 100644 index 0000000..41aa6f2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndex.cls @@ -0,0 +1,19 @@ +global class CommerceSearchIndex { + global Datetime completionDate; + global Datetime createdDate; + global ConnectApi.CommerceSearchIndexCreationType creationType; + global String id; + global ConnectApi.CommerceSearchIndexBuildType indexBuildType; + global ConnectApi.CommerceSearchIndexStatus indexStatus; + global ConnectApi.CommerceSearchIndexUsage indexUsage; + global Boolean isIncrementable; + global Datetime lastCatalogSnapshotTime; + global String message; + global CommerceSearchIndex() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexBuildType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexBuildType.cls new file mode 100644 index 0000000..0c88d7a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexBuildType.cls @@ -0,0 +1,4 @@ +global enum CommerceSearchIndexBuildType { +FULL, +INCREMENTAL +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexCollection.cls new file mode 100644 index 0000000..03bfe6f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexCollection.cls @@ -0,0 +1,10 @@ +global class CommerceSearchIndexCollection { + global List indexes; + global CommerceSearchIndexCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexCreationType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexCreationType.cls new file mode 100644 index 0000000..fc6c20f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexCreationType.cls @@ -0,0 +1,4 @@ +global enum CommerceSearchIndexCreationType { +MANUAL, +SCHEDULED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexLog.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexLog.cls new file mode 100644 index 0000000..eb33f1c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexLog.cls @@ -0,0 +1,17 @@ +global class CommerceSearchIndexLog { + global Datetime catalogSnapshotTime; + global Datetime completionDate; + global String createdById; + global ConnectApi.CommerceSearchIndexStatus indexBuildStatus; + global ConnectApi.CommerceSearchIndexBuildType indexBuildType; + global String indexId; + global String message; + global Integer numberOfProducts; + global CommerceSearchIndexLog() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexLogCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexLogCollection.cls new file mode 100644 index 0000000..6fad0ea --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexLogCollection.cls @@ -0,0 +1,10 @@ +global class CommerceSearchIndexLogCollection { + global List indexLogs; + global CommerceSearchIndexLogCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexStatus.cls new file mode 100644 index 0000000..eaadd39 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexStatus.cls @@ -0,0 +1,5 @@ +global enum CommerceSearchIndexStatus { +COMPLETED, +FAILED, +INPROGRESS +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexUsage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexUsage.cls new file mode 100644 index 0000000..e2dff5a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchIndexUsage.cls @@ -0,0 +1,4 @@ +global enum CommerceSearchIndexUsage { +LIVE, +OUTOFUSE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchSettings.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchSettings.cls new file mode 100644 index 0000000..2d2feeb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchSettings.cls @@ -0,0 +1,3 @@ +global class CommerceSearchSettings { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchSortRuleDirection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchSortRuleDirection.cls new file mode 100644 index 0000000..17f1c4b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchSortRuleDirection.cls @@ -0,0 +1,5 @@ +global enum CommerceSearchSortRuleDirection { +ASCENDING, +DEFAULT, +DESCENDING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchSortRuleType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchSortRuleType.cls new file mode 100644 index 0000000..ef9ba92 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchSortRuleType.cls @@ -0,0 +1,7 @@ +global enum CommerceSearchSortRuleType { +CUSTOM, +PRODUCTATTRIBUTEBASED, +PRODUCTBASED, +RELEVANCY, +SORTBYPRICEBOOK +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchTopProductType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchTopProductType.cls new file mode 100644 index 0000000..b6816d6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceSearchTopProductType.cls @@ -0,0 +1,3 @@ +global enum CommerceSearchTopProductType { +VARIATIONPARENT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceStorePricing.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceStorePricing.cls new file mode 100644 index 0000000..cb1d51a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceStorePricing.cls @@ -0,0 +1,3 @@ +global class CommerceStorePricing { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceWishlist.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceWishlist.cls new file mode 100644 index 0000000..0dac183 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommerceWishlist.cls @@ -0,0 +1,3 @@ +global class CommerceWishlist { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Communities.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Communities.cls new file mode 100644 index 0000000..64ca29e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Communities.cls @@ -0,0 +1,8 @@ +global class Communities { + global Object clone() { } + global static ConnectApi.CommunityPage getCommunities(ConnectApi.CommunityStatus status) { } + global static ConnectApi.CommunityPage getCommunities() { } + global static ConnectApi.Community getCommunity(String communityId) { } + global static ConnectApi.CommunityTemplates getCommunityTemplates() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Community.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Community.cls new file mode 100644 index 0000000..dc2122c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Community.cls @@ -0,0 +1,32 @@ +global class Community { + global Boolean allowChatterAccessWithoutLogin; + global Boolean allowMembersToFlag; + global Boolean builderBasedSnaEnabled; + global String builderUrl; + global String description; + global Boolean guestMemberVisibilityEnabled; + global String id; + global Boolean imageOptimizationCDNEnabled; + global Boolean invitationsEnabled; + global Boolean knowledgeableEnabled; + global String loginUrl; + global Boolean memberVisibilityEnabled; + global String name; + global Boolean nicknameDisplayEnabled; + global Boolean privateMessagesEnabled; + global Boolean reputationEnabled; + global Boolean sendWelcomeEmail; + global Boolean siteAsContainerEnabled; + global String siteUrl; + global ConnectApi.CommunityStatus status; + global String templateName; + global String url; + global String urlPathPrefix; + global Community() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityFlagReasonType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityFlagReasonType.cls new file mode 100644 index 0000000..d8cd3e2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityFlagReasonType.cls @@ -0,0 +1,6 @@ +global enum CommunityFlagReasonType { +FLAGGEDBYRULE, +FLAGGEDBYSYSTEM, +FLAGGEDBYUSERASINAPPROPRIATE, +FLAGGEDBYUSERASSPAM +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityFlagType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityFlagType.cls new file mode 100644 index 0000000..bedaf21 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityFlagType.cls @@ -0,0 +1,4 @@ +global enum CommunityFlagType { +FLAGASINAPPROPRIATE, +FLAGASSPAM +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityFlagVisibility.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityFlagVisibility.cls new file mode 100644 index 0000000..9744b18 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityFlagVisibility.cls @@ -0,0 +1,4 @@ +global enum CommunityFlagVisibility { +MODERATORSONLY, +SELFANDMODERATORS +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityLanguage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityLanguage.cls new file mode 100644 index 0000000..0abf091 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityLanguage.cls @@ -0,0 +1,11 @@ +global class CommunityLanguage { + global List availableLanguages; + global ConnectApi.Language defaultLanguage; + global CommunityLanguage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityModeration.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityModeration.cls new file mode 100644 index 0000000..ea1f669 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityModeration.cls @@ -0,0 +1,35 @@ +global class CommunityModeration { + global static ConnectApi.ModerationFlags addFlagToComment(String communityId, String commentId, ConnectApi.CommunityFlagType type, ConnectApi.CommunityFlagVisibility visibility, String note) { } + global static ConnectApi.ModerationFlags addFlagToComment(String communityId, String commentId, ConnectApi.CommunityFlagType type, ConnectApi.CommunityFlagVisibility visibility) { } + global static ConnectApi.ModerationFlags addFlagToComment(String communityId, String commentId, ConnectApi.CommunityFlagType type, String note) { } + global static ConnectApi.ModerationFlags addFlagToComment(String communityId, String commentId, ConnectApi.CommunityFlagVisibility visibility, String note) { } + global static ConnectApi.ModerationFlags addFlagToComment(String communityId, String commentId, ConnectApi.CommunityFlagType type) { } + global static ConnectApi.ModerationFlags addFlagToComment(String communityId, String commentId, ConnectApi.CommunityFlagVisibility visibility) { } + global static ConnectApi.ModerationFlags addFlagToComment(String communityId, String commentId, String note) { } + global static ConnectApi.ModerationFlags addFlagToComment(String communityId, String commentId) { } + global static ConnectApi.ModerationCapability addFlagToFeedElement(String communityId, String feedElementId, ConnectApi.CommunityFlagType type, ConnectApi.CommunityFlagVisibility visibility, String note) { } + global static ConnectApi.ModerationCapability addFlagToFeedElement(String communityId, String feedElementId, ConnectApi.CommunityFlagType type, ConnectApi.CommunityFlagVisibility visibility) { } + global static ConnectApi.ModerationCapability addFlagToFeedElement(String communityId, String feedElementId, ConnectApi.CommunityFlagType type, String note) { } + global static ConnectApi.ModerationCapability addFlagToFeedElement(String communityId, String feedElementId, ConnectApi.CommunityFlagVisibility visibility, String note) { } + global static ConnectApi.ModerationCapability addFlagToFeedElement(String communityId, String feedElementId, ConnectApi.CommunityFlagType type) { } + global static ConnectApi.ModerationCapability addFlagToFeedElement(String communityId, String feedElementId, ConnectApi.CommunityFlagVisibility visibility) { } + global static ConnectApi.ModerationCapability addFlagToFeedElement(String communityId, String feedElementId, String note) { } + global static ConnectApi.ModerationCapability addFlagToFeedElement(String communityId, String feedElementId) { } + global static ConnectApi.ModerationFlags addFlagToFeedItem(String communityId, String feedItemId, ConnectApi.CommunityFlagVisibility visibility) { } + global static ConnectApi.ModerationFlags addFlagToFeedItem(String communityId, String feedItemId) { } + global Object clone() { } + global static ConnectApi.ModerationFlags getFlagsOnComment(String communityId, String commentId, ConnectApi.CommunityFlagVisibility visibility, Integer pageSize, String pageParam) { } + global static ConnectApi.ModerationFlags getFlagsOnComment(String communityId, String commentId, Integer pageSize, String pageParam) { } + global static ConnectApi.ModerationFlags getFlagsOnComment(String communityId, String commentId, ConnectApi.CommunityFlagVisibility visibility) { } + global static ConnectApi.ModerationFlags getFlagsOnComment(String communityId, String commentId) { } + global static ConnectApi.ModerationCapability getFlagsOnFeedElement(String communityId, String feedElementId, ConnectApi.CommunityFlagVisibility visibility, Integer pageSize, String pageParam) { } + global static ConnectApi.ModerationCapability getFlagsOnFeedElement(String communityId, String feedElementId, String pageParam, Integer pageSize) { } + global static ConnectApi.ModerationCapability getFlagsOnFeedElement(String communityId, String feedElementId, ConnectApi.CommunityFlagVisibility visibility) { } + global static ConnectApi.ModerationCapability getFlagsOnFeedElement(String communityId, String feedElementId) { } + global static ConnectApi.ModerationFlags getFlagsOnFeedItem(String communityId, String feedItemId, ConnectApi.CommunityFlagVisibility visibility) { } + global static ConnectApi.ModerationFlags getFlagsOnFeedItem(String communityId, String feedItemId) { } + global static void removeFlagFromComment(String communityId, String commentId, String userId) { } + global static void removeFlagFromFeedElement(String communityId, String feedElementId, String userId) { } + global static void removeFlagFromFeedItem(String communityId, String feedItemId, String userId) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityPage.cls new file mode 100644 index 0000000..22abc28 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityPage.cls @@ -0,0 +1,11 @@ +global class CommunityPage { + global List communities; + global Integer total; + global CommunityPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityPublish.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityPublish.cls new file mode 100644 index 0000000..b1bdac0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityPublish.cls @@ -0,0 +1,14 @@ +global class CommunityPublish { + global String id; + global String jobId; + global String message; + global String name; + global String url; + global CommunityPublish() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityStatus.cls new file mode 100644 index 0000000..beda50e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityStatus.cls @@ -0,0 +1,5 @@ +global enum CommunityStatus { +INACTIVE, +LIVE, +UNDERCONSTRUCTION +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunitySummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunitySummary.cls new file mode 100644 index 0000000..05aad9d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunitySummary.cls @@ -0,0 +1,11 @@ +global class CommunitySummary { + global String id; + global String name; + global CommunitySummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityTemplate.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityTemplate.cls new file mode 100644 index 0000000..e376282 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityTemplate.cls @@ -0,0 +1,11 @@ +global class CommunityTemplate { + global String publisher; + global String templateName; + global CommunityTemplate() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityTemplates.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityTemplates.cls new file mode 100644 index 0000000..fe1a2d3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CommunityTemplates.cls @@ -0,0 +1,11 @@ +global class CommunityTemplates { + global List templates; + global Integer total; + global CommunityTemplates() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CompanyVerifySummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CompanyVerifySummary.cls new file mode 100644 index 0000000..b8cc0f0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CompanyVerifySummary.cls @@ -0,0 +1,9 @@ +global class CompanyVerifySummary { + global CompanyVerifySummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ComplaintInfoWrapper.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ComplaintInfoWrapper.cls new file mode 100644 index 0000000..2f5e5d4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ComplaintInfoWrapper.cls @@ -0,0 +1,20 @@ +global class ComplaintInfoWrapper { + global String accountId; + global Map additionalInfo; + global String complaintSubType; + global String complaintType; + global String description; + global String email; + global String incidentDate; + global String priority; + global String productType; + global String receivedDate; + global String status; + global String subject; + global ComplaintInfoWrapper() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ComplaintMgmtOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ComplaintMgmtOutputRepresentation.cls new file mode 100644 index 0000000..4a02a22 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ComplaintMgmtOutputRepresentation.cls @@ -0,0 +1,12 @@ +global class ComplaintMgmtOutputRepresentation { + global String caseId; + global String caseNumber; + global String publicComplaintId; + global ComplaintMgmtOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ComplaintMgmtRequestInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ComplaintMgmtRequestInputRepresentation.cls new file mode 100644 index 0000000..dc8a754 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ComplaintMgmtRequestInputRepresentation.cls @@ -0,0 +1,14 @@ +global class ComplaintMgmtRequestInputRepresentation { + global String assessmentId; + global ConnectApi.CaseInfoWrapper caseInfo; + global List caseParticipantInfo; + global ConnectApi.ComplaintInfoWrapper complaintInfo; + global List documentInfo; + global Boolean shouldInclInRegulatoryRpt; + global ComplaintMgmtRequestInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ComplexSegment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ComplexSegment.cls new file mode 100644 index 0000000..c9df833 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ComplexSegment.cls @@ -0,0 +1,9 @@ +global class ComplexSegment { + global List segments; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CompoundRecordField.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CompoundRecordField.cls new file mode 100644 index 0000000..4eb8f67 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CompoundRecordField.cls @@ -0,0 +1,10 @@ +global class CompoundRecordField { + global List fields; + global CompoundRecordField() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConfirmHeldFOCapacityInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConfirmHeldFOCapacityInputRepresentation.cls new file mode 100644 index 0000000..621f858 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConfirmHeldFOCapacityInputRepresentation.cls @@ -0,0 +1,9 @@ +global class ConfirmHeldFOCapacityInputRepresentation { + global List confirmHeldFOCapacityRequests; + global ConfirmHeldFOCapacityInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConfirmHeldFOCapacityOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConfirmHeldFOCapacityOutputRepresentation.cls new file mode 100644 index 0000000..dcfe708 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConfirmHeldFOCapacityOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class ConfirmHeldFOCapacityOutputRepresentation { + global List confirmHeldFOCapacityResponses; + global ConfirmHeldFOCapacityOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConfirmHeldFOCapacityRequestInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConfirmHeldFOCapacityRequestInputRepresentation.cls new file mode 100644 index 0000000..166a550 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConfirmHeldFOCapacityRequestInputRepresentation.cls @@ -0,0 +1,10 @@ +global class ConfirmHeldFOCapacityRequestInputRepresentation { + global Boolean allOrNothing; + global List capacityRequests; + global ConfirmHeldFOCapacityRequestInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConfirmHeldFOCapacityResponseOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConfirmHeldFOCapacityResponseOutputRepresentation.cls new file mode 100644 index 0000000..6306e6a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConfirmHeldFOCapacityResponseOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class ConfirmHeldFOCapacityResponseOutputRepresentation { + global List capacityResponses; + global ConfirmHeldFOCapacityResponseOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectApiException.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectApiException.cls new file mode 100644 index 0000000..645cd50 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectApiException.cls @@ -0,0 +1,6 @@ +global class ConnectApiException extends Exception { + global Object clone() { } + global String getErrorCode() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectCommerceSearchSortRuleLabelSuffix.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectCommerceSearchSortRuleLabelSuffix.cls new file mode 100644 index 0000000..6377a7f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectCommerceSearchSortRuleLabelSuffix.cls @@ -0,0 +1,28 @@ +global enum ConnectCommerceSearchSortRuleLabelSuffix { +ASCEN, +ASCENDING, +AZ, +DESCEN, +DESCENDING, +FEWMANY, +HEAVYLIGHT, +HIGHLOW, +HIGHESTLOWEST, +LIGHTHEAVY, +LOWHIGH, +LOWESTHIGHEST, +MANYFEW, +NEWOLD, +NEWEST, +NEWESTOLDEST, +NINEZERO, +OLDNEW, +OLDEST, +OLDESTNEWEST, +PRICEDECREASING, +PRICEINCREASING, +THICKTHIN, +THINTHICK, +ZA, +ZERONINE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectCommerceSearchSortStandardField.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectCommerceSearchSortStandardField.cls new file mode 100644 index 0000000..26c25f3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectCommerceSearchSortStandardField.cls @@ -0,0 +1,8 @@ +global enum ConnectCommerceSearchSortStandardField { +CREATEDDATE, +FAMILY, +NAME, +PRODUCTCODE, +QUANTITYUNITOFMEASURE, +STOCKKEEPINGUNIT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectManagedContentChannelType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectManagedContentChannelType.cls new file mode 100644 index 0000000..4e04813 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectManagedContentChannelType.cls @@ -0,0 +1,6 @@ +global enum ConnectManagedContentChannelType { +CLOUDTOCLOUD, +COMMUNITY, +CONNECTEDAPP, +PUBLICUNAUTHENTICATED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectManagedContentDeploymentType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectManagedContentDeploymentType.cls new file mode 100644 index 0000000..ae5e383 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectManagedContentDeploymentType.cls @@ -0,0 +1,4 @@ +global enum ConnectManagedContentDeploymentType { +PUBLISH, +UNPUBLISH +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectManagedContentMediaType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectManagedContentMediaType.cls new file mode 100644 index 0000000..3f3b67b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectManagedContentMediaType.cls @@ -0,0 +1,5 @@ +global enum ConnectManagedContentMediaType { +DOCUMENT, +IMAGE, +VIDEO +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectManagedContentNodeType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectManagedContentNodeType.cls new file mode 100644 index 0000000..19bad35 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectManagedContentNodeType.cls @@ -0,0 +1,11 @@ +global enum ConnectManagedContentNodeType { +DATE, +DATETIME, +MEDIA, +MEDIASOURCE, +MULTILINETEXT, +NAMEFIELD, +RICHTEXT, +TEXT, +URL +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectSitesPageType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectSitesPageType.cls new file mode 100644 index 0000000..5c528f5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectSitesPageType.cls @@ -0,0 +1,4 @@ +global enum ConnectSitesPageType { +CONTENTPAGE, +SITEPAGE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectStatusCheckType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectStatusCheckType.cls new file mode 100644 index 0000000..c3a0ade --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectStatusCheckType.cls @@ -0,0 +1,4 @@ +global enum ConnectStatusCheckType { +DATAGENERATIONSTATUSCHECK, +TRAININGSTATUSCHECK +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectUtilities.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectUtilities.cls new file mode 100644 index 0000000..e3537aa --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectUtilities.cls @@ -0,0 +1,6 @@ +global class ConnectUtilities { + global ConnectUtilities() { } + global Object clone() { } + global static Object unwrapApexWrapper(Object obj) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectWaveSortOrderEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectWaveSortOrderEnum.cls new file mode 100644 index 0000000..607b438 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConnectWaveSortOrderEnum.cls @@ -0,0 +1,4 @@ +global enum ConnectWaveSortOrderEnum { +ASCENDING, +DESCENDING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Content.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Content.cls new file mode 100644 index 0000000..a8a8e25 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Content.cls @@ -0,0 +1,37 @@ +global class Content { + global String checksum; + global String contentUrl; + global String description; + global String downloadUrl; + global String fileExtension; + global String fileSize; + global String fileType; + global String fileTypeEnumName; + global Boolean hasFlashPreview; + global Boolean hasPdfPreview; + global Boolean hasTinyThumbnailPreview; + global String id; + global Boolean isContextUserSubscribedToDocument; + global Boolean isInMyFileSync; + global Boolean isRenditionProcessing; + global Boolean isSyncAvailable; + global Datetime lastModifiedDate; + global String mimeType; + global String renditionUrl; + global String renditionUrl240By180; + global String renditionUrl720By480; + global ConnectApi.FileSharingOption sharingOption; + global String textPreview; + global String thumb120By90RenditionStatus; + global String thumb240By180RenditionStatus; + global String thumb720By480RenditionStatus; + global String title; + global String versionId; + global Content() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentAttachment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentAttachment.cls new file mode 100644 index 0000000..7466111 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentAttachment.cls @@ -0,0 +1,30 @@ +global class ContentAttachment { + global String checksum; + global String contentUrl; + global String description; + global String downloadUrl; + global String fileExtension; + global String fileSize; + global String fileType; + global Boolean hasImagePreview; + global Boolean hasPdfPreview; + global String id; + global Boolean isInMyFileSync; + global String mimeType; + global String renditionUrl; + global String renditionUrl240By180; + global String renditionUrl720By480; + global String textPreview; + global String thumb120By90RenditionStatus; + global String thumb240By180RenditionStatus; + global String thumb720By480RenditionStatus; + global String title; + global String versionId; + global ContentAttachment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentAttachmentInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentAttachmentInput.cls new file mode 100644 index 0000000..08e0969 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentAttachmentInput.cls @@ -0,0 +1,9 @@ +global class ContentAttachmentInput { + global String contentDocumentId; + global ContentAttachmentInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentCapability.cls new file mode 100644 index 0000000..5ca3563 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentCapability.cls @@ -0,0 +1,37 @@ +global class ContentCapability { + global String checksum; + global String contentUrl; + global String description; + global String downloadUrl; + global String fileExtension; + global String fileSize; + global String fileType; + global String fileTypeEnumName; + global Boolean hasFlashPreview; + global Boolean hasPdfPreview; + global Boolean hasTinyThumbnailPreview; + global String id; + global Boolean isContextUserSubscribedToDocument; + global Boolean isInMyFileSync; + global Boolean isRenditionProcessing; + global Boolean isSyncAvailable; + global Datetime lastModifiedDate; + global String mimeType; + global String renditionUrl; + global String renditionUrl240By180; + global String renditionUrl720By480; + global ConnectApi.FileSharingOption sharingOption; + global String textPreview; + global String thumb120By90RenditionStatus; + global String thumb240By180RenditionStatus; + global String thumb720By480RenditionStatus; + global String title; + global String versionId; + global ContentCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentCapabilityInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentCapabilityInput.cls new file mode 100644 index 0000000..a42959c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentCapabilityInput.cls @@ -0,0 +1,12 @@ +global class ContentCapabilityInput { + global String contentDocumentId; + global String description; + global ConnectApi.FileSharingOption sharingOption; + global String title; + global ContentCapabilityInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentDocumentOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentDocumentOutput.cls new file mode 100644 index 0000000..1934c12 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentDocumentOutput.cls @@ -0,0 +1,10 @@ +global class ContentDocumentOutput { + global String id; + global ContentDocumentOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHub.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHub.cls new file mode 100644 index 0000000..d5a5e39 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHub.cls @@ -0,0 +1,80 @@ +global class ContentHub { + global static ConnectApi.RepositoryFolderItem addRepositoryItem(String communityId, String repositoryId, String repositoryFolderId, ConnectApi.ContentHubItemInput file, ConnectApi.BinaryInput fileData) { } + global static ConnectApi.RepositoryFolderItem addRepositoryItem(String repositoryId, String repositoryFolderId, ConnectApi.ContentHubItemInput file, ConnectApi.BinaryInput fileData) { } + global static ConnectApi.RepositoryFolderItem addRepositoryItem(String communityId, String repositoryId, String repositoryFolderId, ConnectApi.ContentHubItemInput file) { } + global static ConnectApi.RepositoryFolderItem addRepositoryItem(String repositoryId, String repositoryFolderId, ConnectApi.ContentHubItemInput file) { } + global Object clone() { } + global static void deleteRepositoryFile(String communityId, String repositoryId, String repositoryFileId) { } + global static void deleteRepositoryFile(String repositoryId, String repositoryFileId) { } + global static void deleteRepositoryFolder(String communityId, String repositoryId, String repositoryFolderId) { } + global static void deleteRepositoryFolder(String repositoryId, String repositoryFolderId) { } + global static ConnectApi.ContentHubAllowedItemTypeCollection getAllowedItemTypes(String communityId, String repositoryId, String repositoryFolderId, ConnectApi.ContentHubItemType filter) { } + global static ConnectApi.ContentHubAllowedItemTypeCollection getAllowedItemTypes(String repositoryId, String repositoryFolderId, ConnectApi.ContentHubItemType filter) { } + global static ConnectApi.ContentHubAllowedItemTypeCollection getAllowedItemTypes(String communityId, String repositoryId, String repositoryFolderId) { } + global static ConnectApi.ContentHubAllowedItemTypeCollection getAllowedItemTypes(String repositoryId, String repositoryFolderId) { } + global static ConnectApi.FilePreview getFilePreview(String communityId, String repositoryId, String repositoryFileId, ConnectApi.FilePreviewFormat formatType, Integer startPageNumber, Integer endPageNumber) { } + global static ConnectApi.FilePreview getFilePreview(String repositoryId, String repositoryFileId, ConnectApi.FilePreviewFormat formatType, Integer startPageNumber, Integer endPageNumber) { } + global static ConnectApi.FilePreview getFilePreview(String communityId, String repositoryId, String repositoryFileId, ConnectApi.FilePreviewFormat formatType) { } + global static ConnectApi.FilePreview getFilePreview(String repositoryId, String repositoryFileId, ConnectApi.FilePreviewFormat formatType) { } + global static ConnectApi.ContentHubItemTypeDetail getItemType(String communityId, String repositoryId, String repositoryItemTypeId) { } + global static ConnectApi.ContentHubItemTypeDetail getItemType(String repositoryId, String repositoryItemTypeId) { } + global static ConnectApi.FilePreviewCollection getPreviews(String communityId, String repositoryId, String repositoryFileId) { } + global static ConnectApi.FilePreviewCollection getPreviews(String repositoryId, String repositoryFileId) { } + global static ConnectApi.ContentHubRepositoryCollection getRepositories(String communityId, Integer pageParam, Integer pageSize) { } + global static ConnectApi.ContentHubRepositoryCollection getRepositories(Integer pageParam, Integer pageSize) { } + global static ConnectApi.ContentHubRepositoryCollection getRepositories(String communityId) { } + global static ConnectApi.ContentHubRepositoryCollection getRepositories() { } + global static ConnectApi.ContentHubRepository getRepository(String communityId, String repositoryId) { } + global static ConnectApi.ContentHubRepository getRepository(String repositoryId) { } + global static ConnectApi.RepositoryFileDetail getRepositoryFile(String communityId, String repositoryId, String repositoryFileId, Boolean includeExternalFilePermissionsInfo) { } + global static ConnectApi.RepositoryFileDetail getRepositoryFile(String repositoryId, String repositoryFileId, Boolean includeExternalFilePermissionsInfo) { } + global static ConnectApi.RepositoryFileDetail getRepositoryFile(String communityId, String repositoryId, String repositoryFileId) { } + global static ConnectApi.RepositoryFileDetail getRepositoryFile(String repositoryId, String repositoryFileId) { } + global static ConnectApi.RepositoryFolderDetail getRepositoryFolder(String communityId, String repositoryId, String repositoryFolderId) { } + global static ConnectApi.RepositoryFolderDetail getRepositoryFolder(String repositoryId, String repositoryFolderId) { } + global static ConnectApi.RepositoryFolderItemsCollection getRepositoryFolderItems(String communityId, String repositoryId, String repositoryFolderId, Integer pageParam, Integer pageSize) { } + global static ConnectApi.RepositoryFolderItemsCollection getRepositoryFolderItems(String repositoryId, String repositoryFolderId, Integer pageParam, Integer pageSize) { } + global static ConnectApi.RepositoryFolderItemsCollection getRepositoryFolderItems(String communityId, String repositoryId, String repositoryFolderId) { } + global static ConnectApi.RepositoryFolderItemsCollection getRepositoryFolderItems(String repositoryId, String repositoryFolderId) { } + global static void setTestAddRepositoryItem(String communityId, String repositoryId, String repositoryFolderId, ConnectApi.ContentHubItemInput file, ConnectApi.BinaryInput fileData, ConnectApi.RepositoryFolderItem result) { } + global static void setTestAddRepositoryItem(String repositoryId, String repositoryFolderId, ConnectApi.ContentHubItemInput file, ConnectApi.BinaryInput fileData, ConnectApi.RepositoryFolderItem result) { } + global static void setTestAddRepositoryItem(String communityId, String repositoryId, String repositoryFolderId, ConnectApi.ContentHubItemInput file, ConnectApi.RepositoryFolderItem result) { } + global static void setTestAddRepositoryItem(String repositoryId, String repositoryFolderId, ConnectApi.ContentHubItemInput file, ConnectApi.RepositoryFolderItem result) { } + global static void setTestGetAllowedItemTypes(String communityId, String repositoryId, String repositoryFolderId, ConnectApi.ContentHubItemType filter, ConnectApi.ContentHubAllowedItemTypeCollection result) { } + global static void setTestGetAllowedItemTypes(String repositoryId, String repositoryFolderId, ConnectApi.ContentHubItemType filter, ConnectApi.ContentHubAllowedItemTypeCollection result) { } + global static void setTestGetAllowedItemTypes(String communityId, String repositoryId, String repositoryFolderId, ConnectApi.ContentHubAllowedItemTypeCollection result) { } + global static void setTestGetAllowedItemTypes(String repositoryId, String repositoryFolderId, ConnectApi.ContentHubAllowedItemTypeCollection result) { } + global static void setTestGetFilePreview(String communityId, String repositoryId, String repositoryFileId, ConnectApi.FilePreviewFormat formatType, Integer startPageNumber, Integer endPageNumber, ConnectApi.FilePreview result) { } + global static void setTestGetFilePreview(String repositoryId, String repositoryFileId, ConnectApi.FilePreviewFormat formatType, Integer startPageNumber, Integer endPageNumber, ConnectApi.FilePreview result) { } + global static void setTestGetFilePreview(String communityId, String repositoryId, String repositoryFileId, ConnectApi.FilePreviewFormat formatType, ConnectApi.FilePreview result) { } + global static void setTestGetFilePreview(String repositoryId, String repositoryFileId, ConnectApi.FilePreviewFormat formatType, ConnectApi.FilePreview result) { } + global static void setTestGetItemType(String communityId, String repositoryId, String repositoryItemTypeId, ConnectApi.ContentHubItemTypeDetail result) { } + global static void setTestGetItemType(String repositoryId, String repositoryItemTypeId, ConnectApi.ContentHubItemTypeDetail result) { } + global static void setTestGetPreviews(String communityId, String repositoryId, String repositoryFileId, ConnectApi.FilePreviewCollection result) { } + global static void setTestGetPreviews(String repositoryId, String repositoryFileId, ConnectApi.FilePreviewCollection result) { } + global static void setTestGetRepositories(String communityId, Integer pageParam, Integer pageSize, ConnectApi.ContentHubRepositoryCollection result) { } + global static void setTestGetRepositories(Integer pageParam, Integer pageSize, ConnectApi.ContentHubRepositoryCollection result) { } + global static void setTestGetRepositories(String communityId, ConnectApi.ContentHubRepositoryCollection result) { } + global static void setTestGetRepositories(ConnectApi.ContentHubRepositoryCollection result) { } + global static void setTestGetRepository(String communityId, String repositoryId, ConnectApi.ContentHubRepository result) { } + global static void setTestGetRepository(String repositoryId, ConnectApi.ContentHubRepository result) { } + global static void setTestGetRepositoryFile(String communityId, String repositoryId, String repositoryFileId, Boolean includeExternalFilePermissionsInfo, ConnectApi.RepositoryFileDetail result) { } + global static void setTestGetRepositoryFile(String repositoryId, String repositoryFileId, Boolean includeExternalFilePermissionsInfo, ConnectApi.RepositoryFileDetail result) { } + global static void setTestGetRepositoryFile(String communityId, String repositoryId, String repositoryFileId, ConnectApi.RepositoryFileDetail result) { } + global static void setTestGetRepositoryFile(String repositoryId, String repositoryFileId, ConnectApi.RepositoryFileDetail result) { } + global static void setTestGetRepositoryFolder(String communityId, String repositoryId, String repositoryFolderId, ConnectApi.RepositoryFolderDetail result) { } + global static void setTestGetRepositoryFolder(String repositoryId, String repositoryFolderId, ConnectApi.RepositoryFolderDetail result) { } + global static void setTestGetRepositoryFolderItems(String communityId, String repositoryId, String repositoryFolderId, Integer pageParam, Integer pageSize, ConnectApi.RepositoryFolderItemsCollection result) { } + global static void setTestGetRepositoryFolderItems(String repositoryId, String repositoryFolderId, Integer pageParam, Integer pageSize, ConnectApi.RepositoryFolderItemsCollection result) { } + global static void setTestGetRepositoryFolderItems(String communityId, String repositoryId, String repositoryFolderId, ConnectApi.RepositoryFolderItemsCollection result) { } + global static void setTestGetRepositoryFolderItems(String repositoryId, String repositoryFolderId, ConnectApi.RepositoryFolderItemsCollection result) { } + global static void setTestUpdateRepositoryFile(String communityId, String repositoryId, String repositoryFileId, ConnectApi.ContentHubItemInput file, ConnectApi.BinaryInput fileData, ConnectApi.RepositoryFileDetail result) { } + global static void setTestUpdateRepositoryFile(String repositoryId, String repositoryFileId, ConnectApi.ContentHubItemInput file, ConnectApi.BinaryInput fileData, ConnectApi.RepositoryFileDetail result) { } + global static void setTestUpdateRepositoryFile(String communityId, String repositoryId, String repositoryFileId, ConnectApi.ContentHubItemInput file, ConnectApi.RepositoryFileDetail result) { } + global static void setTestUpdateRepositoryFile(String repositoryId, String repositoryFileId, ConnectApi.ContentHubItemInput file, ConnectApi.RepositoryFileDetail result) { } + global static ConnectApi.RepositoryFileDetail updateRepositoryFile(String communityId, String repositoryId, String repositoryFileId, ConnectApi.ContentHubItemInput file, ConnectApi.BinaryInput fileData) { } + global static ConnectApi.RepositoryFileDetail updateRepositoryFile(String repositoryId, String repositoryFileId, ConnectApi.ContentHubItemInput file, ConnectApi.BinaryInput fileData) { } + global static ConnectApi.RepositoryFileDetail updateRepositoryFile(String communityId, String repositoryId, String repositoryFileId, ConnectApi.ContentHubItemInput file) { } + global static ConnectApi.RepositoryFileDetail updateRepositoryFile(String repositoryId, String repositoryFileId, ConnectApi.ContentHubItemInput file) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubAllowedItemTypeCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubAllowedItemTypeCollection.cls new file mode 100644 index 0000000..a80d1ac --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubAllowedItemTypeCollection.cls @@ -0,0 +1,10 @@ +global class ContentHubAllowedItemTypeCollection { + global List allowedItemTypes; + global ContentHubAllowedItemTypeCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubAuthenticationProtocol.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubAuthenticationProtocol.cls new file mode 100644 index 0000000..ce61bd3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubAuthenticationProtocol.cls @@ -0,0 +1,5 @@ +global enum ContentHubAuthenticationProtocol { +NOAUTHENTICATION, +OAUTH, +PASSWORD +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubDirectoryEntryType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubDirectoryEntryType.cls new file mode 100644 index 0000000..a7717f8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubDirectoryEntryType.cls @@ -0,0 +1,4 @@ +global enum ContentHubDirectoryEntryType { +GROUPENTRY, +USERENTRY +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubExternalItemSharingType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubExternalItemSharingType.cls new file mode 100644 index 0000000..6fa8d44 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubExternalItemSharingType.cls @@ -0,0 +1,5 @@ +global enum ContentHubExternalItemSharingType { +DOMAINSHARING, +PRIVATESHARING, +PUBLICSHARING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubFieldDefinition.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubFieldDefinition.cls new file mode 100644 index 0000000..39ee428 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubFieldDefinition.cls @@ -0,0 +1,14 @@ +global class ContentHubFieldDefinition { + global String displayName; + global Boolean isMandatory; + global Integer maxLength; + global String name; + global ConnectApi.ContentHubVariableType type; + global ContentHubFieldDefinition() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubFieldValueInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubFieldValueInput.cls new file mode 100644 index 0000000..63c24d4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubFieldValueInput.cls @@ -0,0 +1,10 @@ +global class ContentHubFieldValueInput { + global String name; + global String value; + global ContentHubFieldValueInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubGroupType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubGroupType.cls new file mode 100644 index 0000000..bf88aac --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubGroupType.cls @@ -0,0 +1,5 @@ +global enum ContentHubGroupType { +EVERYBODY, +EVERYBODYINDOMAIN, +UNKNOWN +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubItemInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubItemInput.cls new file mode 100644 index 0000000..d452bf0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubItemInput.cls @@ -0,0 +1,10 @@ +global class ContentHubItemInput { + global List fields; + global String itemTypeId; + global ContentHubItemInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubItemType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubItemType.cls new file mode 100644 index 0000000..6f0e099 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubItemType.cls @@ -0,0 +1,5 @@ +global enum ContentHubItemType { +ANY, +FILESONLY, +FOLDERSONLY +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubItemTypeDetail.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubItemTypeDetail.cls new file mode 100644 index 0000000..74f8f80 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubItemTypeDetail.cls @@ -0,0 +1,10 @@ +global class ContentHubItemTypeDetail { + global List fields; + global ContentHubItemTypeDetail() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubItemTypeSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubItemTypeSummary.cls new file mode 100644 index 0000000..4f389c8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubItemTypeSummary.cls @@ -0,0 +1,9 @@ +global class ContentHubItemTypeSummary { + global ContentHubItemTypeSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubPermission.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubPermission.cls new file mode 100644 index 0000000..d2e1b6f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubPermission.cls @@ -0,0 +1,12 @@ +global class ContentHubPermission { + global ConnectApi.AbstractDirectoryEntrySummary directoryEntry; + global Boolean isUpdatable; + global List rights; + global ContentHubPermission() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubPermissionCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubPermissionCollection.cls new file mode 100644 index 0000000..22f1ac8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubPermissionCollection.cls @@ -0,0 +1,10 @@ +global class ContentHubPermissionCollection { + global List permissions; + global ContentHubPermissionCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubPermissionType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubPermissionType.cls new file mode 100644 index 0000000..54811ec --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubPermissionType.cls @@ -0,0 +1,11 @@ +global class ContentHubPermissionType { + global String id; + global String label; + global ContentHubPermissionType() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubProviderType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubProviderType.cls new file mode 100644 index 0000000..f7fe7ac --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubProviderType.cls @@ -0,0 +1,11 @@ +global class ContentHubProviderType { + global String label; + global String type; + global ContentHubProviderType() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubRepository.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubRepository.cls new file mode 100644 index 0000000..9fb1975 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubRepository.cls @@ -0,0 +1,14 @@ +global class ContentHubRepository { + global ConnectApi.ContentHubRepositoryAuthentication authentication; + global ConnectApi.ContentHubRepositoryFeatures features; + global String label; + global ConnectApi.ContentHubProviderType providerType; + global String rootFolderItemsUrl; + global ContentHubRepository() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubRepositoryAuthentication.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubRepositoryAuthentication.cls new file mode 100644 index 0000000..ce2c1fc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubRepositoryAuthentication.cls @@ -0,0 +1,12 @@ +global class ContentHubRepositoryAuthentication { + global String authFlowUrl; + global ConnectApi.ContentHubAuthenticationProtocol authProtocol; + global Boolean userHasAuthSettings; + global ContentHubRepositoryAuthentication() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubRepositoryCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubRepositoryCollection.cls new file mode 100644 index 0000000..4e1424b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubRepositoryCollection.cls @@ -0,0 +1,13 @@ +global class ContentHubRepositoryCollection { + global String currentPageUrl; + global String nextPageUrl; + global String previousPageUrl; + global List repositories; + global ContentHubRepositoryCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubRepositoryFeatures.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubRepositoryFeatures.cls new file mode 100644 index 0000000..5988533 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubRepositoryFeatures.cls @@ -0,0 +1,11 @@ +global class ContentHubRepositoryFeatures { + global Boolean canBrowse; + global Boolean canSearch; + global ContentHubRepositoryFeatures() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubStreamSupport.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubStreamSupport.cls new file mode 100644 index 0000000..8b05e92 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubStreamSupport.cls @@ -0,0 +1,5 @@ +global enum ContentHubStreamSupport { +CONTENTSTREAMALLOWED, +CONTENTSTREAMNOTALLOWED, +CONTENTSTREAMREQUIRED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubVariableType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubVariableType.cls new file mode 100644 index 0000000..af65c86 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentHubVariableType.cls @@ -0,0 +1,11 @@ +global enum ContentHubVariableType { +BOOLEANTYPE, +DATETIMETYPE, +DECIMALTYPE, +HTMLTYPE, +IDTYPE, +INTEGERTYPE, +STRINGTYPE, +URITYPE, +XMLTYPE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentImageFile.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentImageFile.cls new file mode 100644 index 0000000..9840132 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentImageFile.cls @@ -0,0 +1,11 @@ +global class ContentImageFile { + global ConnectApi.ContentImageFileDetails masterDetail; + global List renditionDimensions; + global ContentImageFile() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentImageFileDetails.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentImageFileDetails.cls new file mode 100644 index 0000000..83ce323 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContentImageFileDetails.cls @@ -0,0 +1,13 @@ +global class ContentImageFileDetails { + global Integer height; + global String imageFormat; + global String orientation; + global Integer width; + global ContentImageFileDetails() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContextSupertype.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContextSupertype.cls new file mode 100644 index 0000000..13de1c0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContextSupertype.cls @@ -0,0 +1,5 @@ +global enum ContextSupertype { +ANALYTICS, +COMMANDER, +SOBJECT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContractInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContractInputRepresentation.cls new file mode 100644 index 0000000..e55fadc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContractInputRepresentation.cls @@ -0,0 +1,12 @@ +global class ContractInputRepresentation { + global Boolean isAutoDocgenRequired; + global String recordTypeName; + global String sourceObjectId; + global String templateName; + global ContractInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContractOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContractOutputRepresentation.cls new file mode 100644 index 0000000..fa42e69 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ContractOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class ContractOutputRepresentation { + global List data; + global ContractOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConversationApplicationDefinition.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConversationApplicationDefinition.cls new file mode 100644 index 0000000..818f0e1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConversationApplicationDefinition.cls @@ -0,0 +1,3 @@ +global class ConversationApplicationDefinition { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConversationApplicationDefinitionDetailRespresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConversationApplicationDefinitionDetailRespresentation.cls new file mode 100644 index 0000000..55bd256 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConversationApplicationDefinitionDetailRespresentation.cls @@ -0,0 +1,15 @@ +global class ConversationApplicationDefinitionDetailRespresentation { + global ConnectApi.BotInfoRepresentation botInfo; + global String errorMessage; + global ConnectApi.ConversationApplicationIntegrationType integrationApplication; + global String integrationName; + global Boolean isSuccess; + global String runtimeUrl; + global ConversationApplicationDefinitionDetailRespresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConversationApplicationIntegrationType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConversationApplicationIntegrationType.cls new file mode 100644 index 0000000..453d4ac --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConversationApplicationIntegrationType.cls @@ -0,0 +1,4 @@ +global enum ConversationApplicationIntegrationType { +API, +SLACK +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConversationReasonChannelType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConversationReasonChannelType.cls new file mode 100644 index 0000000..2a17f20 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConversationReasonChannelType.cls @@ -0,0 +1,5 @@ +global enum ConversationReasonChannelType { +EMAIL, +LIVECHATAGENT, +LIVECHATBOT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConversationRuntimeProxyMessageType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConversationRuntimeProxyMessageType.cls new file mode 100644 index 0000000..286d75f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConversationRuntimeProxyMessageType.cls @@ -0,0 +1,7 @@ +global enum ConversationRuntimeProxyMessageType { +CHOICES, +ESCALATE, +MESSAGEDEFINITION, +SESSIONENDED, +TEXT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConversationRuntimeProxyMessageWidget.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConversationRuntimeProxyMessageWidget.cls new file mode 100644 index 0000000..8b3ea53 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConversationRuntimeProxyMessageWidget.cls @@ -0,0 +1,4 @@ +global enum ConversationRuntimeProxyMessageWidget { +BUTTONS, +MENU +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConvertNegativeInvoiceLinesInputRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConvertNegativeInvoiceLinesInputRequest.cls new file mode 100644 index 0000000..fe572ec --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConvertNegativeInvoiceLinesInputRequest.cls @@ -0,0 +1,12 @@ +global class ConvertNegativeInvoiceLinesInputRequest { + global String description; + global String effectiveDate; + global String invoiceId; + global List invoiceLines; + global ConvertNegativeInvoiceLinesInputRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConvertNegativeInvoiceLinesResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConvertNegativeInvoiceLinesResult.cls new file mode 100644 index 0000000..1af4543 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ConvertNegativeInvoiceLinesResult.cls @@ -0,0 +1,12 @@ +global class ConvertNegativeInvoiceLinesResult { + global List errors; + global String id; + global Boolean success; + global ConvertNegativeInvoiceLinesResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CorporateMemberInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CorporateMemberInput.cls new file mode 100644 index 0000000..f636925 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CorporateMemberInput.cls @@ -0,0 +1,22 @@ +global class CorporateMemberInput { + global Map additionalMemberFieldValues; + global ConnectApi.MemberAccountInput associatedAccountDetails; + global Boolean canReceivePartnerPromotions; + global Boolean canReceivePromotions; + global Boolean createTransactionJournals; + global ConnectApi.EnrollmentChannelResource enrollmentChannel; + global Datetime enrollmentDate; + global String memberStatus; + global Datetime membershipEndDate; + global String membershipNumber; + global String referredBy; + global String referredByMemberReferralCode; + global ConnectApi.StatementFrequencyResource transactionJournalStatementFrequency; + global ConnectApi.StatementMethodResource transactionJournalStatementMethod; + global CorporateMemberInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CorporateMemberOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CorporateMemberOutput.cls new file mode 100644 index 0000000..6b5990d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CorporateMemberOutput.cls @@ -0,0 +1,14 @@ +global class CorporateMemberOutput { + global String accountId; + global String loyaltyProgramMemberId; + global String loyaltyProgramName; + global String membershipNumber; + global List transactionJournals; + global CorporateMemberOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CouponCodeRedemptionCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CouponCodeRedemptionCollection.cls new file mode 100644 index 0000000..3f5dc68 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CouponCodeRedemptionCollection.cls @@ -0,0 +1,10 @@ +global class CouponCodeRedemptionCollection { + global List couponCodeRedemptionResults; + global CouponCodeRedemptionCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CouponCodeRedemptionInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CouponCodeRedemptionInput.cls new file mode 100644 index 0000000..5a111e4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CouponCodeRedemptionInput.cls @@ -0,0 +1,11 @@ +global class CouponCodeRedemptionInput { + global List couponCodes; + global String effectiveAccountId; + global String transactionId; + global CouponCodeRedemptionInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CouponCodeRedemptionResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CouponCodeRedemptionResult.cls new file mode 100644 index 0000000..19638c8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CouponCodeRedemptionResult.cls @@ -0,0 +1,14 @@ +global class CouponCodeRedemptionResult { + global Integer availableRedemptions; + global String couponCode; + global String errorMsg; + global Boolean isSuccess; + global Integer redemptionLimit; + global CouponCodeRedemptionResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateCredentialAction.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateCredentialAction.cls new file mode 100644 index 0000000..cceab8b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateCredentialAction.cls @@ -0,0 +1,3 @@ +global enum CreateCredentialAction { +REFRESH +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateCreditMemoInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateCreditMemoInputRepresentation.cls new file mode 100644 index 0000000..ef28cfd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateCreditMemoInputRepresentation.cls @@ -0,0 +1,9 @@ +global class CreateCreditMemoInputRepresentation { + global List changeOrderIds; + global CreateCreditMemoInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateCreditMemoOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateCreditMemoOutputRepresentation.cls new file mode 100644 index 0000000..e383f0a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateCreditMemoOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class CreateCreditMemoOutputRepresentation { + global String creditMemoId; + global CreateCreditMemoOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateInvoiceFromChangeOrdersInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateInvoiceFromChangeOrdersInputRepresentation.cls new file mode 100644 index 0000000..0d00152 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateInvoiceFromChangeOrdersInputRepresentation.cls @@ -0,0 +1,10 @@ +global class CreateInvoiceFromChangeOrdersInputRepresentation { + global List changeOrderIds; + global String orderSummaryId; + global CreateInvoiceFromChangeOrdersInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateMultipleInvoicesFromChangeOrdersInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateMultipleInvoicesFromChangeOrdersInputRepresentation.cls new file mode 100644 index 0000000..a8de595 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateMultipleInvoicesFromChangeOrdersInputRepresentation.cls @@ -0,0 +1,9 @@ +global class CreateMultipleInvoicesFromChangeOrdersInputRepresentation { + global List invoicesFromChangeOrders; + global CreateMultipleInvoicesFromChangeOrdersInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateMultipleInvoicesFromChangeOrdersOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateMultipleInvoicesFromChangeOrdersOutputRepresentation.cls new file mode 100644 index 0000000..72d6445 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateMultipleInvoicesFromChangeOrdersOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class CreateMultipleInvoicesFromChangeOrdersOutputRepresentation { + global List invoices; + global CreateMultipleInvoicesFromChangeOrdersOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateOrderPaymentSummaryInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateOrderPaymentSummaryInputRepresentation.cls new file mode 100644 index 0000000..d707c3c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateOrderPaymentSummaryInputRepresentation.cls @@ -0,0 +1,11 @@ +global class CreateOrderPaymentSummaryInputRepresentation { + global String orderSummaryId; + global String paymentAuthorizationId; + global List paymentIds; + global CreateOrderPaymentSummaryInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateOrderPaymentSummaryOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateOrderPaymentSummaryOutputRepresentation.cls new file mode 100644 index 0000000..3561ea5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateOrderPaymentSummaryOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class CreateOrderPaymentSummaryOutputRepresentation { + global String orderPaymentSummaryId; + global CreateOrderPaymentSummaryOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreatePatientResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreatePatientResult.cls new file mode 100644 index 0000000..b2f85d0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreatePatientResult.cls @@ -0,0 +1,12 @@ +global class CreatePatientResult { + global ConnectApi.ErrorRepresentation error; + global Boolean isSuccess; + global String patientAccountId; + global CreatePatientResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateRevenueElementRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateRevenueElementRequest.cls new file mode 100644 index 0000000..fae25ed --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateRevenueElementRequest.cls @@ -0,0 +1,9 @@ +global class CreateRevenueElementRequest { + global List revenueElementInputs; + global CreateRevenueElementRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateServiceAppointmentInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateServiceAppointmentInput.cls new file mode 100644 index 0000000..0aad7cf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateServiceAppointmentInput.cls @@ -0,0 +1,8 @@ +global class CreateServiceAppointmentInput { + global CreateServiceAppointmentInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateServiceAppointmentResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateServiceAppointmentResult.cls new file mode 100644 index 0000000..c9b050e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreateServiceAppointmentResult.cls @@ -0,0 +1,12 @@ +global class CreateServiceAppointmentResult { + global List assignedResourceIds; + global String parentRecordId; + global String serviceAppointmentId; + global CreateServiceAppointmentResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Credential.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Credential.cls new file mode 100644 index 0000000..5967bb0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Credential.cls @@ -0,0 +1,16 @@ +global class Credential { + global ConnectApi.CredentialAuthenticationProtocol authenticationProtocol; + global ConnectApi.CredentialAuthenticationProtocolVariant authenticationProtocolVariant; + global ConnectApi.CredentialAuthenticationStatus authenticationStatus; + global Map credentials; + global String externalCredential; + global String principalName; + global ConnectApi.CredentialPrincipalType principalType; + global Credential() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialAuthenticationProtocol.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialAuthenticationProtocol.cls new file mode 100644 index 0000000..a375280 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialAuthenticationProtocol.cls @@ -0,0 +1,5 @@ +global enum CredentialAuthenticationProtocol { +AWSSV4, +CUSTOM, +OAUTH +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialAuthenticationProtocolVariant.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialAuthenticationProtocolVariant.cls new file mode 100644 index 0000000..6345f49 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialAuthenticationProtocolVariant.cls @@ -0,0 +1,5 @@ +global enum CredentialAuthenticationProtocolVariant { +AWSSV4_STS, +JWTBEARER, +ROLESANYWHERE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialAuthenticationStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialAuthenticationStatus.cls new file mode 100644 index 0000000..0076635 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialAuthenticationStatus.cls @@ -0,0 +1,5 @@ +global enum CredentialAuthenticationStatus { +CONFIGURED, +NOTCONFIGURED, +UNKNOWN +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialCustomHeader.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialCustomHeader.cls new file mode 100644 index 0000000..572a057 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialCustomHeader.cls @@ -0,0 +1,13 @@ +global class CredentialCustomHeader { + global String headerName; + global String headerValue; + global String id; + global Integer sequenceNumber; + global CredentialCustomHeader() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialCustomHeaderInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialCustomHeaderInput.cls new file mode 100644 index 0000000..ea5e52e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialCustomHeaderInput.cls @@ -0,0 +1,12 @@ +global class CredentialCustomHeaderInput { + global String headerName; + global String headerValue; + global String id; + global Integer sequenceNumber; + global CredentialCustomHeaderInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialInput.cls new file mode 100644 index 0000000..20e28a0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialInput.cls @@ -0,0 +1,14 @@ +global class CredentialInput { + global ConnectApi.CredentialAuthenticationProtocol authenticationProtocol; + global ConnectApi.CredentialAuthenticationProtocolVariant authenticationProtocolVariant; + global Map credentials; + global String externalCredential; + global String principalName; + global ConnectApi.CredentialPrincipalType principalType; + global CredentialInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialPrincipalType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialPrincipalType.cls new file mode 100644 index 0000000..d488bfa --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialPrincipalType.cls @@ -0,0 +1,5 @@ +global enum CredentialPrincipalType { +AWSSTSPRINCIPAL, +NAMEDPRINCIPAL, +PERUSERPRINCIPAL +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialValue.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialValue.cls new file mode 100644 index 0000000..ff4c720 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialValue.cls @@ -0,0 +1,12 @@ +global class CredentialValue { + global Boolean encrypted; + global Integer revision; + global String value; + global CredentialValue() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialValueInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialValueInput.cls new file mode 100644 index 0000000..90e7663 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CredentialValueInput.cls @@ -0,0 +1,11 @@ +global class CredentialValueInput { + global Boolean encrypted; + global Integer revision; + global String value; + global CredentialValueInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditInvoiceInputRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditInvoiceInputRequest.cls new file mode 100644 index 0000000..0c14d8d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditInvoiceInputRequest.cls @@ -0,0 +1,15 @@ +global class CreditInvoiceInputRequest { + global String description; + global String effectiveDate; + global String invoiceId; + global List invoiceLines; + global String taxEffectiveDate; + global ConnectApi.TaxStrategyEnum taxStrategy; + global ConnectApi.CreditMemoTypeEnum type; + global CreditInvoiceInputRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditInvoiceInvoiceLine.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditInvoiceInvoiceLine.cls new file mode 100644 index 0000000..89774eb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditInvoiceInvoiceLine.cls @@ -0,0 +1,15 @@ +global class CreditInvoiceInvoiceLine { + global ConnectApi.CreditMemoAddressesInputRequest addresses; + global Double amountToCredit; + global String invoiceLineId; + global Boolean isTaxOnlyCredit; + global String taxEffectiveDate; + global ConnectApi.TaxStrategyEnum taxStrategy; + global List taxes; + global CreditInvoiceInvoiceLine() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditInvoiceInvoiceLineTax.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditInvoiceInvoiceLineTax.cls new file mode 100644 index 0000000..f235371 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditInvoiceInvoiceLineTax.cls @@ -0,0 +1,12 @@ +global class CreditInvoiceInvoiceLineTax { + global Double taxAmount; + global String taxCode; + global String taxName; + global Double taxRate; + global CreditInvoiceInvoiceLineTax() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoAddressesInputRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoAddressesInputRequest.cls new file mode 100644 index 0000000..27d3c98 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoAddressesInputRequest.cls @@ -0,0 +1,10 @@ +global class CreditMemoAddressesInputRequest { + global ConnectApi.RevenueAddressInputRepresentation billingAddress; + global ConnectApi.RevenueAddressInputRepresentation shippingAddress; + global CreditMemoAddressesInputRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoApply.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoApply.cls new file mode 100644 index 0000000..096a22f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoApply.cls @@ -0,0 +1,6 @@ +global class CreditMemoApply { + global static ConnectApi.ApplyCreditResults applyCreditMemos(ConnectApi.CreditMemoApplyInputRequest CreditMemoApplyInput, String creditMemoId) { } + global Object clone() { } + global static ConnectApi.UnapplyCreditResult unapplyCreditMemos(ConnectApi.CreditMemoUnapplyInputRequest CreditMemoUnapplyInput, String creditMemoInvApplicationId) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoApplyInputRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoApplyInputRequest.cls new file mode 100644 index 0000000..4c4d49c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoApplyInputRequest.cls @@ -0,0 +1,10 @@ +global class CreditMemoApplyInputRequest { + global List applications; + global String creditMemoId; + global CreditMemoApplyInputRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoBaseInputRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoBaseInputRequest.cls new file mode 100644 index 0000000..5f61622 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoBaseInputRequest.cls @@ -0,0 +1,18 @@ +global class CreditMemoBaseInputRequest { + global ConnectApi.CreditMemoAddressesInputRequest addresses; + global String description; + global String endDate; + global Boolean isTaxOnlyCredit; + global String productId; + global String productName; + global String startDate; + global String taxEffectiveDate; + global ConnectApi.StandaloneTaxStrategyEnum taxStrategy; + global List taxes; + global String treatmentId; + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoStatus.cls new file mode 100644 index 0000000..22c3e50 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoStatus.cls @@ -0,0 +1,7 @@ +global enum CreditMemoStatus { +CANCELED, +DRAFT, +ERROR, +PENDING, +POSTED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoTypeEnum.cls new file mode 100644 index 0000000..51f00e5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoTypeEnum.cls @@ -0,0 +1,3 @@ +global enum CreditMemoTypeEnum { +POSTED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoUnapplyInputRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoUnapplyInputRequest.cls new file mode 100644 index 0000000..cfa7d36 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CreditMemoUnapplyInputRequest.cls @@ -0,0 +1,11 @@ +global class CreditMemoUnapplyInputRequest { + global String creditMemoInvApplicationId; + global String description; + global String effectiveDate; + global CreditMemoUnapplyInputRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CurrencyRecordField.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CurrencyRecordField.cls new file mode 100644 index 0000000..b6d6d22 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CurrencyRecordField.cls @@ -0,0 +1,9 @@ +global class CurrencyRecordField { + global CurrencyRecordField() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CustomListAudienceCriteria.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CustomListAudienceCriteria.cls new file mode 100644 index 0000000..de78fca --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CustomListAudienceCriteria.cls @@ -0,0 +1,11 @@ +global class CustomListAudienceCriteria { + global Integer memberCount; + global ConnectApi.UserReferencePage members; + global CustomListAudienceCriteria() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CustomListAudienceCriteriaInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CustomListAudienceCriteriaInput.cls new file mode 100644 index 0000000..d53ca30 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CustomListAudienceCriteriaInput.cls @@ -0,0 +1,10 @@ +global class CustomListAudienceCriteriaInput { + global ConnectApi.RecommendationAudienceMemberOperationType memberOperationType; + global List members; + global CustomListAudienceCriteriaInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CycleDetectionInputRequestRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CycleDetectionInputRequestRepresentation.cls new file mode 100644 index 0000000..1e9ac36 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CycleDetectionInputRequestRepresentation.cls @@ -0,0 +1,12 @@ +global class CycleDetectionInputRequestRepresentation { + global String associationType; + global String currentAccountRecordId; + global String namespace; + global String relatedAccountRecordId; + global CycleDetectionInputRequestRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CycleDetectionOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CycleDetectionOutputRepresentation.cls new file mode 100644 index 0000000..cfb3f5d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/CycleDetectionOutputRepresentation.cls @@ -0,0 +1,12 @@ +global class CycleDetectionOutputRepresentation { + global Boolean cycleDetected; + global String errorCode; + global String errorMessage; + global CycleDetectionOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DaoSourceObjectType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DaoSourceObjectType.cls new file mode 100644 index 0000000..321e05f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DaoSourceObjectType.cls @@ -0,0 +1,4 @@ +global enum DaoSourceObjectType { +CIO, +DMO +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DashboardComponentAttachment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DashboardComponentAttachment.cls new file mode 100644 index 0000000..6541ef7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DashboardComponentAttachment.cls @@ -0,0 +1,19 @@ +global class DashboardComponentAttachment { + global String componentId; + global String componentName; + global String dashboardBodyText; + global String dashboardId; + global String dashboardName; + global String fullSizeImageUrl; + global Datetime lastRefreshDate; + global String lastRefreshDateDisplayText; + global ConnectApi.UserSummary runningUser; + global String thumbnailUrl; + global DashboardComponentAttachment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DashboardComponentSnapshot.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DashboardComponentSnapshot.cls new file mode 100644 index 0000000..dbb00fd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DashboardComponentSnapshot.cls @@ -0,0 +1,19 @@ +global class DashboardComponentSnapshot { + global String componentId; + global String componentName; + global String dashboardBodyText; + global String dashboardId; + global String dashboardName; + global String fullSizeImageUrl; + global Datetime lastRefreshDate; + global String lastRefreshDateDisplayText; + global ConnectApi.UserSummary runningUser; + global String thumbnailUrl; + global DashboardComponentSnapshot() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DashboardComponentSnapshotCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DashboardComponentSnapshotCapability.cls new file mode 100644 index 0000000..33bcda6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DashboardComponentSnapshotCapability.cls @@ -0,0 +1,10 @@ +global class DashboardComponentSnapshotCapability { + global ConnectApi.DashboardComponentSnapshot dashboardComponentSnapshot; + global DashboardComponentSnapshotCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataActionStatusEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataActionStatusEnum.cls new file mode 100644 index 0000000..39f1cf8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataActionStatusEnum.cls @@ -0,0 +1,6 @@ +global enum DataActionStatusEnum { +ACTIVE, +ERROR, +INACTIVE, +PROCESSING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataActionStatusErrorCodeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataActionStatusErrorCodeEnum.cls new file mode 100644 index 0000000..2d7aaf8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataActionStatusErrorCodeEnum.cls @@ -0,0 +1,5 @@ +global enum DataActionStatusErrorCodeEnum { +CREATEFAILED, +DELETEFAILED, +PROCESSINGFAILED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataActionTargetStatusEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataActionTargetStatusEnum.cls new file mode 100644 index 0000000..3cc8bfa --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataActionTargetStatusEnum.cls @@ -0,0 +1,6 @@ +global enum DataActionTargetStatusEnum { +ACTIVE, +ERROR, +INACTIVE, +PROCESSING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataActionTargetStatusErrorCodeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataActionTargetStatusErrorCodeEnum.cls new file mode 100644 index 0000000..218830f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataActionTargetStatusErrorCodeEnum.cls @@ -0,0 +1,5 @@ +global enum DataActionTargetStatusErrorCodeEnum { +CREATEFAILED, +DELETEFAILED, +PROCESSINGFAILED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataActionTargetTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataActionTargetTypeEnum.cls new file mode 100644 index 0000000..6e58aca --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataActionTargetTypeEnum.cls @@ -0,0 +1,5 @@ +global enum DataActionTargetTypeEnum { +CORE, +MARKETINGCLOUD, +WEBHOOK +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataEnrichmentFilterOperationEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataEnrichmentFilterOperationEnum.cls new file mode 100644 index 0000000..2860558 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataEnrichmentFilterOperationEnum.cls @@ -0,0 +1,8 @@ +global enum DataEnrichmentFilterOperationEnum { +EQUALS, +GREATERTHAN, +GREATERTHANEQUALTO, +LESSTHAN, +LESSTHANEQUALTO, +NOTEQUALS +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataEnrichmentStatusEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataEnrichmentStatusEnum.cls new file mode 100644 index 0000000..68facfd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataEnrichmentStatusEnum.cls @@ -0,0 +1,6 @@ +global enum DataEnrichmentStatusEnum { +ACTIVE, +FAILED, +INACTIVE, +PROCESSING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataKitBundleConnectorTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataKitBundleConnectorTypeEnum.cls new file mode 100644 index 0000000..0b0cc4b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataKitBundleConnectorTypeEnum.cls @@ -0,0 +1,4 @@ +global enum DataKitBundleConnectorTypeEnum { +CRM, +S3 +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataKitComponentTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataKitComponentTypeEnum.cls new file mode 100644 index 0000000..6bf58eb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataKitComponentTypeEnum.cls @@ -0,0 +1,4 @@ +global enum DataKitComponentTypeEnum { +CALCULATEDINSIGHT, +DATASTREAMBUNDLE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataProviderSchema.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataProviderSchema.cls new file mode 100644 index 0000000..10618e5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DataProviderSchema.cls @@ -0,0 +1,10 @@ +global class DataProviderSchema { + global Map schema; + global DataProviderSchema() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Datacloud.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Datacloud.cls new file mode 100644 index 0000000..088381d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Datacloud.cls @@ -0,0 +1,3 @@ +global class Datacloud { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudCompanies.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudCompanies.cls new file mode 100644 index 0000000..81c80ed --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudCompanies.cls @@ -0,0 +1,14 @@ +global class DatacloudCompanies { + global List companies; + global String currentPageUrl; + global String nextPageUrl; + global String previousPageUrl; + global Integer total; + global DatacloudCompanies() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudCompany.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudCompany.cls new file mode 100644 index 0000000..4d0b61e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudCompany.cls @@ -0,0 +1,32 @@ +global class DatacloudCompany { + global Integer activeContacts; + global ConnectApi.Address address; + global Double annualRevenue; + global String companyId; + global String description; + global String dunsNumber; + global String industry; + global Boolean isInactive; + global Boolean isOwned; + global String naicsCode; + global String naicsDescription; + global String name; + global Integer numberOfEmployees; + global String ownership; + global List phoneNumbers; + global String sic; + global String sicDescription; + global String site; + global String tickerSymbol; + global String tradeStyle; + global Datetime updatedDate; + global String website; + global String yearStarted; + global DatacloudCompany() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudCompanyIdentifier.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudCompanyIdentifier.cls new file mode 100644 index 0000000..afe24df --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudCompanyIdentifier.cls @@ -0,0 +1,5 @@ +global enum DatacloudCompanyIdentifier { +ACCOUNTID, +DATACLOUDCOMPANYID, +DUNS +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudContact.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudContact.cls new file mode 100644 index 0000000..bb70da8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudContact.cls @@ -0,0 +1,23 @@ +global class DatacloudContact { + global ConnectApi.Address address; + global String companyId; + global String companyName; + global String contactId; + global String department; + global String email; + global String firstName; + global Boolean isInactive; + global Boolean isOwned; + global String lastName; + global String level; + global List phoneNumbers; + global String title; + global Datetime updatedDate; + global DatacloudContact() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudContacts.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudContacts.cls new file mode 100644 index 0000000..3fb835a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudContacts.cls @@ -0,0 +1,14 @@ +global class DatacloudContacts { + global List contacts; + global String currentPageUrl; + global String nextPageUrl; + global String previousPageUrl; + global Integer total; + global DatacloudContacts() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudImport.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudImport.cls new file mode 100644 index 0000000..abb4b18 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudImport.cls @@ -0,0 +1,15 @@ +global class DatacloudImport { + global Integer duplicatesSkippedCount; + global Integer errorCount; + global String errorMessageDescriptionUrl; + global List importStatus; + global Boolean orgAllowsDuplicates; + global Integer successCount; + global DatacloudImport() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudImportStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudImportStatus.cls new file mode 100644 index 0000000..c962cd7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudImportStatus.cls @@ -0,0 +1,11 @@ +global class DatacloudImportStatus { + global String datacloudId; + global ConnectApi.DatacloudImportStatusType importStatus; + global DatacloudImportStatus() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudImportStatusType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudImportStatusType.cls new file mode 100644 index 0000000..e5c8b3a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudImportStatusType.cls @@ -0,0 +1,5 @@ +global enum DatacloudImportStatusType { +DUPLICATE, +ERROR, +SUCCESS +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudInternalCompany.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudInternalCompany.cls new file mode 100644 index 0000000..0d56bc2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudInternalCompany.cls @@ -0,0 +1,15 @@ +global class DatacloudInternalCompany { + global String domesticUltimateDuns; + global ConnectApi.DatacloudCompany externalRepresentation; + global String globalUltimateDuns; + global Boolean isInCrm; + global Boolean isMarketable; + global String parentDuns; + global DatacloudInternalCompany() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudOrder.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudOrder.cls new file mode 100644 index 0000000..85f4bb5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudOrder.cls @@ -0,0 +1,14 @@ +global class DatacloudOrder { + global String entityUrl; + global String id; + global Integer purchaseCount; + global Datetime purchaseDate; + global String url; + global DatacloudOrder() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudOrderInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudOrderInput.cls new file mode 100644 index 0000000..4f7adff --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudOrderInput.cls @@ -0,0 +1,11 @@ +global class DatacloudOrderInput { + global List companyIds; + global List contactIds; + global ConnectApi.DatacloudUserType userType; + global DatacloudOrderInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudPurchaseUsage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudPurchaseUsage.cls new file mode 100644 index 0000000..e5bc6d0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudPurchaseUsage.cls @@ -0,0 +1,13 @@ +global class DatacloudPurchaseUsage { + global Integer listpoolCreditsAvailable; + global Integer listpoolCreditsUsed; + global Integer monthlyCreditsAvailable; + global Integer monthlyCreditsUsed; + global DatacloudPurchaseUsage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudUserType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudUserType.cls new file mode 100644 index 0000000..b8926e5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DatacloudUserType.cls @@ -0,0 +1,4 @@ +global enum DatacloudUserType { +LISTPOOL, +MONTHLY +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DateRecordField.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DateRecordField.cls new file mode 100644 index 0000000..acb2edd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DateRecordField.cls @@ -0,0 +1,10 @@ +global class DateRecordField { + global Datetime dateValue; + global DateRecordField() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTable.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTable.cls new file mode 100644 index 0000000..4490220 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTable.cls @@ -0,0 +1,3 @@ +global class DecisionTable { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableCollectOperator.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableCollectOperator.cls new file mode 100644 index 0000000..83d6be8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableCollectOperator.cls @@ -0,0 +1,7 @@ +global enum DecisionTableCollectOperator { +COUNT, +MAXIMUM, +MINIMUM, +NONE, +SUM +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableCondition.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableCondition.cls new file mode 100644 index 0000000..1ebf0a5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableCondition.cls @@ -0,0 +1,12 @@ +global class DecisionTableCondition { + global String fieldName; + global ConnectApi.DecisionTableOperator operator; + global String sourceObject; + global Object value; + global DecisionTableCondition() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableConditionType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableConditionType.cls new file mode 100644 index 0000000..dc2482b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableConditionType.cls @@ -0,0 +1,5 @@ +global enum DecisionTableConditionType { +ALL, +ANY, +CUSTOM +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableDataType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableDataType.cls new file mode 100644 index 0000000..24dd356 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableDataType.cls @@ -0,0 +1,8 @@ +global enum DecisionTableDataType { +BOOLEAN, +CURRENCY, +DATE, +NUMBER, +PERCENT, +STRING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableDefinitionOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableDefinitionOutput.cls new file mode 100644 index 0000000..9cf59a8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableDefinitionOutput.cls @@ -0,0 +1,24 @@ +global class DecisionTableDefinitionOutput { + global ConnectApi.DecisionTableCollectOperator collectOperator; + global String conditionCriteria; + global ConnectApi.DecisionTableConditionType conditionType; + global ConnectApi.DecisionTableHitPolicy decisionResultPolicy; + global String description; + global String fullName; + global String id; + global List parameters; + global String setupName; + global List sourceCriteria; + global String sourceObject; + global ConnectApi.DecisionTableSourceType sourceType; + global String sourceconditionLogic; + global ConnectApi.DecisionTableStatus status; + global ConnectApi.DecisionTableUsageType usageType; + global DecisionTableDefinitionOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableHitPolicy.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableHitPolicy.cls new file mode 100644 index 0000000..d7a9dd0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableHitPolicy.cls @@ -0,0 +1,9 @@ +global enum DecisionTableHitPolicy { +ANYVALUE, +COLLECTOPERATOR, +FIRSTMATCH, +OUTPUTORDER, +PRIORITY, +RULEORDER, +UNIQUEVALUES +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableInput.cls new file mode 100644 index 0000000..5de91b9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableInput.cls @@ -0,0 +1,10 @@ +global class DecisionTableInput { + global List conditions; + global String datasetLinkName; + global DecisionTableInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableOperator.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableOperator.cls new file mode 100644 index 0000000..52b410b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableOperator.cls @@ -0,0 +1,12 @@ +global enum DecisionTableOperator { +BETWEEN, +DOESNOTEXISTIN, +EQUALS, +EXISTSIN, +GREATEROREQUAL, +GREATERTHAN, +LESSOREQUAL, +LESSTHAN, +MATCHES, +NOTEQUALS +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableOperatorString.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableOperatorString.cls new file mode 100644 index 0000000..fdda612 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableOperatorString.cls @@ -0,0 +1,12 @@ +global enum DecisionTableOperatorString { +CONTAINS, +DOESNOTCONTAIN, +EQUALS, +GREATERTHAN, +GREATERTHANOREQUAL, +ISNOTNULL, +ISNULL, +LESSTHAN, +LESSTHANOREQUAL, +NOTEQUAL +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableOutcome.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableOutcome.cls new file mode 100644 index 0000000..29c85b0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableOutcome.cls @@ -0,0 +1,14 @@ +global class DecisionTableOutcome { + global Integer errorCode; + global String errorMessage; + global List outcomeList; + global String outcomeType; + global Boolean successStatus; + global DecisionTableOutcome() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableOutcomeItem.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableOutcomeItem.cls new file mode 100644 index 0000000..a80cb9c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableOutcomeItem.cls @@ -0,0 +1,10 @@ +global class DecisionTableOutcomeItem { + global Map values; + global DecisionTableOutcomeItem() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableOutput.cls new file mode 100644 index 0000000..71cb02a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableOutput.cls @@ -0,0 +1,13 @@ +global class DecisionTableOutput { + global String code; + global ConnectApi.DecisionTableDefinitionOutput decisionTable; + global Boolean isSuccess; + global String message; + global DecisionTableOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableParameterInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableParameterInput.cls new file mode 100644 index 0000000..00dd31e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableParameterInput.cls @@ -0,0 +1,20 @@ +global class DecisionTableParameterInput { + global String columnMapping; + global ConnectApi.DecisionTableDataType dataType; + global Integer decimalScale; + global String domainEntity; + global String fieldName; + global Boolean isGroupByField; + global Boolean isPriority; + global Integer maxlength; + global ConnectApi.DecisionTableOperator operator; + global Integer sequence; + global ConnectApi.DecisionTableSortType sortType; + global ConnectApi.DecisionTableParameterType usage; + global DecisionTableParameterInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableParameterOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableParameterOutput.cls new file mode 100644 index 0000000..57f116e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableParameterOutput.cls @@ -0,0 +1,21 @@ +global class DecisionTableParameterOutput { + global String columnMapping; + global ConnectApi.DecisionTableDataType dataType; + global Integer decimalScale; + global String domainEntity; + global String fieldName; + global Boolean isGroupByField; + global Boolean isPriority; + global Integer maxlength; + global ConnectApi.DecisionTableOperator operator; + global Integer sequence; + global ConnectApi.DecisionTableSortType sortType; + global ConnectApi.DecisionTableParameterType usage; + global DecisionTableParameterOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableParameterType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableParameterType.cls new file mode 100644 index 0000000..fd0044d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableParameterType.cls @@ -0,0 +1,4 @@ +global enum DecisionTableParameterType { +INPUT, +OUTPUT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableSortType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableSortType.cls new file mode 100644 index 0000000..f9fc7cd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableSortType.cls @@ -0,0 +1,7 @@ +global enum DecisionTableSortType { +ASCNULLFIRST, +ASCNULLLAST, +DESCNULLFIRST, +DESCNULLLAST, +NONE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableSourceConditionValueType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableSourceConditionValueType.cls new file mode 100644 index 0000000..a4f070e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableSourceConditionValueType.cls @@ -0,0 +1,7 @@ +global enum DecisionTableSourceConditionValueType { +FORMULA, +LITERAL, +LOOKUP, +PARAMETER, +PICKLIST +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableSourceCriteriaInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableSourceCriteriaInput.cls new file mode 100644 index 0000000..cd9c1e7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableSourceCriteriaInput.cls @@ -0,0 +1,13 @@ +global class DecisionTableSourceCriteriaInput { + global ConnectApi.DecisionTableOperatorString operator; + global Integer sequenceNumber; + global String sourceFieldName; + global String value; + global ConnectApi.DecisionTableSourceConditionValueType valueType; + global DecisionTableSourceCriteriaInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableSourceCriteriaOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableSourceCriteriaOutput.cls new file mode 100644 index 0000000..986502f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableSourceCriteriaOutput.cls @@ -0,0 +1,14 @@ +global class DecisionTableSourceCriteriaOutput { + global ConnectApi.DecisionTableOperatorString operator; + global Integer sequenceNumber; + global String sourceFieldName; + global String value; + global ConnectApi.DecisionTableSourceConditionValueType valueType; + global DecisionTableSourceCriteriaOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableSourceType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableSourceType.cls new file mode 100644 index 0000000..e6da8c2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableSourceType.cls @@ -0,0 +1,5 @@ +global enum DecisionTableSourceType { +CSVUPLOAD, +MULTIPLESOBJECTS, +SINGLESOBJECT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableStatus.cls new file mode 100644 index 0000000..0111087 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableStatus.cls @@ -0,0 +1,6 @@ +global enum DecisionTableStatus { +ACTIVATIONINPROGRESS, +ACTIVE, +DRAFT, +INACTIVE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableUsageType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableUsageType.cls new file mode 100644 index 0000000..7e0477a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DecisionTableUsageType.cls @@ -0,0 +1,4 @@ +global enum DecisionTableUsageType { +PRICING, +PRODUCTELIGIBILITY +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DeleteIntent.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DeleteIntent.cls new file mode 100644 index 0000000..07222ce --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DeleteIntent.cls @@ -0,0 +1,10 @@ +global class DeleteIntent { + global ConnectApi.ManagedSocialAccount managedSocialAccount; + global DeleteIntent() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DeleteIntents.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DeleteIntents.cls new file mode 100644 index 0000000..be429c5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DeleteIntents.cls @@ -0,0 +1,10 @@ +global class DeleteIntents { + global List deletes; + global DeleteIntents() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DeleteSocialPostIntent.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DeleteSocialPostIntent.cls new file mode 100644 index 0000000..99656eb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DeleteSocialPostIntent.cls @@ -0,0 +1,11 @@ +global class DeleteSocialPostIntent { + global String socialAccountId; + global String socialPostId; + global DeleteSocialPostIntent() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DependencyDetailOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DependencyDetailOutputRepresentation.cls new file mode 100644 index 0000000..c763572 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DependencyDetailOutputRepresentation.cls @@ -0,0 +1,14 @@ +global class DependencyDetailOutputRepresentation { + global String apiName; + global String id; + global Datetime lastModifiedDate; + global String name; + global ConnectApi.ExpressionSetVersionDependencyEnumRepresentation type; + global DependencyDetailOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DeploymentActionEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DeploymentActionEnum.cls new file mode 100644 index 0000000..55967fd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DeploymentActionEnum.cls @@ -0,0 +1,5 @@ +global enum DeploymentActionEnum { +FRESHDEPLOYMENT, +REDEPLOYMENT, +UPDATEDEPLOYMENT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DetailedProjectedRebateAmountCalc.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DetailedProjectedRebateAmountCalc.cls new file mode 100644 index 0000000..b249041 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DetailedProjectedRebateAmountCalc.cls @@ -0,0 +1,18 @@ +global class DetailedProjectedRebateAmountCalc { + global String aggregateId; + global Double benefitQualifierValue; + global String benefitTier; + global String error; + global Double measureFieldValue; + global String payoutPeriod; + global Double projectedRebateAmount; + global List qualifiedTiers; + global String rebateTypeBenefit; + global DetailedProjectedRebateAmountCalc() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DigestJobRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DigestJobRepresentation.cls new file mode 100644 index 0000000..bdf3462 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DigestJobRepresentation.cls @@ -0,0 +1,10 @@ +global class DigestJobRepresentation { + global ConnectApi.DigestPeriod period; + global DigestJobRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DigestPeriod.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DigestPeriod.cls new file mode 100644 index 0000000..dde864d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DigestPeriod.cls @@ -0,0 +1,4 @@ +global enum DigestPeriod { +DAILYDIGEST, +WEEKLYDIGEST +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DigitalCertificateRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DigitalCertificateRepresentation.cls new file mode 100644 index 0000000..3cc4396 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DigitalCertificateRepresentation.cls @@ -0,0 +1,11 @@ +global class DigitalCertificateRepresentation { + global Boolean isValid; + global String issuerName; + global DigitalCertificateRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DirectMessageCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DirectMessageCapability.cls new file mode 100644 index 0000000..36d2d07 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DirectMessageCapability.cls @@ -0,0 +1,13 @@ +global class DirectMessageCapability { + global ConnectApi.DirectMessageMemberActivityPage memberChanges; + global ConnectApi.DirectMessageMemberPage members; + global ConnectApi.DirectMessageMemberPage originalMembers; + global String subject; + global DirectMessageCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DirectMessageCapabilityInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DirectMessageCapabilityInput.cls new file mode 100644 index 0000000..5ee18d2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DirectMessageCapabilityInput.cls @@ -0,0 +1,11 @@ +global class DirectMessageCapabilityInput { + global List membersToAdd; + global List membersToRemove; + global String subject; + global DirectMessageCapabilityInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DirectMessageMemberActivity.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DirectMessageMemberActivity.cls new file mode 100644 index 0000000..71c32dc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DirectMessageMemberActivity.cls @@ -0,0 +1,13 @@ +global class DirectMessageMemberActivity { + global Datetime activityDate; + global ConnectApi.UserSummary actor; + global ConnectApi.DirectMessageMemberPage membersAdded; + global ConnectApi.DirectMessageMemberPage membersRemoved; + global DirectMessageMemberActivity() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DirectMessageMemberActivityPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DirectMessageMemberActivityPage.cls new file mode 100644 index 0000000..547b9f4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DirectMessageMemberActivityPage.cls @@ -0,0 +1,14 @@ +global class DirectMessageMemberActivityPage { + global List activities; + global String currentPageToken; + global String currentPageUrl; + global String nextPageToken; + global String nextPageUrl; + global DirectMessageMemberActivityPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DirectMessageMemberPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DirectMessageMemberPage.cls new file mode 100644 index 0000000..cfd1018 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DirectMessageMemberPage.cls @@ -0,0 +1,14 @@ +global class DirectMessageMemberPage { + global String currentPageToken; + global String currentPageUrl; + global String nextPageToken; + global String nextPageUrl; + global List users; + global DirectMessageMemberPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DispenserAddressOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DispenserAddressOutput.cls new file mode 100644 index 0000000..01f13ff --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DispenserAddressOutput.cls @@ -0,0 +1,14 @@ +global class DispenserAddressOutput { + global String dispenserCity; + global String dispenserCountry; + global String dispenserPostalCode; + global String dispenserState; + global String dispenserStreet; + global DispenserAddressOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DistanceCalculationOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DistanceCalculationOutputRepresentation.cls new file mode 100644 index 0000000..3a89c6a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DistanceCalculationOutputRepresentation.cls @@ -0,0 +1,12 @@ +global class DistanceCalculationOutputRepresentation { + global Double averageDistance; + global List locations; + global Integer rank; + global DistanceCalculationOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DistinctFacetValue.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DistinctFacetValue.cls new file mode 100644 index 0000000..18ec07a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DistinctFacetValue.cls @@ -0,0 +1,12 @@ +global class DistinctFacetValue { + global String displayName; + global String nameOrId; + global Long productCount; + global DistinctFacetValue() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DistinctValueRefinementInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DistinctValueRefinementInput.cls new file mode 100644 index 0000000..8dfebb0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DistinctValueRefinementInput.cls @@ -0,0 +1,9 @@ +global class DistinctValueRefinementInput { + global List values; + global DistinctValueRefinementInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DistinctValueSearchFacet.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DistinctValueSearchFacet.cls new file mode 100644 index 0000000..846ffb9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DistinctValueSearchFacet.cls @@ -0,0 +1,10 @@ +global class DistinctValueSearchFacet { + global List values; + global DistinctValueSearchFacet() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DistributePickedQuantitiesInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DistributePickedQuantitiesInputRepresentation.cls new file mode 100644 index 0000000..e4d0672 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DistributePickedQuantitiesInputRepresentation.cls @@ -0,0 +1,11 @@ +global class DistributePickedQuantitiesInputRepresentation { + global List distributeToOrders; + global String optimizationCriteria; + global List quantitiesPickedList; + global DistributePickedQuantitiesInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DistributePickedQuantitiesOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DistributePickedQuantitiesOutputRepresentation.cls new file mode 100644 index 0000000..ba0bea0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DistributePickedQuantitiesOutputRepresentation.cls @@ -0,0 +1,13 @@ +global class DistributePickedQuantitiesOutputRepresentation { + global List fullyDistributedOrdersList; + global List notDistributedOrdersList; + global List partiallyDistributedOrdersList; + global List quantitiesRemainingList; + global DistributePickedQuantitiesOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DistributeToOrdersInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DistributeToOrdersInputRepresentation.cls new file mode 100644 index 0000000..9cec979 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DistributeToOrdersInputRepresentation.cls @@ -0,0 +1,10 @@ +global class DistributeToOrdersInputRepresentation { + global String externalOrderId; + global List itemQuantities; + global DistributeToOrdersInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DocumentInfoAttributes.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DocumentInfoAttributes.cls new file mode 100644 index 0000000..b4c7525 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DocumentInfoAttributes.cls @@ -0,0 +1,11 @@ +global class DocumentInfoAttributes { + global String id; + global String name; + global String typeId; + global documentInfoAttributes() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DocumentInfoAttributesWrapper.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DocumentInfoAttributesWrapper.cls new file mode 100644 index 0000000..350a138 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DocumentInfoAttributesWrapper.cls @@ -0,0 +1,11 @@ +global class DocumentInfoAttributesWrapper { + global String id; + global String name; + global String typeId; + global DocumentInfoAttributesWrapper() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DownVoteSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DownVoteSummary.cls new file mode 100644 index 0000000..7160a28 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DownVoteSummary.cls @@ -0,0 +1,9 @@ +global class DownVoteSummary { + global DownVoteSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DraftEinsteinResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DraftEinsteinResponse.cls new file mode 100644 index 0000000..55e224f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/DraftEinsteinResponse.cls @@ -0,0 +1,10 @@ +global class DraftEinsteinResponse { + global String einsteinResponse; + global DraftEinsteinResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EUProgram.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EUProgram.cls new file mode 100644 index 0000000..d0239f3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EUProgram.cls @@ -0,0 +1,3 @@ +global class EUProgram { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EditCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EditCapability.cls new file mode 100644 index 0000000..8853b1e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EditCapability.cls @@ -0,0 +1,15 @@ +global class EditCapability { + global Boolean isEditRestricted; + global String isEditableByMeUrl; + global ConnectApi.Actor lastEditedBy; + global Datetime lastEditedDate; + global Integer latestRevision; + global String relativeLastEditedDate; + global EditCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EffectiveMappingRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EffectiveMappingRepresentation.cls new file mode 100644 index 0000000..a063fa6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EffectiveMappingRepresentation.cls @@ -0,0 +1,10 @@ +global class EffectiveMappingRepresentation { + global String webstoreId; + global EffectiveMappingRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinAnswerType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinAnswerType.cls new file mode 100644 index 0000000..10c0ece --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinAnswerType.cls @@ -0,0 +1,4 @@ +global enum EinsteinAnswerType { +CHATTERPOST, +KNOWLEDGEARTICLE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLLMEmbeddingItemOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLLMEmbeddingItemOutput.cls new file mode 100644 index 0000000..d5d27f0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLLMEmbeddingItemOutput.cls @@ -0,0 +1,11 @@ +global class EinsteinLLMEmbeddingItemOutput { + global List embedding; + global Integer index; + global EinsteinLLMEmbeddingItemOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLLMEmbeddingsOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLLMEmbeddingsOutput.cls new file mode 100644 index 0000000..b9b0790 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLLMEmbeddingsOutput.cls @@ -0,0 +1,11 @@ +global class EinsteinLLMEmbeddingsOutput { + global List embeddings; + global Map parameters; + global EinsteinLLMEmbeddingsOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLLMGenerationItemOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLLMGenerationItemOutput.cls new file mode 100644 index 0000000..de57cc6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLLMGenerationItemOutput.cls @@ -0,0 +1,11 @@ +global class EinsteinLLMGenerationItemOutput { + global String parameters; + global String text; + global EinsteinLLMGenerationItemOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLLMGenerationsOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLLMGenerationsOutput.cls new file mode 100644 index 0000000..f02503b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLLMGenerationsOutput.cls @@ -0,0 +1,13 @@ +global class EinsteinLLMGenerationsOutput { + global List generations; + global ConnectApi.WrappedMapObject parameters; + global String prompt; + global String requestId; + global EinsteinLLMGenerationsOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLlm.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLlm.cls new file mode 100644 index 0000000..0796882 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLlm.cls @@ -0,0 +1,3 @@ +global class EinsteinLlm { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLlmAdditionalConfigInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLlmAdditionalConfigInput.cls new file mode 100644 index 0000000..906d613 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLlmAdditionalConfigInput.cls @@ -0,0 +1,18 @@ +global class EinsteinLlmAdditionalConfigInput { + global Map additionalParameters; + global String applicationName; + global Boolean enablePiiMasking; + global Double frequencyPenalty; + global Integer maxTokens; + global String model; + global Integer numGenerations; + global Double presencePenalty; + global List stopSequences; + global Double temperature; + global EinsteinLlmAdditionalConfigInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLlmEmbeddingsAdditionalConfigInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLlmEmbeddingsAdditionalConfigInput.cls new file mode 100644 index 0000000..8ec2e21 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLlmEmbeddingsAdditionalConfigInput.cls @@ -0,0 +1,12 @@ +global class EinsteinLlmEmbeddingsAdditionalConfigInput { + global Map additionalParameters; + global String applicationName; + global Boolean enablePiiMasking; + global String model; + global EinsteinLlmEmbeddingsAdditionalConfigInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLlmEmbeddingsInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLlmEmbeddingsInput.cls new file mode 100644 index 0000000..918d1ae --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLlmEmbeddingsInput.cls @@ -0,0 +1,11 @@ +global class EinsteinLlmEmbeddingsInput { + global ConnectApi.EinsteinLlmEmbeddingsAdditionalConfigInput additionalConfig; + global List prompts; + global String provider; + global EinsteinLlmEmbeddingsInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLlmGenerationsInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLlmGenerationsInput.cls new file mode 100644 index 0000000..872bdbd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinLlmGenerationsInput.cls @@ -0,0 +1,11 @@ +global class EinsteinLlmGenerationsInput { + global ConnectApi.EinsteinLlmAdditionalConfigInput additionalConfig; + global String promptTextorId; + global String provider; + global EinsteinLlmGenerationsInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinRecommendation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinRecommendation.cls new file mode 100644 index 0000000..7961db3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinRecommendation.cls @@ -0,0 +1,21 @@ +global class EinsteinRecommendation { + global Double confidence; + global String id; + global List insightValues; + global String mlPredictionDefinitionId; + global String predictionDefinitionId; + global String predictionField; + global String runGuid; + global Datetime runStartTime; + global String targetId; + global String targetSobjectType; + global String type; + global Datetime validUtil; + global EinsteinRecommendation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinRecommendationValue.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinRecommendationValue.cls new file mode 100644 index 0000000..035d0ce --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinRecommendationValue.cls @@ -0,0 +1,15 @@ +global class EinsteinRecommendationValue { + global Double confidence; + global String id; + global String sobjectLookupType; + global String sobjectLookupValueId; + global String value; + global String valueType; + global EinsteinRecommendationValue() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinRecommendations.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinRecommendations.cls new file mode 100644 index 0000000..b96d7b8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinRecommendations.cls @@ -0,0 +1,11 @@ +global class EinsteinRecommendations { + global String aiApplicationId; + global List recommendations; + global EinsteinRecommendations() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinResponseSpeakerType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinResponseSpeakerType.cls new file mode 100644 index 0000000..50c09a3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinResponseSpeakerType.cls @@ -0,0 +1,4 @@ +global enum EinsteinResponseSpeakerType { +AGENT, +CUSTOMER +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinResponseType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinResponseType.cls new file mode 100644 index 0000000..ba7bea2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinResponseType.cls @@ -0,0 +1,3 @@ +global enum EinsteinResponseType { +TEXTMESSAGE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinUser.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinUser.cls new file mode 100644 index 0000000..c5bcaa3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinUser.cls @@ -0,0 +1,14 @@ +global class EinsteinUser { + global String applicationId; + global Boolean canEditCase; + global List erroredPredictionFields; + global Boolean isValid; + global String userId; + global EinsteinUser() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinUsers.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinUsers.cls new file mode 100644 index 0000000..94eb2c7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EinsteinUsers.cls @@ -0,0 +1,10 @@ +global class EinsteinUsers { + global List einsteinUsers; + global EinsteinUsers() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EligibleProgramRebateTypesOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EligibleProgramRebateTypesOutput.cls new file mode 100644 index 0000000..190a2e6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EligibleProgramRebateTypesOutput.cls @@ -0,0 +1,14 @@ +global class EligibleProgramRebateTypesOutput { + global Integer appliedRebateTypesLimit; + global Integer appliedRebateTypesOffset; + global Integer limitValue; + global Integer offsetValue; + global List programRebateTypes; + global EligibleProgramRebateTypesOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailAddress.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailAddress.cls new file mode 100644 index 0000000..817f4f8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailAddress.cls @@ -0,0 +1,12 @@ +global class EmailAddress { + global String displayName; + global String emailAddress; + global ConnectApi.RecordSummary relatedRecord; + global EmailAddress() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailAttachment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailAttachment.cls new file mode 100644 index 0000000..b2b6f7d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailAttachment.cls @@ -0,0 +1,12 @@ +global class EmailAttachment { + global ConnectApi.RecordSummary attachment; + global String contentType; + global String fileName; + global EmailAttachment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMergeFieldCollectionInfo.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMergeFieldCollectionInfo.cls new file mode 100644 index 0000000..ae8e03a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMergeFieldCollectionInfo.cls @@ -0,0 +1,10 @@ +global class EmailMergeFieldCollectionInfo { + global List mergeFields; + global EmailMergeFieldCollectionInfo() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMergeFieldInfo.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMergeFieldInfo.cls new file mode 100644 index 0000000..9239874 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMergeFieldInfo.cls @@ -0,0 +1,10 @@ +global class EmailMergeFieldInfo { + global Map entityToMergeFieldsMap; + global EmailMergeFieldInfo() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMergeFieldService.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMergeFieldService.cls new file mode 100644 index 0000000..e528d34 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMergeFieldService.cls @@ -0,0 +1,5 @@ +global class EmailMergeFieldService { + global Object clone() { } + global static ConnectApi.EmailMergeFieldInfo getMergeFields(List objectApiNames) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMessage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMessage.cls new file mode 100644 index 0000000..cf701de --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMessage.cls @@ -0,0 +1,14 @@ +global class EmailMessage { + global ConnectApi.EmailMessageDirection direction; + global String emailMessageId; + global String subject; + global String textBody; + global List toAddresses; + global EmailMessage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMessageCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMessageCapability.cls new file mode 100644 index 0000000..3acf8ce --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMessageCapability.cls @@ -0,0 +1,23 @@ +global class EmailMessageCapability { + global List attachments; + global List bccAddresses; + global String body; + global List ccAddresses; + global ConnectApi.EmailMessageDirection direction; + global String emailMessageId; + global ConnectApi.EmailAddress fromAddress; + global Integer htmlExpandEmailThread; + global Boolean isRichText; + global ConnectApi.EmailMessageStatus status; + global String subject; + global String textBody; + global List toAddresses; + global Integer totalAttachments; + global EmailMessageCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMessageDirection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMessageDirection.cls new file mode 100644 index 0000000..b23be7e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMessageDirection.cls @@ -0,0 +1,4 @@ +global enum EmailMessageDirection { +INBOUND, +OUTBOUND +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMessageStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMessageStatus.cls new file mode 100644 index 0000000..c7e0092 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmailMessageStatus.cls @@ -0,0 +1,8 @@ +global enum EmailMessageStatus { +DRAFTSTATUS, +FORWARDEDSTATUS, +NEWSTATUS, +READSTATUS, +REPLIEDSTATUS, +SENTSTATUS +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Emoji.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Emoji.cls new file mode 100644 index 0000000..a4b3565 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Emoji.cls @@ -0,0 +1,12 @@ +global class Emoji { + global String category; + global String shortcut; + global String unicodeCharacter; + global Emoji() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmojiCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmojiCollection.cls new file mode 100644 index 0000000..2286a99 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmojiCollection.cls @@ -0,0 +1,10 @@ +global class EmojiCollection { + global List emojis; + global EmojiCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmployeeProfiles.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmployeeProfiles.cls new file mode 100644 index 0000000..e6e29a1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EmployeeProfiles.cls @@ -0,0 +1,16 @@ +global class EmployeeProfiles { + global Object clone() { } + global static void deleteBannerPhoto(String employeeId) { } + global static void deletePhoto(String employeeId) { } + global static ConnectApi.BannerPhoto getBannerPhoto(String employeeId) { } + global static ConnectApi.Photo getPhoto(String employeeId) { } + global static ConnectApi.BannerPhoto setBannerPhoto(String employeeId, String fileId, Integer versionNumber) { } + global static ConnectApi.BannerPhoto setBannerPhoto(String employeeId, ConnectApi.BinaryInput fileUpload) { } + global static ConnectApi.BannerPhoto setBannerPhotoWithAttributes(String employeeId, ConnectApi.BannerPhotoInput bannerPhoto, ConnectApi.BinaryInput fileUpload) { } + global static ConnectApi.BannerPhoto setBannerPhotoWithAttributes(String employeeId, ConnectApi.BannerPhotoInput bannerPhoto) { } + global static ConnectApi.Photo setPhoto(String employeeId, String fileId, Integer versionNumber) { } + global static ConnectApi.Photo setPhoto(String employeeId, ConnectApi.BinaryInput fileUpload) { } + global static ConnectApi.Photo setPhotoWithAttributes(String employeeId, ConnectApi.PhotoInput photo, ConnectApi.BinaryInput fileUpload) { } + global static ConnectApi.Photo setPhotoWithAttributes(String employeeId, ConnectApi.PhotoInput photo) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementAttendeeCreateInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementAttendeeCreateInput.cls new file mode 100644 index 0000000..b1cd5d5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementAttendeeCreateInput.cls @@ -0,0 +1,20 @@ +global class EngagementAttendeeCreateInput { + global List customFieldsList; + global String endDateTime; + global String engagementInteractionId; + global String externalAttendeeId; + global String id; + global String internalAttendeeId; + global Boolean isAuthenticated; + global Boolean isVerified; + global String ownerId; + global String role; + global String startDateTime; + global String verificationTime; + global EngagementAttendeeCreateInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementAttendeeCreateOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementAttendeeCreateOutput.cls new file mode 100644 index 0000000..0dbe612 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementAttendeeCreateOutput.cls @@ -0,0 +1,11 @@ +global class EngagementAttendeeCreateOutput { + global ConnectApi.EngagementsIdOutput engagementAttendee; + global ConnectApi.EngagementStatusOutput status; + global EngagementAttendeeCreateOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementAttendeeDetailsOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementAttendeeDetailsOutput.cls new file mode 100644 index 0000000..45f3e6c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementAttendeeDetailsOutput.cls @@ -0,0 +1,21 @@ +global class EngagementAttendeeDetailsOutput { + global List customFields; + global String endDateTime; + global String engagementInteractionId; + global String externalAttendeeId; + global String id; + global String internalAttendeeId; + global Boolean isAuthenticated; + global Boolean isVerified; + global String ownerId; + global String role; + global String startDateTime; + global String verificationTime; + global EngagementAttendeeDetailsOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementAttendeeFetchOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementAttendeeFetchOutput.cls new file mode 100644 index 0000000..71695dc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementAttendeeFetchOutput.cls @@ -0,0 +1,11 @@ +global class EngagementAttendeeFetchOutput { + global ConnectApi.EngagementAttendeeDetailsOutput engagementAttendee; + global ConnectApi.EngagementStatusOutput status; + global EngagementAttendeeFetchOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementCustomFieldsInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementCustomFieldsInput.cls new file mode 100644 index 0000000..0804e7e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementCustomFieldsInput.cls @@ -0,0 +1,10 @@ +global class EngagementCustomFieldsInput { + global String key; + global Object value; + global EngagementCustomFieldsInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementCustomFieldsOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementCustomFieldsOutput.cls new file mode 100644 index 0000000..9169a0a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementCustomFieldsOutput.cls @@ -0,0 +1,11 @@ +global class EngagementCustomFieldsOutput { + global String key; + global Object value; + global EngagementCustomFieldsOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementDetailsOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementDetailsOutput.cls new file mode 100644 index 0000000..8dcb69e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementDetailsOutput.cls @@ -0,0 +1,27 @@ +global class EngagementDetailsOutput { + global Boolean attendeeAuthenticated; + global Long attendeeVerificationTime; + global Boolean attendeeVerified; + global String communicationChannel; + global String contextId; + global String duration; + global String endDateTime; + global List engagementAttendees; + global List engagementTopics; + global String externalIdentifierId; + global String id; + global String initiatingAttendeeId; + global String mappedState; + global String ownerId; + global String sentiment; + global String startDateTime; + global String status; + global String type; + global EngagementDetailsOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementInteractionCreateInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementInteractionCreateInput.cls new file mode 100644 index 0000000..5000d14 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementInteractionCreateInput.cls @@ -0,0 +1,27 @@ +global class EngagementInteractionCreateInput { + global Boolean attendeeAuthenticated; + global String attendeeVerificationTime; + global Boolean attendeeVerified; + global String communicationChannel; + global String contextId; + global List customFieldsList; + global String endDateTime; + global List engagementAttendees; + global List engagementTopics; + global String externalIdentifierId; + global String id; + global String initiatingAttendeeId; + global String mappedState; + global String phoneNumber; + global String reason; + global String sentiment; + global String startDateTime; + global String status; + global String type; + global EngagementInteractionCreateInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementInteractionDetailsOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementInteractionDetailsOutput.cls new file mode 100644 index 0000000..21d5e61 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementInteractionDetailsOutput.cls @@ -0,0 +1,30 @@ +global class EngagementInteractionDetailsOutput { + global Boolean attendeeAuthenticated; + global String attendeeVerificationTime; + global Boolean attendeeVerified; + global String communicationChannel; + global String contextId; + global List customFields; + global String duration; + global String endDateTime; + global List engagementAttendees; + global List engagementTopics; + global String externalIdentifierId; + global String id; + global String initiatingAttendeeId; + global String mappedState; + global String ownerId; + global String phoneNumber; + global String reason; + global String sentiment; + global String startDateTime; + global String status; + global String type; + global EngagementInteractionDetailsOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementInteractionFetchOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementInteractionFetchOutput.cls new file mode 100644 index 0000000..e56c278 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementInteractionFetchOutput.cls @@ -0,0 +1,11 @@ +global class EngagementInteractionFetchOutput { + global ConnectApi.EngagementInteractionDetailsOutput engagementInteraction; + global ConnectApi.EngagementStatusOutput status; + global EngagementInteractionFetchOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementInteractionUpdateInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementInteractionUpdateInput.cls new file mode 100644 index 0000000..c569948 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementInteractionUpdateInput.cls @@ -0,0 +1,25 @@ +global class EngagementInteractionUpdateInput { + global Boolean attendeeAuthenticated; + global String attendeeVerificationTime; + global Boolean attendeeVerified; + global String communicationChannel; + global String contextId; + global String duration; + global String endDateTime; + global String externalIdentifierId; + global String id; + global String initiatingAttendeeId; + global String mappedState; + global String phoneNumber; + global String reason; + global String sentiment; + global String startDateTime; + global String status; + global String type; + global EngagementInteractionUpdateInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementStatusOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementStatusOutput.cls new file mode 100644 index 0000000..0144d99 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementStatusOutput.cls @@ -0,0 +1,11 @@ +global class EngagementStatusOutput { + global Integer code; + global String message; + global EngagementStatusOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementTopicCreateInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementTopicCreateInput.cls new file mode 100644 index 0000000..a191b53 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementTopicCreateInput.cls @@ -0,0 +1,21 @@ +global class EngagementTopicCreateInput { + global List customFieldsList; + global String engagementInteractionId; + global String id; + global String interactionSummary; + global String name; + global String ownerId; + global String parentTopicId; + global String processFailureReason; + global String processName; + global String processStatus; + global String processType; + global String relatedPersonId; + global String topicId; + global EngagementTopicCreateInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementTopicCreateOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementTopicCreateOutput.cls new file mode 100644 index 0000000..159c637 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementTopicCreateOutput.cls @@ -0,0 +1,11 @@ +global class EngagementTopicCreateOutput { + global ConnectApi.EngagementsIdOutput engagementTopic; + global ConnectApi.EngagementStatusOutput status; + global EngagementTopicCreateOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementTopicDetailsOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementTopicDetailsOutput.cls new file mode 100644 index 0000000..12bc766 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementTopicDetailsOutput.cls @@ -0,0 +1,20 @@ +global class EngagementTopicDetailsOutput { + global String id; + global String interactionSummary; + global String name; + global String ownerId; + global String parentTopicId; + global String processFailureReason; + global String processName; + global String processStatus; + global String processType; + global String relatedPersonId; + global String topicId; + global EngagementTopicDetailsOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementTopicFetchOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementTopicFetchOutput.cls new file mode 100644 index 0000000..81fbde7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementTopicFetchOutput.cls @@ -0,0 +1,11 @@ +global class EngagementTopicFetchOutput { + global ConnectApi.EngagementTopicOutput engagementTopic; + global ConnectApi.EngagementStatusOutput status; + global EngagementTopicFetchOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementTopicOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementTopicOutput.cls new file mode 100644 index 0000000..185e1c7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementTopicOutput.cls @@ -0,0 +1,22 @@ +global class EngagementTopicOutput { + global List customFields; + global String engagementInteractionId; + global String id; + global String interactionSummary; + global String name; + global String ownerId; + global String parentTopicId; + global String processFailureReason; + global String processName; + global String processStatus; + global String processType; + global String relatedPersonId; + global String topicId; + global EngagementTopicOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Engagementcontainerconnect.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Engagementcontainerconnect.cls new file mode 100644 index 0000000..62adf66 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Engagementcontainerconnect.cls @@ -0,0 +1,3 @@ +global class Engagementcontainerconnect { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsCreateInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsCreateInput.cls new file mode 100644 index 0000000..04040eb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsCreateInput.cls @@ -0,0 +1,9 @@ +global class EngagementsCreateInput { + global ConnectApi.EngagementInteractionCreateInput engagementInteraction; + global EngagementsCreateInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsCreateOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsCreateOutput.cls new file mode 100644 index 0000000..80b71c3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsCreateOutput.cls @@ -0,0 +1,11 @@ +global class EngagementsCreateOutput { + global ConnectApi.EngagementsIdCreateOutput engagementInteraction; + global ConnectApi.EngagementStatusOutput status; + global EngagementsCreateOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsFetchOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsFetchOutput.cls new file mode 100644 index 0000000..a3648f3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsFetchOutput.cls @@ -0,0 +1,11 @@ +global class EngagementsFetchOutput { + global ConnectApi.EngagementInteractionDetailsOutput engagementInteraction; + global ConnectApi.EngagementStatusOutput status; + global EngagementsFetchOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsIdCreateOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsIdCreateOutput.cls new file mode 100644 index 0000000..63f0ba3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsIdCreateOutput.cls @@ -0,0 +1,12 @@ +global class EngagementsIdCreateOutput { + global List engagementAttendees; + global List engagementTopics; + global String id; + global EngagementsIdCreateOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsIdOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsIdOutput.cls new file mode 100644 index 0000000..a556d9b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsIdOutput.cls @@ -0,0 +1,10 @@ +global class EngagementsIdOutput { + global String id; + global EngagementsIdOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsUpdateInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsUpdateInput.cls new file mode 100644 index 0000000..553cc99 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsUpdateInput.cls @@ -0,0 +1,11 @@ +global class EngagementsUpdateInput { + global List engagementAttendees; + global ConnectApi.EngagementInteractionUpdateInput engagementInteraction; + global List engagementTopics; + global EngagementsUpdateInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsUpdateOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsUpdateOutput.cls new file mode 100644 index 0000000..90440af --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EngagementsUpdateOutput.cls @@ -0,0 +1,13 @@ +global class EngagementsUpdateOutput { + global List engagementAttendees; + global ConnectApi.EngagementsIdOutput engagementInteraction; + global List engagementTopics; + global ConnectApi.EngagementStatusOutput status; + global EngagementsUpdateOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EnhancedLinkCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EnhancedLinkCapability.cls new file mode 100644 index 0000000..482845a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EnhancedLinkCapability.cls @@ -0,0 +1,14 @@ +global class EnhancedLinkCapability { + global String description; + global ConnectApi.Icon icon; + global String linkRecordId; + global String linkUrl; + global String title; + global EnhancedLinkCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EnrollmentChannelResource.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EnrollmentChannelResource.cls new file mode 100644 index 0000000..bfbb8da --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EnrollmentChannelResource.cls @@ -0,0 +1,12 @@ +global enum EnrollmentChannelResource { +CALLCENTER, +EMAIL, +FRANCHISE, +MOBILE, +PARTNER, +POS, +PRINT, +SOCIAL, +STORE, +WEB +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EnsureFundsAsyncInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EnsureFundsAsyncInputRepresentation.cls new file mode 100644 index 0000000..3a6b081 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EnsureFundsAsyncInputRepresentation.cls @@ -0,0 +1,9 @@ +global class EnsureFundsAsyncInputRepresentation { + global String invoiceId; + global EnsureFundsAsyncInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EnsureFundsAsyncOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EnsureFundsAsyncOutputRepresentation.cls new file mode 100644 index 0000000..17d5509 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EnsureFundsAsyncOutputRepresentation.cls @@ -0,0 +1,9 @@ +global class EnsureFundsAsyncOutputRepresentation { + global EnsureFundsAsyncOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EnsureRefundsAsyncInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EnsureRefundsAsyncInputRepresentation.cls new file mode 100644 index 0000000..5866c7b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EnsureRefundsAsyncInputRepresentation.cls @@ -0,0 +1,13 @@ +global class EnsureRefundsAsyncInputRepresentation { + global String creditMemoId; + global Double excessFundsAmount; + global List invoicesToPay; + global Boolean isAllowPartial; + global List sequences; + global EnsureRefundsAsyncInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EnsureRefundsAsyncOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EnsureRefundsAsyncOutputRepresentation.cls new file mode 100644 index 0000000..3b9a800 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EnsureRefundsAsyncOutputRepresentation.cls @@ -0,0 +1,9 @@ +global class EnsureRefundsAsyncOutputRepresentation { + global EnsureRefundsAsyncOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EntityLabel.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EntityLabel.cls new file mode 100644 index 0000000..03a593a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EntityLabel.cls @@ -0,0 +1,11 @@ +global class EntityLabel { + global String label; + global String labelPlural; + global EntityLabel() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EntityLinkSegment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EntityLinkSegment.cls new file mode 100644 index 0000000..77e77ca --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EntityLinkSegment.cls @@ -0,0 +1,11 @@ +global class EntityLinkSegment { + global ConnectApi.Motif motif; + global ConnectApi.Reference reference; + global EntityLinkSegment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EntityLinkSegmentInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EntityLinkSegmentInput.cls new file mode 100644 index 0000000..df239cf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EntityLinkSegmentInput.cls @@ -0,0 +1,9 @@ +global class EntityLinkSegmentInput { + global String entityId; + global EntityLinkSegmentInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EntityRecommendation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EntityRecommendation.cls new file mode 100644 index 0000000..ffbddb4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EntityRecommendation.cls @@ -0,0 +1,12 @@ +global class EntityRecommendation { + global String actOnUrl; + global ConnectApi.RecommendationActionType action; + global ConnectApi.Actor entity; + global EntityRecommendation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EntityResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EntityResult.cls new file mode 100644 index 0000000..353fd82 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EntityResult.cls @@ -0,0 +1,14 @@ +global class EntityResult { + global Boolean created; + global String externalId; + global String externalIdField; + global String id; + global String objectType; + global String status; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ErrorRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ErrorRepresentation.cls new file mode 100644 index 0000000..66a7783 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ErrorRepresentation.cls @@ -0,0 +1,15 @@ +global class ErrorRepresentation { + global String code; + global Boolean isConflictProvider; + global Boolean isConflictTime; + global Boolean isFatal; + global Boolean isRetryable; + global String message; + global ErrorRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ErrorResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ErrorResponse.cls new file mode 100644 index 0000000..c3f4dd8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ErrorResponse.cls @@ -0,0 +1,11 @@ +global class ErrorResponse { + global String errorCode; + global String message; + global ErrorResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ErrorResponseRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ErrorResponseRepresentation.cls new file mode 100644 index 0000000..38f54de --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ErrorResponseRepresentation.cls @@ -0,0 +1,11 @@ +global class ErrorResponseRepresentation { + global String code; + global String message; + global ErrorResponseRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ErrorsOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ErrorsOutputRepresentation.cls new file mode 100644 index 0000000..b2d2732 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ErrorsOutputRepresentation.cls @@ -0,0 +1,12 @@ +global class ErrorsOutputRepresentation { + global String code; + global String message; + global Map validationErrors; + global ErrorsOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Essentials.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Essentials.cls new file mode 100644 index 0000000..53118d3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Essentials.cls @@ -0,0 +1,3 @@ +global class Essentials { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EvaluateCallerVideoCallResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EvaluateCallerVideoCallResult.cls new file mode 100644 index 0000000..f283ff5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EvaluateCallerVideoCallResult.cls @@ -0,0 +1,11 @@ +global class EvaluateCallerVideoCallResult { + global String errorMessage; + global Boolean isSuccess; + global EvaluateCallerVideoCallResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EventTypeResource.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EventTypeResource.cls new file mode 100644 index 0000000..a8c54d6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/EventTypeResource.cls @@ -0,0 +1,5 @@ +global enum EventTypeResource { +ENROLLMENT, +PURCHASE, +REFER +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Example.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Example.cls new file mode 100644 index 0000000..302dead --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Example.cls @@ -0,0 +1,10 @@ +global class Example { + global Object clone() { } + global static ConnectApi.ExampleEntityRepresentation getExampleEntityWithFields(String recordId, List fields) { } + global static ConnectApi.ExampleListRepresentation getExampleListWithFields(String recordId, List fields) { } + global static ConnectApi.ExampleMapRepresentation getExampleMapWithFields(String recordId, List fields) { } + global static ConnectApi.ExampleEntityRepresentation updateExampleEntity(String recordId, ConnectApi.ExampleEntityInputRepresentation recordInput) { } + global static ConnectApi.ExampleListRepresentation updateExampleList(String recordId, ConnectApi.ExampleListInputRepresentation recordInput) { } + global static ConnectApi.ExampleMapRepresentation updateExampleMap(String recordId, ConnectApi.ExampleMapInputRepresentation recordInput) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleEntityInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleEntityInputRepresentation.cls new file mode 100644 index 0000000..1e970ae --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleEntityInputRepresentation.cls @@ -0,0 +1,13 @@ +global class ExampleEntityInputRepresentation { + global SObject customObject; + global String exampleId; + global Integer exampleInteger; + global Object exampleObject; + global String exampleString; + global ExampleEntityInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleEntityRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleEntityRepresentation.cls new file mode 100644 index 0000000..332eaf3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleEntityRepresentation.cls @@ -0,0 +1,15 @@ +global class ExampleEntityRepresentation { + global SObject customObject; + global String exampleConnectUri; + global String exampleId; + global Integer exampleInteger; + global Object exampleObject; + global String exampleString; + global ExampleEntityRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleListInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleListInputRepresentation.cls new file mode 100644 index 0000000..241fa3c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleListInputRepresentation.cls @@ -0,0 +1,10 @@ +global class ExampleListInputRepresentation { + global List customList; + global List stringList; + global ExampleListInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleListRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleListRepresentation.cls new file mode 100644 index 0000000..940cb07 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleListRepresentation.cls @@ -0,0 +1,12 @@ +global class ExampleListRepresentation { + global List customList; + global List objectList; + global List stringList; + global ExampleListRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleMapInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleMapInputRepresentation.cls new file mode 100644 index 0000000..c6e13ae --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleMapInputRepresentation.cls @@ -0,0 +1,11 @@ +global class ExampleMapInputRepresentation { + global Map connectMap; + global Map customMap; + global Map stringMap; + global ExampleMapInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleMapRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleMapRepresentation.cls new file mode 100644 index 0000000..7fc4812 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleMapRepresentation.cls @@ -0,0 +1,12 @@ +global class ExampleMapRepresentation { + global Map customMap; + global Map objectMap; + global Map stringMap; + global ExampleMapRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleObjectInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleObjectInputRepresentation.cls new file mode 100644 index 0000000..300cd29 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExampleObjectInputRepresentation.cls @@ -0,0 +1,9 @@ +global class ExampleObjectInputRepresentation { + global Object value; + global ExampleObjectInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExecutionStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExecutionStatus.cls new file mode 100644 index 0000000..cf11ba4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExecutionStatus.cls @@ -0,0 +1,5 @@ +global enum ExecutionStatus { +CRITERIANOTMET, +FAILED, +SUCCESS +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityActionLogCreate.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityActionLogCreate.cls new file mode 100644 index 0000000..10dbe88 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityActionLogCreate.cls @@ -0,0 +1,11 @@ +global class ExplainabilityActionLogCreate { + global Integer sequenceNumber; + global String uniqueIdentifier; + global ExplainabilityActionLogCreate() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityActionLogDetail.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityActionLogDetail.cls new file mode 100644 index 0000000..7eff3c9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityActionLogDetail.cls @@ -0,0 +1,20 @@ +global class ExplainabilityActionLogDetail { + global String actionContextCode; + global String actionLog; + global String additionalFilter; + global String applicationLogDate; + global String applicationSubtype; + global String applicationType; + global String explainabilitySpecName; + global String name; + global String primaryFilter; + global String processType; + global String secondaryFilter; + global ExplainabilityActionLogDetail() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityActionLogInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityActionLogInput.cls new file mode 100644 index 0000000..a6c19e3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityActionLogInput.cls @@ -0,0 +1,17 @@ +global class ExplainabilityActionLogInput { + global String actionContextCode; + global String actionLog; + global String actionLogDate; + global String actionLogOwnerId; + global String additionalFilter; + global String name; + global String primaryFilter; + global String secondaryFilter; + global String specificationName; + global ExplainabilityActionLogInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityActionLogSortEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityActionLogSortEnum.cls new file mode 100644 index 0000000..2054d6f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityActionLogSortEnum.cls @@ -0,0 +1,4 @@ +global enum ExplainabilityActionLogSortEnum { +ASCENDING, +DESCENDING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityActionLogs.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityActionLogs.cls new file mode 100644 index 0000000..1163aac --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityActionLogs.cls @@ -0,0 +1,11 @@ +global class ExplainabilityActionLogs { + global List actionLogs; + global String queryMore; + global ExplainabilityActionLogs() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityLogDetail.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityLogDetail.cls new file mode 100644 index 0000000..65bee6c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityLogDetail.cls @@ -0,0 +1,16 @@ +global class ExplainabilityLogDetail { + global String actionContextCode; + global String actionLog; + global String applicationLogDate; + global String applicationSubtype; + global String applicationType; + global String name; + global String processType; + global ExplainabilityLogDetail() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityLogs.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityLogs.cls new file mode 100644 index 0000000..169971a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityLogs.cls @@ -0,0 +1,11 @@ +global class ExplainabilityLogs { + global List actionLogs; + global String queryMore; + global ExplainabilityLogs() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityService.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityService.cls new file mode 100644 index 0000000..0822c3e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExplainabilityService.cls @@ -0,0 +1,3 @@ +global class ExplainabilityService { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExpressionDataType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExpressionDataType.cls new file mode 100644 index 0000000..4b690be --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExpressionDataType.cls @@ -0,0 +1,8 @@ +global enum ExpressionDataType { +BOOLEAN, +DATE, +DATETIME, +NUMBER, +SOBJECT, +TEXT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExpressionSetVersionDependencyEnumRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExpressionSetVersionDependencyEnumRepresentation.cls new file mode 100644 index 0000000..fe69f46 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExpressionSetVersionDependencyEnumRepresentation.cls @@ -0,0 +1,5 @@ +global enum ExpressionSetVersionDependencyEnumRepresentation { +DECISIONMATRIX, +DECISIONTABLE, +EXPRESSIONSET +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExpressionSetVersionDependencyOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExpressionSetVersionDependencyOutputRepresentation.cls new file mode 100644 index 0000000..6481a9a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExpressionSetVersionDependencyOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class ExpressionSetVersionDependencyOutputRepresentation { + global List dependencies; + global String id; + global ExpressionSetVersionDependencyOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtendedFieldInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtendedFieldInput.cls new file mode 100644 index 0000000..0b9fafb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtendedFieldInput.cls @@ -0,0 +1,10 @@ +global class ExtendedFieldInput { + global String name; + global String value; + global ExtendedFieldInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Extension.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Extension.cls new file mode 100644 index 0000000..0803250 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Extension.cls @@ -0,0 +1,14 @@ +global class Extension { + global ConnectApi.Alternative alternativeRepresentation; + global String attachmentId; + global String extensionId; + global String payload; + global String payloadVersion; + global Extension() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionDefinition.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionDefinition.cls new file mode 100644 index 0000000..37fe9d6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionDefinition.cls @@ -0,0 +1,20 @@ +global class ExtensionDefinition { + global Boolean canAccess; + global Boolean canCreate; + global Datetime createdDate; + global String description; + global String iconUrl; + global String id; + global List informationCollection; + global Boolean isEnabledInCommunity; + global Boolean isEnabledInLightningPublisher; + global String name; + global Integer position; + global ExtensionDefinition() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionDefinitions.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionDefinitions.cls new file mode 100644 index 0000000..10922d5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionDefinitions.cls @@ -0,0 +1,15 @@ +global class ExtensionDefinitions { + global String currentPageToken; + global String currentPageUrl; + global List extensionDefinitions; + global String nextPageToken; + global String nextPageUrl; + global Integer total; + global ExtensionDefinitions() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionInformationType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionInformationType.cls new file mode 100644 index 0000000..5315ff8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionInformationType.cls @@ -0,0 +1,3 @@ +global enum ExtensionInformationType { +LIGHTNING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionInput.cls new file mode 100644 index 0000000..e663bcd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionInput.cls @@ -0,0 +1,12 @@ +global class ExtensionInput { + global ConnectApi.AlternativeInput alternativeRepresentation; + global String extensionId; + global String payload; + global String payloadVersion; + global ExtensionInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionOutputCollectionRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionOutputCollectionRepresentation.cls new file mode 100644 index 0000000..dc598ea --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionOutputCollectionRepresentation.cls @@ -0,0 +1,11 @@ +global class ExtensionOutputCollectionRepresentation { + global Integer count; + global List items; + global ExtensionOutputCollectionRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionOutputRepresentation.cls new file mode 100644 index 0000000..686b77c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionOutputRepresentation.cls @@ -0,0 +1,16 @@ +global class ExtensionOutputRepresentation { + global String domain; + global String epn; + global String name; + global String product; + global String status; + global String type; + global Integer version; + global ExtensionOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionsCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionsCapability.cls new file mode 100644 index 0000000..7b9c9cd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionsCapability.cls @@ -0,0 +1,10 @@ +global class ExtensionsCapability { + global List items; + global ExtensionsCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionsCapabilityInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionsCapabilityInput.cls new file mode 100644 index 0000000..643463f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExtensionsCapabilityInput.cls @@ -0,0 +1,10 @@ +global class ExtensionsCapabilityInput { + global List itemsToAdd; + global List itemsToRemove; + global ExtensionsCapabilityInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredential.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredential.cls new file mode 100644 index 0000000..be255d6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredential.cls @@ -0,0 +1,20 @@ +global class ExternalCredential { + global ConnectApi.CredentialAuthenticationProtocol authenticationProtocol; + global ConnectApi.CredentialAuthenticationProtocolVariant authenticationProtocolVariant; + global ConnectApi.CredentialAuthenticationStatus authenticationStatus; + global List customHeaders; + global String developerName; + global String id; + global String masterLabel; + global List parameters; + global List principals; + global List relatedNamedCredentials; + global String url; + global ExternalCredential() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialAuthParameterName.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialAuthParameterName.cls new file mode 100644 index 0000000..d2b3738 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialAuthParameterName.cls @@ -0,0 +1,10 @@ +global enum ExternalCredentialAuthParameterName { +AWSACCOUNTID, +AWSPROFILEARN, +AWSREGION, +AWSSERVICE, +AWSSTSDURATION, +AWSSTSEXTERNALID, +AWSTRUSTANCHORARN, +SCOPE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialInput.cls new file mode 100644 index 0000000..486604d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialInput.cls @@ -0,0 +1,15 @@ +global class ExternalCredentialInput { + global ConnectApi.CredentialAuthenticationProtocol authenticationProtocol; + global ConnectApi.CredentialAuthenticationProtocolVariant authenticationProtocolVariant; + global List customHeaders; + global String developerName; + global String masterLabel; + global List parameters; + global List principals; + global ExternalCredentialInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialList.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialList.cls new file mode 100644 index 0000000..58676e0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialList.cls @@ -0,0 +1,10 @@ +global class ExternalCredentialList { + global List externalCredentials; + global ExternalCredentialList() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialParameter.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialParameter.cls new file mode 100644 index 0000000..0aa02e3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialParameter.cls @@ -0,0 +1,14 @@ +global class ExternalCredentialParameter { + global String id; + global String parameterDescription; + global String parameterName; + global ConnectApi.ExternalCredentialParameterType parameterType; + global String parameterValue; + global ExternalCredentialParameter() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialParameterInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialParameterInput.cls new file mode 100644 index 0000000..e2a5245 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialParameterInput.cls @@ -0,0 +1,13 @@ +global class ExternalCredentialParameterInput { + global String id; + global String parameterDescription; + global String parameterName; + global ConnectApi.ExternalCredentialParameterType parameterType; + global String parameterValue; + global ExternalCredentialParameterInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialParameterType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialParameterType.cls new file mode 100644 index 0000000..edbcecc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialParameterType.cls @@ -0,0 +1,9 @@ +global enum ExternalCredentialParameterType { +AUTHPARAMETER, +AUTHPROVIDER, +AUTHPROVIDERURL, +AUTHPROVIDERURLQUERYPARAMETER, +JWTBODYCLAIM, +JWTHEADERCLAIM, +SIGNINGCERTIFICATE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialPrincipal.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialPrincipal.cls new file mode 100644 index 0000000..c04c080 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialPrincipal.cls @@ -0,0 +1,16 @@ +global class ExternalCredentialPrincipal { + global ConnectApi.CredentialAuthenticationStatus authenticationStatus; + global String id; + global List parameters; + global List principalAccess; + global String principalName; + global ConnectApi.CredentialPrincipalType principalType; + global Integer sequenceNumber; + global ExternalCredentialPrincipal() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialPrincipalAccess.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialPrincipalAccess.cls new file mode 100644 index 0000000..be55fd3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialPrincipalAccess.cls @@ -0,0 +1,12 @@ +global class ExternalCredentialPrincipalAccess { + global String developerName; + global String id; + global ConnectApi.ExternalCredentialPrincipalAccessType type; + global ExternalCredentialPrincipalAccess() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialPrincipalAccessType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialPrincipalAccessType.cls new file mode 100644 index 0000000..fb349e2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialPrincipalAccessType.cls @@ -0,0 +1,5 @@ +global enum ExternalCredentialPrincipalAccessType { +PERMISSIONSET, +PERMISSIONSETGROUP, +PROFILE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialPrincipalInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialPrincipalInput.cls new file mode 100644 index 0000000..4efdcc8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalCredentialPrincipalInput.cls @@ -0,0 +1,13 @@ +global class ExternalCredentialPrincipalInput { + global String id; + global List parameters; + global String principalName; + global ConnectApi.CredentialPrincipalType principalType; + global Integer sequenceNumber; + global ExternalCredentialPrincipalInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalDocCreationInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalDocCreationInputRepresentation.cls new file mode 100644 index 0000000..79ae651 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalDocCreationInputRepresentation.cls @@ -0,0 +1,12 @@ +global class ExternalDocCreationInputRepresentation { + global String contentVersionId; + global String documentNamePrefix; + global String isAsync; + global String refObjectId; + global ExternalDocCreationInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalDocCreationOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalDocCreationOutputRepresentation.cls new file mode 100644 index 0000000..0b394e5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalDocCreationOutputRepresentation.cls @@ -0,0 +1,13 @@ +global class ExternalDocCreationOutputRepresentation { + global Object externalDocumentDetails; + global Boolean isSuccess; + global String message; + global String ssoLinkUrl; + global ExternalDocCreationOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalDocument.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalDocument.cls new file mode 100644 index 0000000..6810a37 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalDocument.cls @@ -0,0 +1,3 @@ +global class ExternalDocument { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalDocumentOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalDocumentOutputRepresentation.cls new file mode 100644 index 0000000..d5338fe --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalDocumentOutputRepresentation.cls @@ -0,0 +1,15 @@ +global class ExternalDocumentOutputRepresentation { + global String contentVersionId; + global String externalDocumentId; + global String externalUserId; + global String referenceObject; + global String referenceObjectId; + global String url; + global ExternalDocumentOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalEmailService.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalEmailService.cls new file mode 100644 index 0000000..a6de224 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalEmailService.cls @@ -0,0 +1,5 @@ +global class ExternalEmailService { + global Object clone() { } + global static ConnectApi.UserOauthInfo getUserOauthInfo(String landingPage) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalFilePermissionInformation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalFilePermissionInformation.cls new file mode 100644 index 0000000..669145a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalFilePermissionInformation.cls @@ -0,0 +1,14 @@ +global class ExternalFilePermissionInformation { + global List externalFilePermissionTypes; + global Boolean externalFilePermissionsFailure; + global String externalFilePermissionsInfoFailureReason; + global ConnectApi.ContentHubExternalItemSharingType externalFileSharingStatus; + global List repositoryPublicGroups; + global ExternalFilePermissionInformation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalManagedAccount.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalManagedAccount.cls new file mode 100644 index 0000000..865ed37 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalManagedAccount.cls @@ -0,0 +1,3 @@ +global class Externalmanagedaccount { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalManagedAccountAddressOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalManagedAccountAddressOutput.cls new file mode 100644 index 0000000..493b8bb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalManagedAccountAddressOutput.cls @@ -0,0 +1,17 @@ +global class ExternalManagedAccountAddressOutput { + global String city; + global String country; + global String geolocationAccuracy; + global String latitude; + global String longitude; + global String state; + global String street; + global String zip; + global ExternalManagedAccountAddressOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalManagedAccountCollectionOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalManagedAccountCollectionOutput.cls new file mode 100644 index 0000000..009f984 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalManagedAccountCollectionOutput.cls @@ -0,0 +1,11 @@ +global class ExternalManagedAccountCollectionOutput { + global List externalManagedAccounts; + global Integer totalExternalManagedAccounts; + global ExternalManagedAccountCollectionOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalManagedAccountOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalManagedAccountOutput.cls new file mode 100644 index 0000000..d94adfa --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ExternalManagedAccountOutput.cls @@ -0,0 +1,14 @@ +global class ExternalManagedAccountOutput { + global String accountId; + global String accountName; + global ConnectApi.ExternalManagedAccountAddressOutput address; + global String externalManagedAccountId; + global Boolean isMyAccount; + global ExternalManagedAccountOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FacetValue.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FacetValue.cls new file mode 100644 index 0000000..a268562 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FacetValue.cls @@ -0,0 +1,9 @@ +global class FacetValue { + global ConnectApi.CommerceSearchFacetType type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeatureExtractionParametersFieldMapValue.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeatureExtractionParametersFieldMapValue.cls new file mode 100644 index 0000000..c963e1c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeatureExtractionParametersFieldMapValue.cls @@ -0,0 +1,9 @@ +global class FeatureExtractionParametersFieldMapValue { + global Object featureExtractionParametersMapValue; + global FeatureExtractionParametersFieldMapValue() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeatureValidationUseCaseEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeatureValidationUseCaseEnum.cls new file mode 100644 index 0000000..d354032 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeatureValidationUseCaseEnum.cls @@ -0,0 +1,3 @@ +global enum FeatureValidationUseCaseEnum { +HEALTHCLOUDIAM +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Features.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Features.cls new file mode 100644 index 0000000..0f16feb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Features.cls @@ -0,0 +1,57 @@ +global class Features { + global Boolean activityReminderNotificationsEnabled; + global Boolean chatter; + global Boolean chatterActivity; + global Boolean chatterAnswers; + global Boolean chatterGlobalInfluence; + global Boolean chatterGroupRecordSharing; + global Boolean chatterGroupRecords; + global Boolean chatterMessages; + global Boolean chatterTopics; + global Boolean communitiesEnabled; + global Boolean communityModeration; + global Boolean communityReputation; + global Boolean connectRecords; + global Boolean dashboardComponentSnapshots; + global String defaultCurrencyIsoCode; + global Boolean einsteinVoiceEnabled; + global Boolean einsteinVoiceInPilotEnabled; + global Boolean einsteinVoiceLoggingEnabled; + global Integer einsteinVoiceProviderId; + global Boolean favoritesEnabled; + global Integer favoritesLimit; + global Boolean feedPolling; + global Boolean feedStreamEnabled; + global Boolean files; + global Boolean filesOnComments; + global Boolean forecasting3AggregatedEnabled; + global Boolean forecastingEnabled; + global Integer forecastingPeriodRange; + global Integer forecastingPeriodStart; + global ConnectApi.PeriodTypesEnum forecastingPeriodType; + global Boolean groupsCanFollow; + global Boolean ideas; + global String liveAgentHostName; + global Boolean managedTopicsEnabled; + global Integer maxEntitySubscriptionsPerStream; + global Integer maxFilesPerFeedItem; + global Integer maxStreamsPerPerson; + global Boolean mobileNotificationsEnabled; + global Boolean multiCurrency; + global Boolean offlineEditEnabled; + global Boolean publisherActions; + global Boolean storeDataOnDevicesEnabled; + global Boolean thanksAllowed; + global Boolean trendingTopics; + global Boolean userNavItemsEnabled; + global Integer userNavItemsMax; + global Boolean viralInvitesAllowed; + global Boolean wave; + global Features() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Feed.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Feed.cls new file mode 100644 index 0000000..9b5f2bd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Feed.cls @@ -0,0 +1,19 @@ +global class Feed { + global String feedElementPostUrl; + global ConnectApi.FeedElementPage feedElements; + global String feedElementsUrl; + global String feedItemsUrl; + global String isModifiedUrl; + global String pinnedFeedElementsUrl; + global ConnectApi.FeedFilter redirectedFeedFilter; + global ConnectApi.FeedSortOrder redirectedFeedSort; + global ConnectApi.FeedType redirectedFeedType; + global Boolean respectsMute; + global Feed() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedBody.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedBody.cls new file mode 100644 index 0000000..bf6868e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedBody.cls @@ -0,0 +1,9 @@ +global class FeedBody { + global FeedBody() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedCommentSortOrder.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedCommentSortOrder.cls new file mode 100644 index 0000000..f680e36 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedCommentSortOrder.cls @@ -0,0 +1,5 @@ +global enum FeedCommentSortOrder { +CREATEDDATELATESTASC, +CREATEDDATEOLDESTASC, +RELEVANCE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedDensity.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedDensity.cls new file mode 100644 index 0000000..692bb28 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedDensity.cls @@ -0,0 +1,4 @@ +global enum FeedDensity { +ALLUPDATES, +FEWERUPDATES +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedDirectory.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedDirectory.cls new file mode 100644 index 0000000..77501a8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedDirectory.cls @@ -0,0 +1,11 @@ +global class FeedDirectory { + global List favorites; + global List feeds; + global FeedDirectory() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedDirectoryItem.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedDirectoryItem.cls new file mode 100644 index 0000000..40ddec6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedDirectoryItem.cls @@ -0,0 +1,15 @@ +global class FeedDirectoryItem { + global String feedElementsUrl; + global String feedItemsUrl; + global ConnectApi.FeedType feedType; + global String feedUrl; + global String keyPrefix; + global String label; + global FeedDirectoryItem() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElement.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElement.cls new file mode 100644 index 0000000..a05809a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElement.cls @@ -0,0 +1,18 @@ +global class FeedElement { + global ConnectApi.FeedBody body; + global ConnectApi.FeedElementCapabilities capabilities; + global Datetime createdDate; + global ConnectApi.FeedElementType feedElementType; + global ConnectApi.MessageBody header; + global String id; + global Datetime modifiedDate; + global ConnectApi.ActorWithId parent; + global String relativeCreatedDate; + global String url; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementCapabilities.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementCapabilities.cls new file mode 100644 index 0000000..251c2f2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementCapabilities.cls @@ -0,0 +1,46 @@ +global class FeedElementCapabilities { + global ConnectApi.ApprovalCapability approval; + global ConnectApi.AssociatedActionsCapability associatedActions; + global ConnectApi.BannerCapability banner; + global ConnectApi.BookmarksCapability bookmarks; + global ConnectApi.BundleCapability bundle; + global ConnectApi.CallCollaborationCapability callCollaboration; + global ConnectApi.CanvasCapability canvas; + global ConnectApi.CaseCommentCapability caseComment; + global ConnectApi.ChatterLikesCapability chatterLikes; + global ConnectApi.CloseCapability close; + global ConnectApi.CommentsCapability comments; + global ConnectApi.ContentCapability content; + global ConnectApi.DashboardComponentSnapshotCapability dashboardComponentSnapshot; + global ConnectApi.DirectMessageCapability directMessage; + global ConnectApi.EditCapability edit; + global ConnectApi.EmailMessageCapability emailMessage; + global ConnectApi.EnhancedLinkCapability enhancedLink; + global ConnectApi.ExtensionsCapability extensions; + global ConnectApi.FeedEntityShareCapability feedEntityShare; + global ConnectApi.FilesCapability files; + global ConnectApi.InteractionsCapability interactions; + global ConnectApi.LinkCapability link; + global ConnectApi.MediaReferenceCapability mediaReferences; + global ConnectApi.ModerationCapability moderation; + global ConnectApi.MuteCapability mute; + global ConnectApi.OriginCapability origin; + global ConnectApi.PinCapability pin; + global ConnectApi.PollCapability poll; + global ConnectApi.QuestionAndAnswersCapability questionAndAnswers; + global ConnectApi.ReadByCapability readBy; + global ConnectApi.RecommendationsCapability recommendations; + global ConnectApi.RecordSnapshotCapability recordSnapshot; + global ConnectApi.SocialPostCapability socialPost; + global ConnectApi.StatusCapability status; + global ConnectApi.TopicsCapability topics; + global ConnectApi.TrackedChangesCapability trackedChanges; + global ConnectApi.UpDownVoteCapability upDownVote; + global FeedElementCapabilities() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementCapabilitiesInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementCapabilitiesInput.cls new file mode 100644 index 0000000..065fb63 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementCapabilitiesInput.cls @@ -0,0 +1,21 @@ +global class FeedElementCapabilitiesInput { + global ConnectApi.AssociatedActionsCapabilityInput associatedActions; + global ConnectApi.BookmarksCapabilityInput bookmarks; + global ConnectApi.CanvasCapabilityInput canvas; + global ConnectApi.ContentCapabilityInput content; + global ConnectApi.DirectMessageCapabilityInput directMessage; + global ConnectApi.ExtensionsCapabilityInput extensions; + global ConnectApi.FeedEntityShareCapabilityInput feedEntityShare; + global ConnectApi.FilesCapabilityInput files; + global ConnectApi.LinkCapabilityInput link; + global ConnectApi.PollCapabilityInput poll; + global ConnectApi.QuestionAndAnswersCapabilityInput questionAndAnswers; + global ConnectApi.StatusCapabilityInput status; + global ConnectApi.TopicsCapabilityInput topics; + global FeedElementCapabilitiesInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementCapability.cls new file mode 100644 index 0000000..64a9bbf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementCapability.cls @@ -0,0 +1,8 @@ +global class FeedElementCapability { + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementCapabilityInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementCapabilityInput.cls new file mode 100644 index 0000000..8ea1888 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementCapabilityInput.cls @@ -0,0 +1,7 @@ +global class FeedElementCapabilityInput { + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementCapabilityType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementCapabilityType.cls new file mode 100644 index 0000000..d04a0d8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementCapabilityType.cls @@ -0,0 +1,41 @@ +global enum FeedElementCapabilityType { +APPROVAL, +ASSOCIATEDACTIONS, +BANNER, +BOOKMARKS, +BUNDLE, +CALLCOLLABORATION, +CANVAS, +CASECOMMENT, +CHATTERLIKES, +CLOSE, +COMMENTS, +CONTENT, +DASHBOARDCOMPONENTSNAPSHOT, +DIRECTMESSAGE, +EDIT, +EMAILMESSAGE, +ENHANCEDLINK, +EXTENSIONS, +FEEDENTITYSHARE, +FILES, +INTERACTIONS, +LINK, +MEDIAREFERENCES, +MODERATION, +MUTE, +ORIGIN, +PIN, +POLL, +QUESTIONANDANSWERS, +READBY, +RECOMMENDATIONS, +RECORD, +RECORDSNAPSHOT, +SOCIALPOST, +STATUS, +TOPICS, +TRACKEDCHANGES, +UPDOWNVOTE, +VERIFIED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementInput.cls new file mode 100644 index 0000000..0cd97d4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementInput.cls @@ -0,0 +1,10 @@ +global class FeedElementInput { + global ConnectApi.FeedElementCapabilitiesInput capabilities; + global ConnectApi.FeedElementType feedElementType; + global String subjectId; + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementPage.cls new file mode 100644 index 0000000..0495124 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementPage.cls @@ -0,0 +1,19 @@ +global class FeedElementPage { + global String currentPageToken; + global String currentPageUrl; + global List elements; + global String isModifiedToken; + global String isModifiedUrl; + global String nextPageToken; + global String nextPageUrl; + global String searchQueryId; + global String updatesToken; + global String updatesUrl; + global FeedElementPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementType.cls new file mode 100644 index 0000000..6387c32 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedElementType.cls @@ -0,0 +1,5 @@ +global enum FeedElementType { +BUNDLE, +FEEDITEM, +RECOMMENDATION +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEnabledEntity.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEnabledEntity.cls new file mode 100644 index 0000000..3d7e535 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEnabledEntity.cls @@ -0,0 +1,15 @@ +global class FeedEnabledEntity { + global String id; + global ConnectApi.Motif motif; + global String name; + global String networkId; + global String type; + global String url; + global FeedEnabledEntity() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntityIsEditable.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntityIsEditable.cls new file mode 100644 index 0000000..51e02fe --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntityIsEditable.cls @@ -0,0 +1,12 @@ +global class FeedEntityIsEditable { + global Boolean areAttachmentsEditableByMe; + global String feedEntityUrl; + global Boolean isEditableByMe; + global FeedEntityIsEditable() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntityNotAvailableSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntityNotAvailableSummary.cls new file mode 100644 index 0000000..02b860b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntityNotAvailableSummary.cls @@ -0,0 +1,9 @@ +global class FeedEntityNotAvailableSummary { + global FeedEntityNotAvailableSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntityReadSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntityReadSummary.cls new file mode 100644 index 0000000..4b18d5a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntityReadSummary.cls @@ -0,0 +1,9 @@ +global class FeedEntityReadSummary { + global FeedEntityReadSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntityShareCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntityShareCapability.cls new file mode 100644 index 0000000..3f846e7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntityShareCapability.cls @@ -0,0 +1,10 @@ +global class FeedEntityShareCapability { + global ConnectApi.FeedEntitySummary feedEntity; + global FeedEntityShareCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntityShareCapabilityInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntityShareCapabilityInput.cls new file mode 100644 index 0000000..7847874 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntityShareCapabilityInput.cls @@ -0,0 +1,9 @@ +global class FeedEntityShareCapabilityInput { + global String feedEntityId; + global FeedEntityShareCapabilityInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntityStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntityStatus.cls new file mode 100644 index 0000000..63061a4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntityStatus.cls @@ -0,0 +1,5 @@ +global enum FeedEntityStatus { +DRAFT, +PENDINGREVIEW, +PUBLISHED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntitySummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntitySummary.cls new file mode 100644 index 0000000..1e18939 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedEntitySummary.cls @@ -0,0 +1,17 @@ +global class FeedEntitySummary { + global ConnectApi.Actor actor; + global ConnectApi.FeedBody body; + global Datetime createdDate; + global ConnectApi.FeedElementType feedElementType; + global String id; + global Boolean isEntityAvailable; + global ConnectApi.ActorWithId parent; + global String relativeCreatedDate; + global String url; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedFavorite.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedFavorite.cls new file mode 100644 index 0000000..0291c95 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedFavorite.cls @@ -0,0 +1,20 @@ +global class FeedFavorite { + global ConnectApi.Reference community; + global ConnectApi.UserSummary createdBy; + global String feedUrl; + global String id; + global Datetime lastViewDate; + global String name; + global String searchText; + global ConnectApi.Reference target; + global ConnectApi.FeedFavoriteType type; + global String url; + global ConnectApi.UserSummary user; + global FeedFavorite() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedFavoriteType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedFavoriteType.cls new file mode 100644 index 0000000..68c2d05 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedFavoriteType.cls @@ -0,0 +1,5 @@ +global enum FeedFavoriteType { +LISTVIEW, +SEARCH, +TOPIC +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedFavorites.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedFavorites.cls new file mode 100644 index 0000000..97d942a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedFavorites.cls @@ -0,0 +1,11 @@ +global class FeedFavorites { + global List favorites; + global Integer total; + global FeedFavorites() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedFilter.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedFilter.cls new file mode 100644 index 0000000..ebd9e79 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedFilter.cls @@ -0,0 +1,13 @@ +global enum FeedFilter { +ALLQUESTIONS, +AUTHOREDBY, +COMMUNITYSCOPED, +QUESTIONSWITHCANDIDATEANSWERS, +QUESTIONSWITHCANDIDATEANSWERSREVIEWEDPUBLISHED, +READ, +SOLVEDQUESTIONS, +UNANSWEREDQUESTIONS, +UNANSWEREDQUESTIONSWITHCANDIDATEANSWERS, +UNREAD, +UNSOLVEDQUESTIONS +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItem.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItem.cls new file mode 100644 index 0000000..287c7ac --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItem.cls @@ -0,0 +1,31 @@ +global class FeedItem { + global ConnectApi.Actor actor; + global ConnectApi.FeedItemAttachment attachment; + global Boolean canShare; + global ConnectApi.ClientInfo clientInfo; + global ConnectApi.CommentPage comments; + global Boolean event; + global Boolean hasVerifiedComment; + global Boolean isBookmarkedByCurrentUser; + global Boolean isDeleteRestricted; + global Boolean isLikedByCurrentUser; + global Boolean isSharable; + global ConnectApi.ChatterLikePage likes; + global ConnectApi.MessageBody likesMessage; + global ConnectApi.ModerationFlags moderationFlags; + global ConnectApi.Reference myLike; + global ConnectApi.Reference originalFeedItem; + global ConnectApi.Actor originalFeedItemActor; + global String photoUrl; + global ConnectApi.MessageBody preamble; + global ConnectApi.FeedItemTopicPage topics; + global ConnectApi.FeedItemType type; + global ConnectApi.FeedItemVisibilityType visibility; + global FeedItem() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemAttachment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemAttachment.cls new file mode 100644 index 0000000..eb2b371 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemAttachment.cls @@ -0,0 +1,9 @@ +global class FeedItemAttachment { + global ConnectApi.FeedItemAttachmentType type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemAttachmentInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemAttachmentInput.cls new file mode 100644 index 0000000..044f74f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemAttachmentInput.cls @@ -0,0 +1,7 @@ +global class FeedItemAttachmentInput { + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemAttachmentType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemAttachmentType.cls new file mode 100644 index 0000000..6d70f69 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemAttachmentType.cls @@ -0,0 +1,14 @@ +global enum FeedItemAttachmentType { +APPROVAL, +BASICTEMPLATE, +CANVAS, +CASECOMMENT, +CONTENT, +DASHBOARDCOMPONENT, +EMAILMESSAGE, +LINK, +POLL, +QUESTION, +RECORDSNAPSHOT, +TRACKEDCHANGE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemInput.cls new file mode 100644 index 0000000..f939a56 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemInput.cls @@ -0,0 +1,14 @@ +global class FeedItemInput { + global ConnectApi.FeedItemAttachmentInput attachment; + global ConnectApi.MessageBodyInput body; + global Boolean isBookmarkedByCurrentUser; + global String originalFeedElementId; + global String originalFeedItemId; + global ConnectApi.FeedItemVisibilityType visibility; + global FeedItemInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemPage.cls new file mode 100644 index 0000000..0865efd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemPage.cls @@ -0,0 +1,18 @@ +global class FeedItemPage { + global String currentPageToken; + global String currentPageUrl; + global String isModifiedToken; + global String isModifiedUrl; + global List items; + global String nextPageToken; + global String nextPageUrl; + global String updatesToken; + global String updatesUrl; + global FeedItemPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemSummary.cls new file mode 100644 index 0000000..00bf000 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemSummary.cls @@ -0,0 +1,16 @@ +global class FeedItemSummary { + global ConnectApi.FeedElementCapabilities capabilities; + global ConnectApi.MessageBody header; + global Datetime modifiedDate; + global ConnectApi.Reference originalFeedItem; + global ConnectApi.Actor originalFeedItemActor; + global String photoUrl; + global ConnectApi.FeedItemVisibilityType visibility; + global FeedItemSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemTopicPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemTopicPage.cls new file mode 100644 index 0000000..38d541f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemTopicPage.cls @@ -0,0 +1,11 @@ +global class FeedItemTopicPage { + global Boolean canAssignTopics; + global List topics; + global FeedItemTopicPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemType.cls new file mode 100644 index 0000000..5eb62b4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemType.cls @@ -0,0 +1,32 @@ +global enum FeedItemType { +ACTIVITYEVENT, +ADVANCEDTEXTPOST, +ANNOUNCEMENTPOST, +APPROVALPOST, +ATTACHARTICLEEVENT, +BASICTEMPLATEFEEDITEM, +CALLLOGPOST, +CANVASPOST, +CASECOMMENTPOST, +CHANGESTATUSPOST, +CHATTRANSCRIPTPOST, +COLLABORATIONGROUPCREATED, +COLLABORATIONGROUPUNARCHIVED, +CONTENTPOST, +CREATERECORDEVENT, +DASHBOARDCOMPONENTALERT, +DASHBOARDCOMPONENTSNAPSHOT, +EMAILMESSAGEEVENT, +FACEBOOKPOST, +LINKPOST, +MILESTONEEVENT, +POLLPOST, +PROFILESKILLPOST, +QUESTIONPOST, +REPLYPOST, +RYPPLEPOST, +SOCIALPOST, +TEXTPOST, +TRACKEDCHANGE, +USERSTATUS +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemVisibilityType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemVisibilityType.cls new file mode 100644 index 0000000..fa00b80 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedItemVisibilityType.cls @@ -0,0 +1,4 @@ +global enum FeedItemVisibilityType { +ALLUSERS, +INTERNALUSERS +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedModifiedInfo.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedModifiedInfo.cls new file mode 100644 index 0000000..da6ec2e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedModifiedInfo.cls @@ -0,0 +1,12 @@ +global class FeedModifiedInfo { + global Boolean isModified; + global String isModifiedToken; + global String nextPollUrl; + global FeedModifiedInfo() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedPoll.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedPoll.cls new file mode 100644 index 0000000..b41ad71 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedPoll.cls @@ -0,0 +1,12 @@ +global class FeedPoll { + global List choices; + global String myChoiceId; + global Integer totalVoteCount; + global FeedPoll() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedPollChoice.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedPollChoice.cls new file mode 100644 index 0000000..c5be5d1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedPollChoice.cls @@ -0,0 +1,14 @@ +global class FeedPollChoice { + global String id; + global Integer position; + global String text; + global Integer voteCount; + global Double voteCountRatio; + global FeedPollChoice() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedPostSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedPostSummary.cls new file mode 100644 index 0000000..1c8d715 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedPostSummary.cls @@ -0,0 +1,10 @@ +global class FeedPostSummary { + global String feedItemId; + global FeedPostSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedReadStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedReadStatus.cls new file mode 100644 index 0000000..b9c53c9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedReadStatus.cls @@ -0,0 +1,10 @@ +global class FeedReadStatus { + global Boolean isReadByMe; + global FeedReadStatus() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedReadStatusInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedReadStatusInput.cls new file mode 100644 index 0000000..413ff7a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedReadStatusInput.cls @@ -0,0 +1,9 @@ +global class FeedReadStatusInput { + global Datetime lastReadDate; + global FeedReadStatusInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedReadSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedReadSummary.cls new file mode 100644 index 0000000..a61577f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedReadSummary.cls @@ -0,0 +1,11 @@ +global class FeedReadSummary { + global String containerId; + global ConnectApi.FeedType feedType; + global FeedReadSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedSortOrder.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedSortOrder.cls new file mode 100644 index 0000000..966a83b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedSortOrder.cls @@ -0,0 +1,7 @@ +global enum FeedSortOrder { +CREATEDDATEASC, +CREATEDDATEDESC, +LASTMODIFIEDDATEDESC, +MOSTVIEWED, +RELEVANCE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedType.cls new file mode 100644 index 0000000..f974d41 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FeedType.cls @@ -0,0 +1,22 @@ +global enum FeedType { +BOOKMARKS, +COMPANY, +DIRECTMESSAGEMODERATION, +DIRECTMESSAGES, +DRAFT, +FILES, +FILTER, +GROUPS, +HOME, +LANDING, +MODERATION, +MUTED, +NEWS, +PENDINGREVIEW, +PEOPLE, +RECORD, +STREAMS, +TO, +TOPICS, +USERPROFILE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldChangeNameSegment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldChangeNameSegment.cls new file mode 100644 index 0000000..702e62a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldChangeNameSegment.cls @@ -0,0 +1,9 @@ +global class FieldChangeNameSegment { + global FieldChangeNameSegment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldChangeSegment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldChangeSegment.cls new file mode 100644 index 0000000..17e60c5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldChangeSegment.cls @@ -0,0 +1,9 @@ +global class FieldChangeSegment { + global FieldChangeSegment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldChangeValueSegment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldChangeValueSegment.cls new file mode 100644 index 0000000..a211723 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldChangeValueSegment.cls @@ -0,0 +1,11 @@ +global class FieldChangeValueSegment { + global String url; + global ConnectApi.FieldChangeValueType valueType; + global FieldChangeValueSegment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldChangeValueType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldChangeValueType.cls new file mode 100644 index 0000000..89588bd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldChangeValueType.cls @@ -0,0 +1,4 @@ +global enum FieldChangeValueType { +NEWVALUE, +OLDVALUE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldClassificationSetting.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldClassificationSetting.cls new file mode 100644 index 0000000..2f0573c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldClassificationSetting.cls @@ -0,0 +1,12 @@ +global class FieldClassificationSetting { + global Double confidenceThreshold; + global String fieldClassificationSettingId; + global String type; + global FieldClassificationSetting() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldService.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldService.cls new file mode 100644 index 0000000..7bac3fb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldService.cls @@ -0,0 +1,3 @@ +global class FieldService { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldValue.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldValue.cls new file mode 100644 index 0000000..32f7a0a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldValue.cls @@ -0,0 +1,10 @@ +global class FieldValue { + global String value; + global FieldValue() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldValueInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldValueInput.cls new file mode 100644 index 0000000..c8eda7a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldValueInput.cls @@ -0,0 +1,10 @@ +global class FieldValueInput { + global String developerName; + global String value; + global FieldValueInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldValueOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldValueOutputRepresentation.cls new file mode 100644 index 0000000..fdc0394 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FieldValueOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class FieldValueOutputRepresentation { + global String developerName; + global String value; + global FieldValueOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/File.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/File.cls new file mode 100644 index 0000000..6838c30 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/File.cls @@ -0,0 +1,41 @@ +global class File { + global String checksum; + global Datetime contentModifiedDate; + global Integer contentSize; + global String contentUrl; + global Datetime createdDate; + global String description; + global String downloadUrl; + global String fileExtension; + global String fileType; + global String flashRenditionStatus; + global Boolean isFileAsset; + global Boolean isInMyFileSync; + global Boolean isMajorVersion; + global String mimeType; + global ConnectApi.ModerationFlags moderationFlags; + global Datetime modifiedDate; + global String origin; + global ConnectApi.UserSummary owner; + global String pdfRenditionStatus; + global ConnectApi.FilePublishStatus publishStatus; + global String renditionUrl; + global String renditionUrl240By180; + global String renditionUrl720By480; + global ConnectApi.FileSharingOption sharingOption; + global ConnectApi.FileSharingPrivacy sharingPrivacy; + global ConnectApi.FileSharingType sharingRole; + global Datetime systemModstamp; + global String textPreview; + global String thumb120By90RenditionStatus; + global String thumb240By180RenditionStatus; + global String thumb720By480RenditionStatus; + global String title; + global String versionNumber; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileAsset.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileAsset.cls new file mode 100644 index 0000000..0f5e2cb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileAsset.cls @@ -0,0 +1,17 @@ +global class FileAsset { + global String baseAssetUrl; + global String baseUnauthenticatedAssetUrl; + global String id; + global Boolean isVisibleByExternalUsers; + global String masterLabel; + global String name; + global String namespacePrefix; + global String type; + global FileAsset() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileIdInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileIdInput.cls new file mode 100644 index 0000000..35d1e98 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileIdInput.cls @@ -0,0 +1,10 @@ +global class FileIdInput { + global String id; + global ConnectApi.OperationType operationType; + global FileIdInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FilePreview.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FilePreview.cls new file mode 100644 index 0000000..3a86122 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FilePreview.cls @@ -0,0 +1,14 @@ +global class FilePreview { + global ConnectApi.FilePreviewFormat format; + global Integer previewUrlCount; + global List previewUrls; + global ConnectApi.FilePreviewStatus status; + global String url; + global FilePreview() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FilePreviewCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FilePreviewCollection.cls new file mode 100644 index 0000000..8e62bc0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FilePreviewCollection.cls @@ -0,0 +1,13 @@ +global class FilePreviewCollection { + global String fileId; + global List previews; + global String url; + global String versionNumber; + global FilePreviewCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FilePreviewFormat.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FilePreviewFormat.cls new file mode 100644 index 0000000..d8f0b4a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FilePreviewFormat.cls @@ -0,0 +1,8 @@ +global enum FilePreviewFormat { +JPG, +PDF, +SVG, +THUMBNAIL, +THUMBNAILBIG, +THUMBNAILTINY +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FilePreviewStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FilePreviewStatus.cls new file mode 100644 index 0000000..2559c8e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FilePreviewStatus.cls @@ -0,0 +1,6 @@ +global enum FilePreviewStatus { +AVAILABLE, +INPROGRESS, +NOTAVAILABLE, +NOTSCHEDULED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FilePreviewUrl.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FilePreviewUrl.cls new file mode 100644 index 0000000..3dfc1c8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FilePreviewUrl.cls @@ -0,0 +1,11 @@ +global class FilePreviewUrl { + global Integer pageNumber; + global String previewUrl; + global FilePreviewUrl() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FilePublishStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FilePublishStatus.cls new file mode 100644 index 0000000..48bfe77 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FilePublishStatus.cls @@ -0,0 +1,5 @@ +global enum FilePublishStatus { +PENDINGACCESS, +PRIVATEACCESS, +PUBLICACCESS +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileSharingOption.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileSharingOption.cls new file mode 100644 index 0000000..c1d3e90 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileSharingOption.cls @@ -0,0 +1,4 @@ +global enum FileSharingOption { +ALLOWED, +RESTRICTED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileSharingPrivacy.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileSharingPrivacy.cls new file mode 100644 index 0000000..4df4e86 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileSharingPrivacy.cls @@ -0,0 +1,4 @@ +global enum FileSharingPrivacy { +NONE, +PRIVATEONRECORDS +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileSharingType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileSharingType.cls new file mode 100644 index 0000000..1a7d2d7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileSharingType.cls @@ -0,0 +1,7 @@ +global enum FileSharingType { +ADMIN, +COLLABORATOR, +OWNER, +VIEWER, +WORKSPACEMANAGED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileStat.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileStat.cls new file mode 100644 index 0000000..89ba79b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileStat.cls @@ -0,0 +1,11 @@ +global class FileStat { + global Integer stat; + global ConnectApi.FileStatsType type; + global FileStat() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileStatsCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileStatsCollection.cls new file mode 100644 index 0000000..701ee0e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileStatsCollection.cls @@ -0,0 +1,11 @@ +global class FileStatsCollection { + global String fileId; + global List stats; + global FileStatsCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileStatsType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileStatsType.cls new file mode 100644 index 0000000..f35ffcd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileStatsType.cls @@ -0,0 +1,4 @@ +global enum FileStatsType { +DOWNLOAD, +VIEW +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileSummary.cls new file mode 100644 index 0000000..e74f65c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileSummary.cls @@ -0,0 +1,9 @@ +global class FileSummary { + global FileSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileText.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileText.cls new file mode 100644 index 0000000..33191f7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FileText.cls @@ -0,0 +1,13 @@ +global class FileText { + global ConnectApi.FilePreviewStatus status; + global String text; + global String type; + global String url; + global FileText() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FilesCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FilesCapability.cls new file mode 100644 index 0000000..6894f04 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FilesCapability.cls @@ -0,0 +1,10 @@ +global class FilesCapability { + global List items; + global FilesCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FilesCapabilityInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FilesCapabilityInput.cls new file mode 100644 index 0000000..7217ec1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FilesCapabilityInput.cls @@ -0,0 +1,9 @@ +global class FilesCapabilityInput { + global List items; + global FilesCapabilityInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FindAppointmentSlotResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FindAppointmentSlotResult.cls new file mode 100644 index 0000000..d7209f7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FindAppointmentSlotResult.cls @@ -0,0 +1,13 @@ +global class FindAppointmentSlotResult { + global List errors; + global Boolean isSuccess; + global Map> slots; + global String slotsSerialized; + global FindAppointmentSlotResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsGroupUsingOCIInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsGroupUsingOCIInputRepresentation.cls new file mode 100644 index 0000000..6584377 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsGroupUsingOCIInputRepresentation.cls @@ -0,0 +1,11 @@ +global class FindRoutesWithFewestSplitsGroupUsingOCIInputRepresentation { + global List excludeLocations; + global Integer maximumNumberOfSplits; + global List orderedItems; + global FindRoutesWithFewestSplitsGroupUsingOCIInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsInputRepresentation.cls new file mode 100644 index 0000000..56e0329 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsInputRepresentation.cls @@ -0,0 +1,11 @@ +global class FindRoutesWithFewestSplitsInputRepresentation { + global List locationAvailableInventory; + global Integer maximumNumberOfSplits; + global List orderedQuantities; + global FindRoutesWithFewestSplitsInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsOutputRepresentation.cls new file mode 100644 index 0000000..ada1012 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class FindRoutesWithFewestSplitsOutputRepresentation { + global List targetLocations; + global FindRoutesWithFewestSplitsOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsUsingOCIInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsUsingOCIInputRepresentation.cls new file mode 100644 index 0000000..4a67f39 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsUsingOCIInputRepresentation.cls @@ -0,0 +1,9 @@ +global class FindRoutesWithFewestSplitsUsingOCIInputRepresentation { + global List findRoutesWithFewestSplitsUsingOCIInputs; + global FindRoutesWithFewestSplitsUsingOCIInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsUsingOCIItemInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsUsingOCIItemInputRepresentation.cls new file mode 100644 index 0000000..4ae6b97 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsUsingOCIItemInputRepresentation.cls @@ -0,0 +1,11 @@ +global class FindRoutesWithFewestSplitsUsingOCIItemInputRepresentation { + global String locationGroupIdentifier; + global Double quantity; + global String stockKeepingUnit; + global FindRoutesWithFewestSplitsUsingOCIItemInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsUsingOCIOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsUsingOCIOutputRepresentation.cls new file mode 100644 index 0000000..a11ba60 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsUsingOCIOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class FindRoutesWithFewestSplitsUsingOCIOutputRepresentation { + global List results; + global FindRoutesWithFewestSplitsUsingOCIOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsWithInventoryOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsWithInventoryOutputRepresentation.cls new file mode 100644 index 0000000..bc2b010 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FindRoutesWithFewestSplitsWithInventoryOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class FindRoutesWithFewestSplitsWithInventoryOutputRepresentation { + global ConnectApi.OCIGetInventoryAvailabilityOutputRepresentation inventory; + global List targetLocations; + global FindRoutesWithFewestSplitsWithInventoryOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FirstReviewerOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FirstReviewerOutput.cls new file mode 100644 index 0000000..f6e13f5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FirstReviewerOutput.cls @@ -0,0 +1,10 @@ +global class FirstReviewerOutput { + global String username; + global FirstReviewerOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FolderItemType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FolderItemType.cls new file mode 100644 index 0000000..9e45c55 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FolderItemType.cls @@ -0,0 +1,4 @@ +global enum FolderItemType { +FILE, +FOLDER +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FollowIntents.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FollowIntents.cls new file mode 100644 index 0000000..bee97a6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FollowIntents.cls @@ -0,0 +1,10 @@ +global class FollowIntents { + global List follows; + global FollowIntents() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FollowSocialPersonaIntent.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FollowSocialPersonaIntent.cls new file mode 100644 index 0000000..52df88b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FollowSocialPersonaIntent.cls @@ -0,0 +1,11 @@ +global class FollowSocialPersonaIntent { + global ConnectApi.ManagedSocialAccount managedSocialAccount; + global String socialPersonaId; + global FollowSocialPersonaIntent() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FollowerPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FollowerPage.cls new file mode 100644 index 0000000..46bfd8a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FollowerPage.cls @@ -0,0 +1,14 @@ +global class FollowerPage { + global String currentPageUrl; + global List followers; + global String nextPageUrl; + global String previousPageUrl; + global Integer total; + global FollowerPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FollowingCounts.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FollowingCounts.cls new file mode 100644 index 0000000..547c7ab --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FollowingCounts.cls @@ -0,0 +1,12 @@ +global class FollowingCounts { + global Integer people; + global Integer records; + global Integer total; + global FollowingCounts() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FollowingPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FollowingPage.cls new file mode 100644 index 0000000..854cf29 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FollowingPage.cls @@ -0,0 +1,14 @@ +global class FollowingPage { + global String currentPageUrl; + global List following; + global String nextPageUrl; + global String previousPageUrl; + global Integer total; + global FollowingPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Form.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Form.cls new file mode 100644 index 0000000..dba7e34 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Form.cls @@ -0,0 +1,13 @@ +global class Form { + global String dataExtensionId; + global ConnectApi.FormFields formFieldsList; + global String formId; + global String formName; + global Form() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormField.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormField.cls new file mode 100644 index 0000000..c5f29aa --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormField.cls @@ -0,0 +1,11 @@ +global class FormField { + global String name; + global ConnectApi.FormFieldType type; + global FormField() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormFieldInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormFieldInput.cls new file mode 100644 index 0000000..0c5dcb5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormFieldInput.cls @@ -0,0 +1,10 @@ +global class FormFieldInput { + global String name; + global ConnectApi.FormFieldType type; + global FormFieldInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormFieldType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormFieldType.cls new file mode 100644 index 0000000..3c90d6d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormFieldType.cls @@ -0,0 +1,7 @@ +global enum FormFieldType { +BOOLEAN, +DATE, +EMAILADDRESS, +NUMBER, +TEXT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormFields.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormFields.cls new file mode 100644 index 0000000..b39552b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormFields.cls @@ -0,0 +1,10 @@ +global class FormFields { + global List formFields; + global FormFields() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormInput.cls new file mode 100644 index 0000000..fcd762a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormInput.cls @@ -0,0 +1,11 @@ +global class FormInput { + global List formFieldsList; + global String formName; + global String memberIdentificationCode; + global FormInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormSubmission.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormSubmission.cls new file mode 100644 index 0000000..8eb1799 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormSubmission.cls @@ -0,0 +1,10 @@ +global class FormSubmission { + global String formSubmissionId; + global FormSubmission() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormSubmissionFieldInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormSubmissionFieldInput.cls new file mode 100644 index 0000000..af9c5ba --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormSubmissionFieldInput.cls @@ -0,0 +1,10 @@ +global class FormSubmissionFieldInput { + global String name; + global String value; + global FormSubmissionFieldInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormSubmissionInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormSubmissionInput.cls new file mode 100644 index 0000000..9976e84 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormSubmissionInput.cls @@ -0,0 +1,9 @@ +global class FormSubmissionInput { + global List formFieldsList; + global FormSubmissionInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormulaFilterType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormulaFilterType.cls new file mode 100644 index 0000000..a834441 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormulaFilterType.cls @@ -0,0 +1,5 @@ +global enum FormulaFilterType { +ALLCRITERIAMATCH, +ANYCRITERIONMATCHES, +CUSTOMLOGICMATCHES +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormulaScope.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormulaScope.cls new file mode 100644 index 0000000..3b296cb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FormulaScope.cls @@ -0,0 +1,13 @@ +global class FormulaScope { + global Map contextValues; + global Map contextValuesMap; + global List fields; + global String formula; + global FormulaScope() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentGroupInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentGroupInputRepresentation.cls new file mode 100644 index 0000000..93d6b10 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentGroupInputRepresentation.cls @@ -0,0 +1,12 @@ +global class FulfillmentGroupInputRepresentation { + global String fulfilledFromLocationId; + global String fulfillmentType; + global List orderItemSummaries; + global String referenceId; + global FulfillmentGroupInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentGroupOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentGroupOutputRepresentation.cls new file mode 100644 index 0000000..43b37ba --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentGroupOutputRepresentation.cls @@ -0,0 +1,16 @@ +global class FulfillmentGroupOutputRepresentation { + global String fulfilledFromLocationId; + global String fulfillmentOrderId; + global String fulfillmentType; + global String orderDeliveryGroupSummaryId; + global List orderItemSummaries; + global String orderSummaryId; + global String referenceId; + global FulfillmentGroupOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrder.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrder.cls new file mode 100644 index 0000000..83506ab --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrder.cls @@ -0,0 +1,3 @@ +global class FulfillmentOrder { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderCancelLineItemsOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderCancelLineItemsOutputRepresentation.cls new file mode 100644 index 0000000..e4fa7c9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderCancelLineItemsOutputRepresentation.cls @@ -0,0 +1,9 @@ +global class FulfillmentOrderCancelLineItemsOutputRepresentation { + global FulfillmentOrderCancelLineItemsOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderInputRepresentation.cls new file mode 100644 index 0000000..428d5d4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderInputRepresentation.cls @@ -0,0 +1,12 @@ +global class FulfillmentOrderInputRepresentation { + global String defaultActivationStatus; + global List fulfillmentGroups; + global String orderDeliveryGroupSummaryId; + global String orderSummaryId; + global FulfillmentOrderInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderInvoiceInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderInvoiceInputRepresentation.cls new file mode 100644 index 0000000..52ad079 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderInvoiceInputRepresentation.cls @@ -0,0 +1,8 @@ +global class FulfillmentOrderInvoiceInputRepresentation { + global FulfillmentOrderInvoiceInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderInvoiceOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderInvoiceOutputRepresentation.cls new file mode 100644 index 0000000..e68a663 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderInvoiceOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class FulfillmentOrderInvoiceOutputRepresentation { + global String invoiceId; + global FulfillmentOrderInvoiceOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderLineItemInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderLineItemInputRepresentation.cls new file mode 100644 index 0000000..3880536 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderLineItemInputRepresentation.cls @@ -0,0 +1,10 @@ +global class FulfillmentOrderLineItemInputRepresentation { + global String fulfillmentOrderLineItemId; + global Double quantity; + global FulfillmentOrderLineItemInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderLineItemsToCancelInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderLineItemsToCancelInputRepresentation.cls new file mode 100644 index 0000000..43a75ac --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderLineItemsToCancelInputRepresentation.cls @@ -0,0 +1,9 @@ +global class FulfillmentOrderLineItemsToCancelInputRepresentation { + global List fulfillmentOrderLineItemsToCancel; + global FulfillmentOrderLineItemsToCancelInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderOutputRepresentation.cls new file mode 100644 index 0000000..8ec379d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/FulfillmentOrderOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class FulfillmentOrderOutputRepresentation { + global List fulfillmentOrderIds; + global FulfillmentOrderOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GatewayLogResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GatewayLogResponse.cls new file mode 100644 index 0000000..970ddb6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GatewayLogResponse.cls @@ -0,0 +1,13 @@ +global class GatewayLogResponse { + global Datetime createdDate; + global String gatewayResultCode; + global String id; + global String interactionStatus; + global GatewayLogResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GeneralPractitionerOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GeneralPractitionerOutput.cls new file mode 100644 index 0000000..97c49a9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GeneralPractitionerOutput.cls @@ -0,0 +1,10 @@ +global class GeneralPractitionerOutput { + global String generalPractitionerNpi; + global GeneralPractitionerOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GenerateBenefitSessionOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GenerateBenefitSessionOutputRepresentation.cls new file mode 100644 index 0000000..bdd4f89 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GenerateBenefitSessionOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class GenerateBenefitSessionOutputRepresentation { + global String message; + global Boolean success; + global GenerateBenefitSessionOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GenericBundleCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GenericBundleCapability.cls new file mode 100644 index 0000000..92ae178 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GenericBundleCapability.cls @@ -0,0 +1,9 @@ +global class GenericBundleCapability { + global GenericBundleCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GenericFeedElement.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GenericFeedElement.cls new file mode 100644 index 0000000..501b993 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GenericFeedElement.cls @@ -0,0 +1,9 @@ +global class GenericFeedElement { + global GenericFeedElement() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GenericObject.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GenericObject.cls new file mode 100644 index 0000000..ece181f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GenericObject.cls @@ -0,0 +1,9 @@ +global class GenericObject { + global Object value; + global GenericObject() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GenericObjectOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GenericObjectOutput.cls new file mode 100644 index 0000000..60812c9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GenericObjectOutput.cls @@ -0,0 +1,10 @@ +global class GenericObjectOutput { + global Object value; + global GenericObjectOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GenericObjectWrapper.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GenericObjectWrapper.cls new file mode 100644 index 0000000..a9bc15f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GenericObjectWrapper.cls @@ -0,0 +1,9 @@ +global class GenericObjectWrapper { + global Object value; + global GenericObjectWrapper() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GenericPricingResponseRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GenericPricingResponseRepresentation.cls new file mode 100644 index 0000000..ec848b9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GenericPricingResponseRepresentation.cls @@ -0,0 +1,11 @@ +global class GenericPricingResponseRepresentation { + global ConnectApi.PricingErrorResponse error; + global Boolean success; + global GenericPricingResponseRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GetBlockchainConfigOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GetBlockchainConfigOutput.cls new file mode 100644 index 0000000..2f815c7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GetBlockchainConfigOutput.cls @@ -0,0 +1,10 @@ +global class GetBlockchainConfigOutput { + global List blockchainConfigList; + global GetBlockchainConfigOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GetContractValueInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GetContractValueInput.cls new file mode 100644 index 0000000..9cc0ba5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GetContractValueInput.cls @@ -0,0 +1,12 @@ +global class GetContractValueInput { + global String contractAddress; + global List fieldNames; + global List fieldTypes; + global String url; + global GetContractValueInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GetContractValueOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GetContractValueOutput.cls new file mode 100644 index 0000000..cb0259d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GetContractValueOutput.cls @@ -0,0 +1,10 @@ +global class GetContractValueOutput { + global ConnectApi.WrappedMap contractValues; + global GetContractValueOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GetFOCapacityValuesOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GetFOCapacityValuesOutputRepresentation.cls new file mode 100644 index 0000000..b39966d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GetFOCapacityValuesOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class GetFOCapacityValuesOutputRepresentation { + global List locations; + global GetFOCapacityValuesOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GetFOCapacityValuesRequestInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GetFOCapacityValuesRequestInputRepresentation.cls new file mode 100644 index 0000000..f369b2a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GetFOCapacityValuesRequestInputRepresentation.cls @@ -0,0 +1,9 @@ +global class GetFOCapacityValuesRequestInputRepresentation { + global List locationIds; + global GetFOCapacityValuesRequestInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GetFunctionValueInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GetFunctionValueInput.cls new file mode 100644 index 0000000..18bf0d7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GetFunctionValueInput.cls @@ -0,0 +1,14 @@ +global class GetFunctionValueInput { + global List arguments; + global String contractAddress; + global String functionName; + global List solidityInputTypes; + global List solidityOutputTypes; + global String url; + global GetFunctionValueInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GetFunctionValueOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GetFunctionValueOutput.cls new file mode 100644 index 0000000..b89a74b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GetFunctionValueOutput.cls @@ -0,0 +1,10 @@ +global class GetFunctionValueOutput { + global List functionValue; + global GetFunctionValueOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GetSlotStatusInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GetSlotStatusInput.cls new file mode 100644 index 0000000..e07b388 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GetSlotStatusInput.cls @@ -0,0 +1,18 @@ +global class GetSlotStatusInput { + global String channelId; + global String endTime; + global String externalFacilityId; + global String externalPractitionerId; + global String externalSlotId; + global String resourceId; + global String sourceSystem; + global String startTime; + global String territoryId; + global String workTypeId; + global GetSlotStatusInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GiftCampaignDefaultDesignationRecordOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GiftCampaignDefaultDesignationRecordOutputRepresentation.cls new file mode 100644 index 0000000..a3906fe --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GiftCampaignDefaultDesignationRecordOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class GiftCampaignDefaultDesignationRecordOutputRepresentation { + global String designationId; + global Double percentage; + global GiftCampaignDefaultDesignationRecordOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GiftCampaignDefaultDesignationsOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GiftCampaignDefaultDesignationsOutputRepresentation.cls new file mode 100644 index 0000000..e5795e9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GiftCampaignDefaultDesignationsOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class GiftCampaignDefaultDesignationsOutputRepresentation { + global List campaignDefaultDesignations; + global GiftCampaignDefaultDesignationsOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GiftCommitmentDefaultDesignationRecordOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GiftCommitmentDefaultDesignationRecordOutputRepresentation.cls new file mode 100644 index 0000000..6da50ba --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GiftCommitmentDefaultDesignationRecordOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class GiftCommitmentDefaultDesignationRecordOutputRepresentation { + global String designationId; + global Double percentage; + global GiftCommitmentDefaultDesignationRecordOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GiftCommitmentDefaultDesignationsOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GiftCommitmentDefaultDesignationsOutputRepresentation.cls new file mode 100644 index 0000000..59f8add --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GiftCommitmentDefaultDesignationsOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class GiftCommitmentDefaultDesignationsOutputRepresentation { + global List commitmentDefaultDesignations; + global GiftCommitmentDefaultDesignationsOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GiftCommitmentOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GiftCommitmentOutputRepresentation.cls new file mode 100644 index 0000000..6249dbd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GiftCommitmentOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class GiftCommitmentOutputRepresentation { + global List giftCommitments; + global GiftCommitmentOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GiftCommitmenteDetails.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GiftCommitmenteDetails.cls new file mode 100644 index 0000000..d1d643b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GiftCommitmenteDetails.cls @@ -0,0 +1,17 @@ +global class GiftCommitmenteDetails { + global String campaignId; + global String commitmentId; + global String commitmentType; + global String name; + global Double nextGiftAmount; + global Datetime nextGiftDate; + global String status; + global String transactionId; + global GiftCommitmenteDetails() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GlobalInfluence.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GlobalInfluence.cls new file mode 100644 index 0000000..5b7eb59 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GlobalInfluence.cls @@ -0,0 +1,11 @@ +global class GlobalInfluence { + global String percentile; + global Integer rank; + global GlobalInfluence() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupArchiveStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupArchiveStatus.cls new file mode 100644 index 0000000..be55536 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupArchiveStatus.cls @@ -0,0 +1,5 @@ +global enum GroupArchiveStatus { +ALL, +ARCHIVED, +NOTARCHIVED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupChatterSettings.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupChatterSettings.cls new file mode 100644 index 0000000..0d227db --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupChatterSettings.cls @@ -0,0 +1,10 @@ +global class GroupChatterSettings { + global ConnectApi.GroupEmailFrequency emailFrequency; + global GroupChatterSettings() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupEmailFrequency.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupEmailFrequency.cls new file mode 100644 index 0000000..340abef --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupEmailFrequency.cls @@ -0,0 +1,7 @@ +global enum GroupEmailFrequency { +DAILYDIGEST, +EACHPOST, +NEVER, +USEDEFAULT, +WEEKLYDIGEST +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupInformation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupInformation.cls new file mode 100644 index 0000000..8ff57c3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupInformation.cls @@ -0,0 +1,11 @@ +global class GroupInformation { + global String text; + global String title; + global GroupInformation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupInformationInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupInformationInput.cls new file mode 100644 index 0000000..f560745 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupInformationInput.cls @@ -0,0 +1,10 @@ +global class GroupInformationInput { + global String text; + global String title; + global GroupInformationInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMember.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMember.cls new file mode 100644 index 0000000..27fd4a2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMember.cls @@ -0,0 +1,14 @@ +global class GroupMember { + global String id; + global Datetime lastFeedAccessDate; + global ConnectApi.GroupMembershipType role; + global String url; + global ConnectApi.UserSummary user; + global GroupMember() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMemberAssociationCycleDetector.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMemberAssociationCycleDetector.cls new file mode 100644 index 0000000..64d23c7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMemberAssociationCycleDetector.cls @@ -0,0 +1,3 @@ +global class GroupMemberAssociationCycleDetector { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMemberPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMemberPage.cls new file mode 100644 index 0000000..5029fb6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMemberPage.cls @@ -0,0 +1,15 @@ +global class GroupMemberPage { + global String currentPageUrl; + global List members; + global ConnectApi.Reference myMembership; + global String nextPageUrl; + global String previousPageUrl; + global Integer totalMemberCount; + global GroupMemberPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMembershipRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMembershipRequest.cls new file mode 100644 index 0000000..a8d0d44 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMembershipRequest.cls @@ -0,0 +1,17 @@ +global class GroupMembershipRequest { + global Datetime createdDate; + global String id; + global Datetime lastUpdateDate; + global ConnectApi.Reference requestedGroup; + global String responseMessage; + global ConnectApi.GroupMembershipRequestStatus status; + global String url; + global ConnectApi.UserSummary user; + global GroupMembershipRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMembershipRequestStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMembershipRequestStatus.cls new file mode 100644 index 0000000..1706b0d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMembershipRequestStatus.cls @@ -0,0 +1,5 @@ +global enum GroupMembershipRequestStatus { +ACCEPTED, +DECLINED, +PENDING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMembershipRequests.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMembershipRequests.cls new file mode 100644 index 0000000..8ee6a59 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMembershipRequests.cls @@ -0,0 +1,11 @@ +global class GroupMembershipRequests { + global List requests; + global Integer total; + global GroupMembershipRequests() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMembershipType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMembershipType.cls new file mode 100644 index 0000000..da9d254 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupMembershipType.cls @@ -0,0 +1,7 @@ +global enum GroupMembershipType { +GROUPMANAGER, +GROUPOWNER, +NOTAMEMBER, +NOTAMEMBERPRIVATEREQUESTED, +STANDARDMEMBER +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupRecord.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupRecord.cls new file mode 100644 index 0000000..8e2256c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupRecord.cls @@ -0,0 +1,12 @@ +global class GroupRecord { + global String id; + global ConnectApi.ActorWithId record; + global String url; + global GroupRecord() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupRecordInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupRecordInput.cls new file mode 100644 index 0000000..9f9c09c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupRecordInput.cls @@ -0,0 +1,9 @@ +global class GroupRecordInput { + global String recordId; + global GroupRecordInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupRecordPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupRecordPage.cls new file mode 100644 index 0000000..802f611 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupRecordPage.cls @@ -0,0 +1,14 @@ +global class GroupRecordPage { + global String currentPageUrl; + global String nextPageUrl; + global String previousPageUrl; + global List records; + global Integer totalRecordCount; + global GroupRecordPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupViralInvitationsStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupViralInvitationsStatus.cls new file mode 100644 index 0000000..402c04d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupViralInvitationsStatus.cls @@ -0,0 +1,9 @@ +global enum GroupViralInvitationsStatus { +ACTEDUPONUSER, +INVITED, +MAXEDOUTUSERS, +MULTIPLEERROR, +NOACTIONNEEDEDUSER, +NOTVISIBLETOEXTERNALINVITER, +UNHANDLED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupVisibilityType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupVisibilityType.cls new file mode 100644 index 0000000..2c98bb2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/GroupVisibilityType.cls @@ -0,0 +1,5 @@ +global enum GroupVisibilityType { +PRIVATEACCESS, +PUBLICACCESS, +UNLISTEDACCESS +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HCAddressInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HCAddressInput.cls new file mode 100644 index 0000000..f6dc130 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HCAddressInput.cls @@ -0,0 +1,15 @@ +global class HCAddressInput { + global String city; + global String country; + global Double latitude; + global Double longitude; + global String postalCode; + global String state; + global String street; + global HCAddressInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HashtagSegment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HashtagSegment.cls new file mode 100644 index 0000000..9205698 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HashtagSegment.cls @@ -0,0 +1,12 @@ +global class HashtagSegment { + global String tag; + global String topicUrl; + global String url; + global HashtagSegment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HashtagSegmentInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HashtagSegmentInput.cls new file mode 100644 index 0000000..738b282 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HashtagSegmentInput.cls @@ -0,0 +1,9 @@ +global class HashtagSegmentInput { + global String tag; + global HashtagSegmentInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HideSocialPostIntent.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HideSocialPostIntent.cls new file mode 100644 index 0000000..4e8349b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HideSocialPostIntent.cls @@ -0,0 +1,11 @@ +global class HideSocialPostIntent { + global Boolean isHidden; + global ConnectApi.ManagedSocialAccount managedSocialAccount; + global HideSocialPostIntent() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HoldFOCapacityInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HoldFOCapacityInputRepresentation.cls new file mode 100644 index 0000000..abdf095 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HoldFOCapacityInputRepresentation.cls @@ -0,0 +1,9 @@ +global class HoldFOCapacityInputRepresentation { + global List holdFOCapacityRequests; + global HoldFOCapacityInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HoldFOCapacityOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HoldFOCapacityOutputRepresentation.cls new file mode 100644 index 0000000..c2862c3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HoldFOCapacityOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class HoldFOCapacityOutputRepresentation { + global List holdFOCapacityResponses; + global HoldFOCapacityOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HoldFOCapacityRequestInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HoldFOCapacityRequestInputRepresentation.cls new file mode 100644 index 0000000..2510468 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HoldFOCapacityRequestInputRepresentation.cls @@ -0,0 +1,10 @@ +global class HoldFOCapacityRequestInputRepresentation { + global Boolean allOrNothing; + global List capacityRequests; + global HoldFOCapacityRequestInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HoldFOCapacityResponseOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HoldFOCapacityResponseOutputRepresentation.cls new file mode 100644 index 0000000..4144501 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HoldFOCapacityResponseOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class HoldFOCapacityResponseOutputRepresentation { + global List capacityResponses; + global HoldFOCapacityResponseOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HsrCommerceCatalog.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HsrCommerceCatalog.cls new file mode 100644 index 0000000..4284be4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HsrCommerceCatalog.cls @@ -0,0 +1,3 @@ +global class HsrCommerceCatalog { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HttpRequestMethod.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HttpRequestMethod.cls new file mode 100644 index 0000000..437b4aa --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/HttpRequestMethod.cls @@ -0,0 +1,8 @@ +global enum HttpRequestMethod { +HTTPDELETE, +HTTPGET, +HTTPHEAD, +HTTPPATCH, +HTTPPOST, +HTTPPUT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IComplaintMgmtConnectFamily.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IComplaintMgmtConnectFamily.cls new file mode 100644 index 0000000..e3109c1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IComplaintMgmtConnectFamily.cls @@ -0,0 +1,3 @@ +global class IComplaintMgmtConnectFamily { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IServiceProcessConnectFamily.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IServiceProcessConnectFamily.cls new file mode 100644 index 0000000..dafb28c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IServiceProcessConnectFamily.cls @@ -0,0 +1,3 @@ +global class IServiceProcessConnectFamily { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Icon.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Icon.cls new file mode 100644 index 0000000..50decb1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Icon.cls @@ -0,0 +1,12 @@ +global class Icon { + global Integer height; + global String url; + global Integer width; + global Icon() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IdentityVerfFormDisplayRecord.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IdentityVerfFormDisplayRecord.cls new file mode 100644 index 0000000..259d3d6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IdentityVerfFormDisplayRecord.cls @@ -0,0 +1,11 @@ +global class IdentityVerfFormDisplayRecord { + global String displayRecordId; + global String displayRecordName; + global IdentityVerfFormDisplayRecord() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IdentityVerfFormFieldInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IdentityVerfFormFieldInput.cls new file mode 100644 index 0000000..2ddb182 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IdentityVerfFormFieldInput.cls @@ -0,0 +1,11 @@ +global class IdentityVerfFormFieldInput { + global String developerName; + global Boolean isVerified; + global String value; + global IdentityVerfFormFieldInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IdentityVerfFormFieldListOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IdentityVerfFormFieldListOutput.cls new file mode 100644 index 0000000..fbbaddf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IdentityVerfFormFieldListOutput.cls @@ -0,0 +1,10 @@ +global class IdentityVerfFormFieldListOutput { + global List formVerificationFields; + global IdentityVerfFormFieldListOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IdentityVerfFormFieldOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IdentityVerfFormFieldOutput.cls new file mode 100644 index 0000000..6c5df61 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IdentityVerfFormFieldOutput.cls @@ -0,0 +1,12 @@ +global class IdentityVerfFormFieldOutput { + global String developerName; + global Boolean isVerified; + global String value; + global IdentityVerfFormFieldOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IdentityVerfFormInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IdentityVerfFormInput.cls new file mode 100644 index 0000000..2e37ba4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IdentityVerfFormInput.cls @@ -0,0 +1,11 @@ +global class IdentityVerfFormInput { + global String developerName; + global List formVerificationFieldList; + global String selectedRecordId; + global IdentityVerfFormInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IdentityVerfFormOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IdentityVerfFormOutput.cls new file mode 100644 index 0000000..0967fdb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IdentityVerfFormOutput.cls @@ -0,0 +1,16 @@ +global class IdentityVerfFormOutput { + global String developerName; + global ConnectApi.IdentityVerfFormDisplayRecord displayRecordDetails; + global ConnectApi.IdentityVerfFormFieldListOutput formVerificationFieldList; + global Boolean isVerified; + global Integer retryCount; + global String selectedRecordId; + global ConnectApi.ErrorResponseRepresentation status; + global IdentityVerfFormOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Identityverification.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Identityverification.cls new file mode 100644 index 0000000..8dc46d1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Identityverification.cls @@ -0,0 +1,3 @@ +global class Identityverification { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IndividualMemberInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IndividualMemberInput.cls new file mode 100644 index 0000000..285a04c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IndividualMemberInput.cls @@ -0,0 +1,23 @@ +global class IndividualMemberInput { + global Map additionalMemberFieldValues; + global ConnectApi.MemberContactInput associatedContactDetails; + global Boolean canReceivePartnerPromotions; + global Boolean canReceivePromotions; + global Boolean createTransactionJournals; + global ConnectApi.EnrollmentChannelResource enrollmentChannel; + global Datetime enrollmentDate; + global String memberStatus; + global Datetime membershipEndDate; + global String membershipNumber; + global String referredBy; + global String referredByMemberReferralCode; + global String relatedCorporateMembershipNumber; + global ConnectApi.StatementFrequencyResource transactionJournalStatementFrequency; + global ConnectApi.StatementMethodResource transactionJournalStatementMethod; + global IndividualMemberInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IndividualMemberOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IndividualMemberOutput.cls new file mode 100644 index 0000000..01b5c2d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IndividualMemberOutput.cls @@ -0,0 +1,14 @@ +global class IndividualMemberOutput { + global String contactId; + global String loyaltyProgramMemberId; + global String loyaltyProgramName; + global String membershipNumber; + global List transactionJournals; + global IndividualMemberOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IndustriesFundraisingOperationsFamily.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IndustriesFundraisingOperationsFamily.cls new file mode 100644 index 0000000..587657e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IndustriesFundraisingOperationsFamily.cls @@ -0,0 +1,3 @@ +global class IndustriesFundraisingOperationsFamily { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IndustriesPricingResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IndustriesPricingResponse.cls new file mode 100644 index 0000000..49a56ff --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IndustriesPricingResponse.cls @@ -0,0 +1,12 @@ +global class IndustriesPricingResponse { + global ConnectApi.PricingErrorResponse error; + global String executionId; + global Boolean success; + global IndustriesPricingResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IngestionEventInputWrapper.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IngestionEventInputWrapper.cls new file mode 100644 index 0000000..868a688 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IngestionEventInputWrapper.cls @@ -0,0 +1,9 @@ +global class IngestionEventInputWrapper { + global String requestBody; + global IngestionEventInputWrapper() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IngestionEventOutputWrapper.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IngestionEventOutputWrapper.cls new file mode 100644 index 0000000..de93565 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/IngestionEventOutputWrapper.cls @@ -0,0 +1,12 @@ +global class IngestionEventOutputWrapper { + global String errorMsg; + global String eventId; + global Integer statusCode; + global IngestionEventOutputWrapper() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InlineImageSegment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InlineImageSegment.cls new file mode 100644 index 0000000..15425ee --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InlineImageSegment.cls @@ -0,0 +1,14 @@ +global class InlineImageSegment { + global String altText; + global Integer contentSize; + global String fileExtension; + global ConnectApi.FilePreviewCollection thumbnails; + global String url; + global InlineImageSegment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InlineImageSegmentInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InlineImageSegmentInput.cls new file mode 100644 index 0000000..4e9320e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InlineImageSegmentInput.cls @@ -0,0 +1,10 @@ +global class InlineImageSegmentInput { + global String altText; + global String fileId; + global InlineImageSegmentInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InnerEnsureFundsAsyncInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InnerEnsureFundsAsyncInputRepresentation.cls new file mode 100644 index 0000000..e10ddd6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InnerEnsureFundsAsyncInputRepresentation.cls @@ -0,0 +1,10 @@ +global class InnerEnsureFundsAsyncInputRepresentation { + global String invoiceId; + global String orderSummaryId; + global InnerEnsureFundsAsyncInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Insight.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Insight.cls new file mode 100644 index 0000000..e740874 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Insight.cls @@ -0,0 +1,11 @@ +global class Insight { + global List columns; + global Double value; + global Insight() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InsightsComparisonEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InsightsComparisonEnum.cls new file mode 100644 index 0000000..f9be704 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InsightsComparisonEnum.cls @@ -0,0 +1,5 @@ +global enum InsightsComparisonEnum { +AVERAGE, +OTHER, +UNIFORMDISTRIBUTION +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InsightsResultCategory.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InsightsResultCategory.cls new file mode 100644 index 0000000..07241ee --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InsightsResultCategory.cls @@ -0,0 +1,4 @@ +global enum InsightsResultCategory { +NEGATIVE, +POSITIVE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InsightsResultTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InsightsResultTypeEnum.cls new file mode 100644 index 0000000..39550c3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InsightsResultTypeEnum.cls @@ -0,0 +1,4 @@ +global enum InsightsResultTypeEnum { +FIRSTORDER, +SECONDORDER +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InsightsTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InsightsTypeEnum.cls new file mode 100644 index 0000000..f53e794 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InsightsTypeEnum.cls @@ -0,0 +1,4 @@ +global enum InsightsTypeEnum { +DESCRIPTIVE, +DIAGNOSTIC +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InteractionCalculationProcedures.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InteractionCalculationProcedures.cls new file mode 100644 index 0000000..85efe24 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InteractionCalculationProcedures.cls @@ -0,0 +1,3 @@ +global class InteractionCalculationProcedures { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InteractionsCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InteractionsCapability.cls new file mode 100644 index 0000000..6d49622 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InteractionsCapability.cls @@ -0,0 +1,10 @@ +global class InteractionsCapability { + global Long count; + global InteractionsCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InternalTestUtilities.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InternalTestUtilities.cls new file mode 100644 index 0000000..10eac9f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InternalTestUtilities.cls @@ -0,0 +1,3 @@ +global class InternalTestUtilities { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvalidIds.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvalidIds.cls new file mode 100644 index 0000000..df556e5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvalidIds.cls @@ -0,0 +1,10 @@ +global class InvalidIds { + global List ids; + global InvalidIds() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InventoryCheckAvailabilityOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InventoryCheckAvailabilityOutputRepresentation.cls new file mode 100644 index 0000000..de59711 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InventoryCheckAvailabilityOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class InventoryCheckAvailabilityOutputRepresentation { + global List locationGroups; + global List locations; + global InventoryCheckAvailabilityOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InventoryLevelsOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InventoryLevelsOutputRepresentation.cls new file mode 100644 index 0000000..fbcb829 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InventoryLevelsOutputRepresentation.cls @@ -0,0 +1,12 @@ +global class InventoryLevelsOutputRepresentation { + global List locationGroups; + global List locations; + global List totalInventory; + global InventoryLevelsOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InventoryOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InventoryOutputRepresentation.cls new file mode 100644 index 0000000..d1b56cb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InventoryOutputRepresentation.cls @@ -0,0 +1,12 @@ +global class InventoryOutputRepresentation { + global Double availableToFulfill; + global Double availableToOrder; + global Double onHand; + global InventoryOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InventoryProductCheckAvailabilityOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InventoryProductCheckAvailabilityOutputRepresentation.cls new file mode 100644 index 0000000..e6a477c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InventoryProductCheckAvailabilityOutputRepresentation.cls @@ -0,0 +1,12 @@ +global class InventoryProductCheckAvailabilityOutputRepresentation { + global Boolean available; + global ConnectApi.InventoryOutputRepresentation inventory; + global String product2Id; + global InventoryProductCheckAvailabilityOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InventoryProductOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InventoryProductOutputRepresentation.cls new file mode 100644 index 0000000..62d2706 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InventoryProductOutputRepresentation.cls @@ -0,0 +1,13 @@ +global class InventoryProductOutputRepresentation { + global Double availableToFulfill; + global Double availableToOrder; + global Double onHand; + global String product2Id; + global InventoryProductOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Inventorycheckavailabilityinputrepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Inventorycheckavailabilityinputrepresentation.cls new file mode 100644 index 0000000..d6d63ff --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Inventorycheckavailabilityinputrepresentation.cls @@ -0,0 +1,3 @@ +global class Inventorycheckavailabilityinputrepresentation { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Invitation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Invitation.cls new file mode 100644 index 0000000..635d59c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Invitation.cls @@ -0,0 +1,12 @@ +global class Invitation { + global String email; + global ConnectApi.GroupViralInvitationsStatus status; + global String userId; + global Invitation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Invitations.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Invitations.cls new file mode 100644 index 0000000..a1bcc47 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Invitations.cls @@ -0,0 +1,10 @@ +global class Invitations { + global List invitations; + global Invitations() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InviteInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InviteInput.cls new file mode 100644 index 0000000..8d9d4b9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InviteInput.cls @@ -0,0 +1,10 @@ +global class InviteInput { + global List invitees; + global String message; + global InviteInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvocableInternalTestInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvocableInternalTestInputRepresentation.cls new file mode 100644 index 0000000..c98f82a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvocableInternalTestInputRepresentation.cls @@ -0,0 +1,10 @@ +global class InvocableInternalTestInputRepresentation { + global String endpoint; + global Integer expectedStatus; + global InvocableInternalTestInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvocableInternalTestNestedInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvocableInternalTestNestedInputRepresentation.cls new file mode 100644 index 0000000..4bdbd31 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvocableInternalTestNestedInputRepresentation.cls @@ -0,0 +1,9 @@ +global class InvocableInternalTestNestedInputRepresentation { + global List invocableInternalTestInputRepresentationList; + global InvocableInternalTestNestedInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvocableInternalTestNestedOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvocableInternalTestNestedOutputRepresentation.cls new file mode 100644 index 0000000..6a20590 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvocableInternalTestNestedOutputRepresentation.cls @@ -0,0 +1,12 @@ +global class InvocableInternalTestNestedOutputRepresentation { + global String id; + global List invocableInternalTestOutputRepresentationList; + global String name; + global InvocableInternalTestNestedOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvocableInternalTestNestedWrapper.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvocableInternalTestNestedWrapper.cls new file mode 100644 index 0000000..adc50a3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvocableInternalTestNestedWrapper.cls @@ -0,0 +1,3 @@ +global class InvocableInternalTestNestedWrapper { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvocableInternalTestOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvocableInternalTestOutputRepresentation.cls new file mode 100644 index 0000000..977c0ba --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvocableInternalTestOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class InvocableInternalTestOutputRepresentation { + global Map responseResults; + global InvocableInternalTestOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvocableInternalTestWrapper.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvocableInternalTestWrapper.cls new file mode 100644 index 0000000..824156a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvocableInternalTestWrapper.cls @@ -0,0 +1,3 @@ +global class InvocableInternalTestWrapper { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceAction.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceAction.cls new file mode 100644 index 0000000..bfe7fe5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceAction.cls @@ -0,0 +1,4 @@ +global enum InvoiceAction { +PENDING, +POSTED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceBillingTermUnitEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceBillingTermUnitEnum.cls new file mode 100644 index 0000000..7ff5e62 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceBillingTermUnitEnum.cls @@ -0,0 +1,5 @@ +global enum InvoiceBillingTermUnitEnum { +MONTH, +ONETIME, +YEAR +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceListOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceListOutputRepresentation.cls new file mode 100644 index 0000000..305141e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceListOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class InvoiceListOutputRepresentation { + global List invoiceResults; + global InvoiceListOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceOutputRepresentation.cls new file mode 100644 index 0000000..8b82949 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceOutputRepresentation.cls @@ -0,0 +1,14 @@ +global class InvoiceOutputRepresentation { + global List billingSchedules; + global List invoiceErrors; + global String invoiceId; + global ConnectApi.InvoiceStatusEnum invoiceStatus; + global Boolean isSuccess; + global InvoiceOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceStatus.cls new file mode 100644 index 0000000..09a9c94 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceStatus.cls @@ -0,0 +1,6 @@ +global enum InvoiceStatus { +CANCELED, +DRAFT, +PENDING, +POSTED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceStatusEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceStatusEnum.cls new file mode 100644 index 0000000..492c698 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceStatusEnum.cls @@ -0,0 +1,4 @@ +global enum InvoiceStatusEnum { +ERROR, +POSTED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceToPayInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceToPayInputRepresentation.cls new file mode 100644 index 0000000..9c6ca42 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/InvoiceToPayInputRepresentation.cls @@ -0,0 +1,9 @@ +global class InvoiceToPayInputRepresentation { + global String invoiceId; + global InvoiceToPayInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ItemQuantityInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ItemQuantityInputRepresentation.cls new file mode 100644 index 0000000..2e94dc4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ItemQuantityInputRepresentation.cls @@ -0,0 +1,10 @@ +global class ItemQuantityInputRepresentation { + global String externalItemId; + global Double quantity; + global ItemQuantityInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ItemQuantityOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ItemQuantityOutputRepresentation.cls new file mode 100644 index 0000000..7fabacc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ItemQuantityOutputRepresentation.cls @@ -0,0 +1,12 @@ +global class ItemQuantityOutputRepresentation { + global String externalItemId; + global Double quantity; + global Double quantityDistributed; + global ItemQuantityOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/JoinVideoCallResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/JoinVideoCallResult.cls new file mode 100644 index 0000000..9e940a8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/JoinVideoCallResult.cls @@ -0,0 +1,13 @@ +global class JoinVideoCallResult { + global ConnectApi.ChimeAttendeeResult attendee; + global String errorMessage; + global Boolean isSuccess; + global ConnectApi.ChimeMeetingResult meeting; + global JoinVideoCallResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/JournalStatusResource.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/JournalStatusResource.cls new file mode 100644 index 0000000..2380522 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/JournalStatusResource.cls @@ -0,0 +1,6 @@ +global enum JournalStatusResource { +CANCELLED, +ERROR, +PENDING, +PROCESSED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/JwsVerifierInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/JwsVerifierInput.cls new file mode 100644 index 0000000..f122978 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/JwsVerifierInput.cls @@ -0,0 +1,11 @@ +global class JwsVerifierInput { + global String asOfDate; + global List rawQRData; + global String type; + global JwsVerifierInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/JwsVerifierOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/JwsVerifierOutput.cls new file mode 100644 index 0000000..93c9461 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/JwsVerifierOutput.cls @@ -0,0 +1,13 @@ +global class JwsVerifierOutput { + global ConnectApi.DigitalCertificateRepresentation digitalCertificate; + global String jwsPayload; + global String processTime; + global String signature; + global JwsVerifierOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Knowledge.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Knowledge.cls new file mode 100644 index 0000000..3e9fc17 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Knowledge.cls @@ -0,0 +1,3 @@ +global class Knowledge { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/KnowledgeArticleVersion.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/KnowledgeArticleVersion.cls new file mode 100644 index 0000000..2c501e2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/KnowledgeArticleVersion.cls @@ -0,0 +1,16 @@ +global class KnowledgeArticleVersion { + global String articleType; + global String id; + global String knowledgeArticleId; + global Datetime lastPublishedDate; + global String summary; + global String title; + global String urlName; + global KnowledgeArticleVersion() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/KnowledgeArticleVersionCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/KnowledgeArticleVersionCollection.cls new file mode 100644 index 0000000..680eacf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/KnowledgeArticleVersionCollection.cls @@ -0,0 +1,10 @@ +global class KnowledgeArticleVersionCollection { + global List items; + global KnowledgeArticleVersionCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/KnowledgeMigration.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/KnowledgeMigration.cls new file mode 100644 index 0000000..8eff03e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/KnowledgeMigration.cls @@ -0,0 +1,11 @@ +global class KnowledgeMigration { + global String migrationJobId; + global String migrationStatus; + global KnowledgeMigration() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LabeledRecordField.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LabeledRecordField.cls new file mode 100644 index 0000000..6a287fc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LabeledRecordField.cls @@ -0,0 +1,10 @@ +global class LabeledRecordField { + global String label; + global String text; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Language.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Language.cls new file mode 100644 index 0000000..9bd9c62 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Language.cls @@ -0,0 +1,11 @@ +global class Language { + global String code; + global String label; + global Language() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LeadInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LeadInput.cls new file mode 100644 index 0000000..a5a469b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LeadInput.cls @@ -0,0 +1,14 @@ +global class LeadInput { + global String company; + global String email; + global List extendedFields; + global String firstName; + global String lastName; + global String phone; + global LeadInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LeaveVideoCallResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LeaveVideoCallResult.cls new file mode 100644 index 0000000..8ecceeb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LeaveVideoCallResult.cls @@ -0,0 +1,11 @@ +global class LeaveVideoCallResult { + global String errorMessage; + global Boolean isSuccess; + global LeaveVideoCallResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LightningExtensionInformation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LightningExtensionInformation.cls new file mode 100644 index 0000000..9e12659 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LightningExtensionInformation.cls @@ -0,0 +1,13 @@ +global class LightningExtensionInformation { + global String compositionComponent; + global String headerTextLabel; + global String hoverTextLabel; + global String renderComponent; + global LightningExtensionInformation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LightningScheduler.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LightningScheduler.cls new file mode 100644 index 0000000..f068b63 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LightningScheduler.cls @@ -0,0 +1,8 @@ +global class LightningScheduler { + global Object clone() { } + global static ConnectApi.ServiceAppointmentOutput createServiceAppointment(ConnectApi.CreateServiceAppointmentInput createServiceAppointmentInput) { } + global static ConnectApi.ServiceAppointmentOutput updateServiceAppointment(ConnectApi.UpdateServiceAppointmentInput updateServiceAppointmentInput) { } + global static ConnectApi.WaitlistCheckInOutput waitlistCheckIn(ConnectApi.WaitlistCheckInInput waitlistCheckInInput) { } + global static ConnectApi.WaitlistOutput waitlists(List waitlistIds, String serviceTerritoryId, Boolean isActive, Integer maxLimit, Integer offset) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LikeIntent.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LikeIntent.cls new file mode 100644 index 0000000..6c2339f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LikeIntent.cls @@ -0,0 +1,11 @@ +global class LikeIntent { + global Boolean isLiked; + global ConnectApi.ManagedSocialAccount managedSocialAccount; + global LikeIntent() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LikeIntents.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LikeIntents.cls new file mode 100644 index 0000000..810fce1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LikeIntents.cls @@ -0,0 +1,10 @@ +global class LikeIntents { + global List likes; + global LikeIntents() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LikeSocialPostIntent.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LikeSocialPostIntent.cls new file mode 100644 index 0000000..b05b7e2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LikeSocialPostIntent.cls @@ -0,0 +1,11 @@ +global class LikeSocialPostIntent { + global String socialAccountId; + global String socialPostId; + global LikeSocialPostIntent() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LikeSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LikeSummary.cls new file mode 100644 index 0000000..3ba0a24 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LikeSummary.cls @@ -0,0 +1,10 @@ +global class LikeSummary { + global String likeId; + global LikeSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LineItemResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LineItemResponse.cls new file mode 100644 index 0000000..f9376d8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LineItemResponse.cls @@ -0,0 +1,17 @@ +global class LineItemResponse { + global ConnectApi.TaxAddressesResponse addresses; + global ConnectApi.TaxAmountDetailsResponse amountDetails; + global Datetime effectiveDate; + global String lineNumber; + global String productCode; + global Double quantity; + global String taxCode; + global List taxes; + global LineItemResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkAttachment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkAttachment.cls new file mode 100644 index 0000000..d64a825 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkAttachment.cls @@ -0,0 +1,11 @@ +global class LinkAttachment { + global String title; + global String url; + global LinkAttachment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkAttachmentInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkAttachmentInput.cls new file mode 100644 index 0000000..a5c2774 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkAttachmentInput.cls @@ -0,0 +1,10 @@ +global class LinkAttachmentInput { + global String url; + global String urlName; + global LinkAttachmentInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkCapability.cls new file mode 100644 index 0000000..c3bf2fb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkCapability.cls @@ -0,0 +1,11 @@ +global class LinkCapability { + global String url; + global String urlName; + global LinkCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkCapabilityInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkCapabilityInput.cls new file mode 100644 index 0000000..efaf567 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkCapabilityInput.cls @@ -0,0 +1,10 @@ +global class LinkCapabilityInput { + global String url; + global String urlName; + global LinkCapabilityInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkMetadata.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkMetadata.cls new file mode 100644 index 0000000..2765a21 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkMetadata.cls @@ -0,0 +1,20 @@ +global class LinkMetadata { + global String description; + global String frameSource; + global Integer height; + global String originalUrl; + global String providerUrl; + global ConnectApi.LinkMetadataSource source; + global String thumbnailUrl; + global String title; + global ConnectApi.LinkMetadataType type; + global String url; + global Integer width; + global LinkMetadata() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkMetadataCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkMetadataCollection.cls new file mode 100644 index 0000000..792c625 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkMetadataCollection.cls @@ -0,0 +1,10 @@ +global class LinkMetadataCollection { + global List linkMetadataList; + global LinkMetadataCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkMetadataInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkMetadataInput.cls new file mode 100644 index 0000000..3e88e10 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkMetadataInput.cls @@ -0,0 +1,9 @@ +global class LinkMetadataInput { + global List urls; + global LinkMetadataInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkMetadataSource.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkMetadataSource.cls new file mode 100644 index 0000000..8eba318 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkMetadataSource.cls @@ -0,0 +1,4 @@ +global enum LinkMetadataSource { +NONE, +SFDC +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkMetadataType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkMetadataType.cls new file mode 100644 index 0000000..b7dc9ef --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkMetadataType.cls @@ -0,0 +1,9 @@ +global enum LinkMetadataType { +ERROR, +LINK, +NONE, +PHOTO, +RICH, +UNKNOWN, +VIDEO +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkSegment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkSegment.cls new file mode 100644 index 0000000..1935269 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkSegment.cls @@ -0,0 +1,10 @@ +global class LinkSegment { + global String url; + global LinkSegment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkSegmentInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkSegmentInput.cls new file mode 100644 index 0000000..d5191cf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LinkSegmentInput.cls @@ -0,0 +1,9 @@ +global class LinkSegmentInput { + global String url; + global LinkSegmentInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LiteralJson.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LiteralJson.cls new file mode 100644 index 0000000..530292f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LiteralJson.cls @@ -0,0 +1,10 @@ +global class LiteralJson { + global String json; + global LiteralJson() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationAvailabilityInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationAvailabilityInputRepresentation.cls new file mode 100644 index 0000000..9a331af --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationAvailabilityInputRepresentation.cls @@ -0,0 +1,11 @@ +global class LocationAvailabilityInputRepresentation { + global String externalReferenceId; + global Double quantity; + global String stockKeepingUnit; + global LocationAvailabilityInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationCapacityOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationCapacityOutputRepresentation.cls new file mode 100644 index 0000000..95d4c2f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationCapacityOutputRepresentation.cls @@ -0,0 +1,14 @@ +global class LocationCapacityOutputRepresentation { + global Integer assigned; + global Integer capacity; + global ConnectApi.ErrorResponse error; + global Integer heldCapacity; + global String locationId; + global LocationCapacityOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationCheckAvailabilityOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationCheckAvailabilityOutputRepresentation.cls new file mode 100644 index 0000000..b9758aa --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationCheckAvailabilityOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class LocationCheckAvailabilityOutputRepresentation { + global List inventoryProducts; + global String locationId; + global LocationCheckAvailabilityOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationGroupCheckAvailabilityOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationGroupCheckAvailabilityOutputRepresentation.cls new file mode 100644 index 0000000..15a4da3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationGroupCheckAvailabilityOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class LocationGroupCheckAvailabilityOutputRepresentation { + global List inventoryProducts; + global String locationGroupId; + global LocationGroupCheckAvailabilityOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationGroupLevelsOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationGroupLevelsOutputRepresentation.cls new file mode 100644 index 0000000..def37d6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationGroupLevelsOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class LocationGroupLevelsOutputRepresentation { + global List inventoryProducts; + global String locationGroupId; + global LocationGroupLevelsOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationInputRepresentation.cls new file mode 100644 index 0000000..49887e1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationInputRepresentation.cls @@ -0,0 +1,11 @@ +global class LocationInputRepresentation { + global String countryCode; + global String locationIdentifier; + global String postalCode; + global LocationInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationLevelsOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationLevelsOutputRepresentation.cls new file mode 100644 index 0000000..32677be --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationLevelsOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class LocationLevelsOutputRepresentation { + global List inventoryProducts; + global String locationId; + global LocationLevelsOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationOutputRepresentation.cls new file mode 100644 index 0000000..ee6c008 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LocationOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class LocationOutputRepresentation { + global Double distance; + global String locationIdentifier; + global LocationOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Locationcheckavailabilityinputrepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Locationcheckavailabilityinputrepresentation.cls new file mode 100644 index 0000000..55c4213 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Locationcheckavailabilityinputrepresentation.cls @@ -0,0 +1,3 @@ +global class Locationcheckavailabilityinputrepresentation { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Locationgroupcheckavailabilityinputrepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Locationgroupcheckavailabilityinputrepresentation.cls new file mode 100644 index 0000000..bc993f9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Locationgroupcheckavailabilityinputrepresentation.cls @@ -0,0 +1,3 @@ +global class Locationgroupcheckavailabilityinputrepresentation { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LoyaltyConnect.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LoyaltyConnect.cls new file mode 100644 index 0000000..653082e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LoyaltyConnect.cls @@ -0,0 +1,3 @@ +global class LoyaltyConnect { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LoyaltyManagementConnect.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LoyaltyManagementConnect.cls new file mode 100644 index 0000000..bfee405 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LoyaltyManagementConnect.cls @@ -0,0 +1,3 @@ +global class LoyaltyManagementConnect { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LoyaltyVoucherConnect.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LoyaltyVoucherConnect.cls new file mode 100644 index 0000000..f152e56 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/LoyaltyVoucherConnect.cls @@ -0,0 +1,3 @@ +global class LoyaltyVoucherConnect { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MLDomainTraining.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MLDomainTraining.cls new file mode 100644 index 0000000..a37fbd1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MLDomainTraining.cls @@ -0,0 +1,3 @@ +global class MLDomainTraining { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MaintenanceInfo.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MaintenanceInfo.cls new file mode 100644 index 0000000..3a2ec39 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MaintenanceInfo.cls @@ -0,0 +1,18 @@ +global class MaintenanceInfo { + global String description; + global String maintenanceTitle; + global ConnectApi.MaintenanceType maintenanceType; + global Datetime messageEffectiveTime; + global Datetime messageExpirationTime; + global Datetime scheduledEndDowntime; + global Datetime scheduledEndMaintenanceTime; + global Datetime scheduledStartDowntime; + global Datetime scheduledStartMaintenanceTime; + global MaintenanceInfo() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MaintenanceType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MaintenanceType.cls new file mode 100644 index 0000000..b991a39 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MaintenanceType.cls @@ -0,0 +1,6 @@ +global enum MaintenanceType { +DOWNTIME, +GENERALLYAVAILABLE, +MAINTENANCEWITHDOWNTIME, +READONLY +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContent.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContent.cls new file mode 100644 index 0000000..79fa142 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContent.cls @@ -0,0 +1,25 @@ +global class ManagedContent { + global Object clone() { } + global static ConnectApi.ManagedContentVersionOutput createManagedContentVersion(String contentSpaceId, ConnectApi.ManagedContentVersionInput contentVersion, ConnectApi.BinaryInput contentData) { } + global static ConnectApi.ManagedContentVersionOutput createManagedContentVersion(String contentSpaceId, ConnectApi.ManagedContentVersionInput contentVersion) { } + global static void deleteManagedContent(String contentSpaceId, String managedContentId) { } + global static ConnectApi.ManagedContentVersionCollection getAllContent(String channelId, Integer pageParam, Integer pageSize, String language, String managedContentType, Boolean includeMetadata, String startDate, String endDate, Boolean showAbsoluteUrl) { } + global static ConnectApi.ManagedContentVersionCollection getAllContent(String channelId, Integer pageParam, Integer pageSize, String language, String managedContentType, Boolean includeMetadata, String startDate, String endDate) { } + global static ConnectApi.ManagedContentChannelCollection getAllDeliveryChannels(Integer pageParam, Integer pageSize) { } + global static ConnectApi.ManagedContentVersionCollection getAllManagedContent(String communityId, Integer pageParam, Integer pageSize, String language, String managedContentType, Boolean showAbsoluteUrl) { } + global static ConnectApi.ManagedContentVersionCollection getAllManagedContent(String communityId, Integer pageParam, Integer pageSize, String language, String managedContentType) { } + global static ConnectApi.ManagedContentVersionCollection getContentByContentKeys(String channelId, List contentKeys, Integer pageParam, Integer pageSize, String language, String managedContentType, Boolean includeMetadata, String startDate, String endDate, Boolean showAbsoluteUrl) { } + global static ConnectApi.ManagedContentVersionCollection getContentByIds(String channelId, List managedContentIds, Integer pageParam, Integer pageSize, String language, String managedContentType, Boolean includeMetadata, String startDate, String endDate, Boolean showAbsoluteUrl) { } + global static ConnectApi.ManagedContentVersionCollection getContentByIds(String channelId, List managedContentIds, Integer pageParam, Integer pageSize, String language, String managedContentType, Boolean includeMetadata, String startDate, String endDate) { } + global static ConnectApi.ManagedContentVersionCollection getManagedContentByContentKeys(String communityId, List contentKeys, Integer pageParam, Integer pageSize, String language, String managedContentType, Boolean showAbsoluteUrl) { } + global static ConnectApi.ManagedContentVersionCollection getManagedContentByIds(String communityId, List managedContentIds, Integer pageParam, Integer pageSize, String language, String managedContentType, Boolean showAbsoluteUrl) { } + global static ConnectApi.ManagedContentVersionCollection getManagedContentByIds(String communityId, List managedContentIds, Integer pageParam, Integer pageSize, String language, String managedContentType) { } + global static ConnectApi.ManagedContentVersionCollection getManagedContentByTopics(String communityId, List topics, Integer pageParam, Integer pageSize, String language, String managedContentType, Boolean showAbsoluteUrl) { } + global static ConnectApi.ManagedContentVersionCollection getManagedContentByTopics(String communityId, List topics, Integer pageParam, Integer pageSize, String language, String managedContentType) { } + global static ConnectApi.ManagedContentVersionCollection getManagedContentByTopicsAndContentKeys(String communityId, List contentKeys, List topics, Integer pageParam, Integer pageSize, String language, String managedContentType, Boolean showAbsoluteUrl) { } + global static ConnectApi.ManagedContentVersionCollection getManagedContentByTopicsAndIds(String communityId, List managedContentIds, List topics, Integer pageParam, Integer pageSize, String language, String managedContentType, Boolean showAbsoluteUrl) { } + global static ConnectApi.ManagedContentVersionCollection getManagedContentByTopicsAndIds(String communityId, List managedContentIds, List topics, Integer pageParam, Integer pageSize, String language, String managedContentType) { } + global static ConnectApi.ManagedContentSpace getManagedContentSpace(String contentSpaceId) { } + global static ConnectApi.ManagedContentOutput updateManagedContent(String contentSpaceId, String managedContentId, ConnectApi.ManagedContentInput contentVersion) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentActionCollectionRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentActionCollectionRepresentation.cls new file mode 100644 index 0000000..e411670 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentActionCollectionRepresentation.cls @@ -0,0 +1,10 @@ +global class ManagedContentActionCollectionRepresentation { + global List actions; + global ManagedContentActionCollectionRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentActionRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentActionRepresentation.cls new file mode 100644 index 0000000..e6118a3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentActionRepresentation.cls @@ -0,0 +1,14 @@ +global class ManagedContentActionRepresentation { + global String apiName; + global String description; + global Boolean isMassAction; + global String label; + global String namespace; + global ManagedContentActionRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentAssociations.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentAssociations.cls new file mode 100644 index 0000000..4ddf701 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentAssociations.cls @@ -0,0 +1,10 @@ +global class ManagedContentAssociations { + global List topics; + global ManagedContentAssociations() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentBodyInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentBodyInput.cls new file mode 100644 index 0000000..675895a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentBodyInput.cls @@ -0,0 +1,9 @@ +global class ManagedContentBodyInput { + global Object nodeMap; + global ManagedContentBodyInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentChannel.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentChannel.cls new file mode 100644 index 0000000..7366be7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentChannel.cls @@ -0,0 +1,19 @@ +global class ManagedContentChannel { + global Long cacheControlMaxAge; + global String channelId; + global String channelName; + global ConnectApi.ConnectManagedContentChannelType channelType; + global String domain; + global String domainId; + global String domainName; + global Boolean isChannelSearchable; + global Boolean isDomainLocked; + global Long mediaCacheControlMaxAge; + global ManagedContentChannel() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentChannelCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentChannelCollection.cls new file mode 100644 index 0000000..977bcb1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentChannelCollection.cls @@ -0,0 +1,14 @@ +global class ManagedContentChannelCollection { + global List channels; + global String currentPageUrl; + global String nextPageUrl; + global String previousPageUrl; + global Integer totalChannels; + global ManagedContentChannelCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentChannelDetail.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentChannelDetail.cls new file mode 100644 index 0000000..8a82010 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentChannelDetail.cls @@ -0,0 +1,16 @@ +global class ManagedContentChannelDetail { + global String channelId; + global String channelName; + global ConnectApi.ConnectManagedContentChannelType channelType; + global String domain; + global String domainName; + global Boolean isChannelSearchable; + global Boolean isDomainLocked; + global ManagedContentChannelDetail() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentChannelSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentChannelSummary.cls new file mode 100644 index 0000000..a8613bb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentChannelSummary.cls @@ -0,0 +1,13 @@ +global class ManagedContentChannelSummary { + global String domainUrl; + global String name; + global String resourceUrl; + global ConnectApi.ManagedContentChannelTargetSummary target; + global ManagedContentChannelSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentChannelTargetSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentChannelTargetSummary.cls new file mode 100644 index 0000000..b4400b4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentChannelTargetSummary.cls @@ -0,0 +1,10 @@ +global class ManagedContentChannelTargetSummary { + global String id; + global ManagedContentChannelTargetSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentCollectionDetailRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentCollectionDetailRepresentation.cls new file mode 100644 index 0000000..106a052 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentCollectionDetailRepresentation.cls @@ -0,0 +1,19 @@ +global class ManagedContentCollectionDetailRepresentation { + global String collectionKey; + global ConnectApi.ManagedContentTypeSummary collectionType; + global String id; + global Boolean isPublished; + global List items; + global String language; + global String title; + global Integer total; + global String urlName; + global String versionNumber; + global ManagedContentCollectionDetailRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentCollectionItem.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentCollectionItem.cls new file mode 100644 index 0000000..fb1c5f6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentCollectionItem.cls @@ -0,0 +1,13 @@ +global class ManagedContentCollectionItem { + global Map body; + global ConnectApi.ManagedContentCollectionItemTypeSummary contentType; + global String id; + global String name; + global ManagedContentCollectionItem() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentCollectionItemTypeSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentCollectionItemTypeSummary.cls new file mode 100644 index 0000000..d56a0ff --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentCollectionItemTypeSummary.cls @@ -0,0 +1,11 @@ +global class ManagedContentCollectionItemTypeSummary { + global String fullyQualifiedName; + global String name; + global ManagedContentCollectionItemTypeSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentCollectionItems.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentCollectionItems.cls new file mode 100644 index 0000000..851fc2f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentCollectionItems.cls @@ -0,0 +1,19 @@ +global class ManagedContentCollectionItems { + global ConnectApi.ManagedContentChannelSummary channelInfo; + global String collectionKey; + global ConnectApi.ManagedContentTypeSummary collectionType; + global String id; + global List items; + global String language; + global Datetime publishedDate; + global String title; + global Integer total; + global String urlName; + global ManagedContentCollectionItems() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentCollectionMetadata.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentCollectionMetadata.cls new file mode 100644 index 0000000..3e1a252 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentCollectionMetadata.cls @@ -0,0 +1,19 @@ +global class ManagedContentCollectionMetadata { + global ConnectApi.ManagedContentChannelSummary channelInfo; + global String collectionKey; + global Map collectionMetadata; + global ConnectApi.ManagedContentTypeSummary collectionType; + global String id; + global String language; + global Datetime publishedDate; + global Map schema; + global String title; + global String urlName; + global ManagedContentCollectionMetadata() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentCollectionMetadataAuthoring.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentCollectionMetadataAuthoring.cls new file mode 100644 index 0000000..1962a63 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentCollectionMetadataAuthoring.cls @@ -0,0 +1,18 @@ +global class ManagedContentCollectionMetadataAuthoring { + global String collectionKey; + global Map collectionMetadata; + global ConnectApi.ManagedContentTypeSummary collectionType; + global String id; + global String language; + global Map schema; + global String spaceId; + global String title; + global String urlName; + global ManagedContentCollectionMetadataAuthoring() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentDateAndTimeNodeValue.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentDateAndTimeNodeValue.cls new file mode 100644 index 0000000..095fd20 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentDateAndTimeNodeValue.cls @@ -0,0 +1,11 @@ +global class ManagedContentDateAndTimeNodeValue { + global Datetime dateTimeValue; + global String timeZone; + global ManagedContentDateAndTimeNodeValue() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentDateNodeValue.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentDateNodeValue.cls new file mode 100644 index 0000000..bc50e62 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentDateNodeValue.cls @@ -0,0 +1,10 @@ +global class ManagedContentDateNodeValue { + global Datetime value; + global ManagedContentDateNodeValue() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentDeliveryDocument.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentDeliveryDocument.cls new file mode 100644 index 0000000..908b3a2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentDeliveryDocument.cls @@ -0,0 +1,13 @@ +global class ManagedContentDeliveryDocument { + global ConnectApi.ManagedContentChannelSummary channelInfo; + global Map contentBody; + global Map references; + global List referencesList; + global ManagedContentDeliveryDocument() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentDeliveryDocumentCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentDeliveryDocumentCollection.cls new file mode 100644 index 0000000..88eca9c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentDeliveryDocumentCollection.cls @@ -0,0 +1,16 @@ +global class ManagedContentDeliveryDocumentCollection { + global ConnectApi.ManagedContentChannelSummary channelInfo; + global List contents; + global String currentPageUrl; + global String nextPageUrl; + global String previousPageUrl; + global Map references; + global List referencesList; + global ManagedContentDeliveryDocumentCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentDeliveryDocumentSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentDeliveryDocumentSummary.cls new file mode 100644 index 0000000..c17ab39 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentDeliveryDocumentSummary.cls @@ -0,0 +1,9 @@ +global class ManagedContentDeliveryDocumentSummary { + global ManagedContentDeliveryDocumentSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentInput.cls new file mode 100644 index 0000000..9d6737c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentInput.cls @@ -0,0 +1,10 @@ +global class ManagedContentInput { + global ConnectApi.ManagedContentStatus connectManagedContentStatusEnum; + global String publishedVersionId; + global ManagedContentInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentLanguageSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentLanguageSummary.cls new file mode 100644 index 0000000..4f757f1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentLanguageSummary.cls @@ -0,0 +1,11 @@ +global class ManagedContentLanguageSummary { + global String displayLabel; + global String locale; + global ManagedContentLanguageSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentMediaNodeValue.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentMediaNodeValue.cls new file mode 100644 index 0000000..9fec172 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentMediaNodeValue.cls @@ -0,0 +1,20 @@ +global class ManagedContentMediaNodeValue { + global String altText; + global String altUrl; + global String contentKey; + global String fileName; + global ConnectApi.ConnectManagedContentMediaType mediaType; + global String mimeType; + global String resourceUrl; + global String thumbnailUrl; + global String title; + global String unauthenticatedUrl; + global String url; + global ManagedContentMediaNodeValue() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentMediaSourceNodeValue.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentMediaSourceNodeValue.cls new file mode 100644 index 0000000..fae15b9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentMediaSourceNodeValue.cls @@ -0,0 +1,17 @@ +global class ManagedContentMediaSourceNodeValue { + global String fileName; + global Boolean isExternal; + global ConnectApi.ConnectManagedContentMediaType mediaType; + global String mimeType; + global String referenceId; + global String resourceUrl; + global String unauthenticatedUrl; + global String url; + global ManagedContentMediaSourceNodeValue() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentNodeType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentNodeType.cls new file mode 100644 index 0000000..327cc10 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentNodeType.cls @@ -0,0 +1,12 @@ +global class ManagedContentNodeType { + global String label; + global String name; + global ConnectApi.ConnectManagedContentNodeType nodeType; + global ManagedContentNodeType() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentNodeValue.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentNodeValue.cls new file mode 100644 index 0000000..741adf8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentNodeValue.cls @@ -0,0 +1,9 @@ +global class ManagedContentNodeValue { + global ConnectApi.ConnectManagedContentNodeType nodeType; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentOutput.cls new file mode 100644 index 0000000..057ac92 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentOutput.cls @@ -0,0 +1,12 @@ +global class ManagedContentOutput { + global String contentKey; + global String id; + global String publishedVersionId; + global ManagedContentOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentReference.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentReference.cls new file mode 100644 index 0000000..c6e4311 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentReference.cls @@ -0,0 +1,11 @@ +global class ManagedContentReference { + global Map contentBody; + global String title; + global ManagedContentReference() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentReferenceSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentReferenceSummary.cls new file mode 100644 index 0000000..8ebf3a2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentReferenceSummary.cls @@ -0,0 +1,10 @@ +global class ManagedContentReferenceSummary { + global String title; + global ManagedContentReferenceSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentSpace.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentSpace.cls new file mode 100644 index 0000000..f86859b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentSpace.cls @@ -0,0 +1,18 @@ +global class ManagedContentSpace { + global String createdBy; + global Datetime createdDate; + global String defaultLanguage; + global String description; + global String id; + global String lastModifiedBy; + global Datetime lastModifiedDate; + global String name; + global String rootFolderId; + global ManagedContentSpace() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentSpaceCollectionRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentSpaceCollectionRepresentation.cls new file mode 100644 index 0000000..448003d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentSpaceCollectionRepresentation.cls @@ -0,0 +1,10 @@ +global class ManagedContentSpaceCollectionRepresentation { + global List spaces; + global ManagedContentSpaceCollectionRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentStatus.cls new file mode 100644 index 0000000..2526233 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentStatus.cls @@ -0,0 +1,7 @@ +global enum ManagedContentStatus { +ARCHIVED, +DRAFT, +PUBLISHED, +READYFORTRANSLATION, +STAGED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentTextNodeValue.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentTextNodeValue.cls new file mode 100644 index 0000000..76530ec --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentTextNodeValue.cls @@ -0,0 +1,10 @@ +global class ManagedContentTextNodeValue { + global String value; + global ManagedContentTextNodeValue() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentType.cls new file mode 100644 index 0000000..b3c31f0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentType.cls @@ -0,0 +1,12 @@ +global class ManagedContentType { + global String label; + global String name; + global Map nodeTypes; + global ManagedContentType() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentTypeSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentTypeSummary.cls new file mode 100644 index 0000000..a504df8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentTypeSummary.cls @@ -0,0 +1,11 @@ +global class ManagedContentTypeSummary { + global String fullyQualifiedName; + global String name; + global ManagedContentTypeSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentVersion.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentVersion.cls new file mode 100644 index 0000000..0fa2ba2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentVersion.cls @@ -0,0 +1,20 @@ +global class ManagedContentVersion { + global ConnectApi.ManagedContentAssociations associations; + global String contentKey; + global Map contentNodes; + global String contentUrlName; + global String language; + global String managedContentId; + global Datetime publishedDate; + global String title; + global String type; + global String typeLabel; + global String unauthenticatedUrl; + global ManagedContentVersion() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentVersionCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentVersionCollection.cls new file mode 100644 index 0000000..ffdf007 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentVersionCollection.cls @@ -0,0 +1,15 @@ +global class ManagedContentVersionCollection { + global String currentPageUrl; + global List items; + global Map managedContentTypes; + global String nextPageUrl; + global Integer total; + global Integer totalTypes; + global ManagedContentVersionCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentVersionInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentVersionInput.cls new file mode 100644 index 0000000..11c02b0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentVersionInput.cls @@ -0,0 +1,15 @@ +global class ManagedContentVersionInput { + global ConnectApi.ManagedContentBodyInput body; + global String externalId; + global String managedContentId; + global String spaceFolderId; + global String title; + global String type; + global String urlName; + global ManagedContentVersionInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentVersionOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentVersionOutput.cls new file mode 100644 index 0000000..bc2c5db --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedContentVersionOutput.cls @@ -0,0 +1,27 @@ +global class ManagedContentVersionOutput { + global ConnectApi.ManagedContentAssociations associations; + global String authoredManagedContentId; + global Map body; + global String contentKey; + global ConnectApi.Reference createdByReference; + global Datetime createdDate; + global String externalId; + global String id; + global ConnectApi.Reference lastUpdatedByReference; + global String managedContentId; + global String primaryLanguage; + global Datetime publishDate; + global ConnectApi.ManagedContentStatus status; + global String title; + global String type; + global String typeLabel; + global Datetime updatedDate; + global String urlName; + global ManagedContentVersionOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedSocialAccount.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedSocialAccount.cls new file mode 100644 index 0000000..836e0a6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedSocialAccount.cls @@ -0,0 +1,9 @@ +global class ManagedSocialAccount { + global ManagedSocialAccount() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedSocialAccountStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedSocialAccountStatus.cls new file mode 100644 index 0000000..b41b8c9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedSocialAccountStatus.cls @@ -0,0 +1,4 @@ +global enum ManagedSocialAccountStatus { +RUNNING, +STOPPED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedSocialAccounts.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedSocialAccounts.cls new file mode 100644 index 0000000..143c521 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedSocialAccounts.cls @@ -0,0 +1,10 @@ +global class ManagedSocialAccounts { + global List managedSocialAccounts; + global ManagedSocialAccounts() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedTopic.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedTopic.cls new file mode 100644 index 0000000..ec9937c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedTopic.cls @@ -0,0 +1,15 @@ +global class ManagedTopic { + global List children; + global String id; + global ConnectApi.ManagedTopicType managedTopicType; + global ConnectApi.Reference parent; + global ConnectApi.Topic topic; + global String url; + global ManagedTopic() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedTopicCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedTopicCollection.cls new file mode 100644 index 0000000..d9f100d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedTopicCollection.cls @@ -0,0 +1,12 @@ +global class ManagedTopicCollection { + global String currentPageUrl; + global List managedTopics; + global String nextPageUrl; + global ManagedTopicCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedTopicPositionCollectionInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedTopicPositionCollectionInput.cls new file mode 100644 index 0000000..7f41a74 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedTopicPositionCollectionInput.cls @@ -0,0 +1,9 @@ +global class ManagedTopicPositionCollectionInput { + global List managedTopicPositions; + global ManagedTopicPositionCollectionInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedTopicPositionInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedTopicPositionInput.cls new file mode 100644 index 0000000..c75100f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedTopicPositionInput.cls @@ -0,0 +1,10 @@ +global class ManagedTopicPositionInput { + global String managedTopicId; + global Integer position; + global ManagedTopicPositionInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedTopicType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedTopicType.cls new file mode 100644 index 0000000..25338b0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedTopicType.cls @@ -0,0 +1,5 @@ +global enum ManagedTopicType { +CONTENT, +FEATURED, +NAVIGATIONAL +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedTopics.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedTopics.cls new file mode 100644 index 0000000..e45686d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ManagedTopics.cls @@ -0,0 +1,18 @@ +global class ManagedTopics { + global Object clone() { } + global static ConnectApi.ManagedTopic createManagedTopic(String communityId, String recordId, ConnectApi.ManagedTopicType managedTopicType, String parentId) { } + global static ConnectApi.ManagedTopic createManagedTopic(String communityId, String recordId, ConnectApi.ManagedTopicType managedTopicType) { } + global static ConnectApi.ManagedTopic createManagedTopicByName(String communityId, String name, ConnectApi.ManagedTopicType managedTopicType, String parentId) { } + global static ConnectApi.ManagedTopic createManagedTopicByName(String communityId, String name, ConnectApi.ManagedTopicType managedTopicType) { } + global static void deleteManagedTopic(String communityId, String managedTopicId) { } + global static ConnectApi.ManagedTopic getManagedTopic(String communityId, String managedTopicId, Integer depth) { } + global static ConnectApi.ManagedTopic getManagedTopic(String communityId, String managedTopicId) { } + global static ConnectApi.ManagedTopicCollection getManagedTopics(String communityId, ConnectApi.ManagedTopicType managedTopicType, Integer pageParam, Integer pageSize) { } + global static ConnectApi.ManagedTopicCollection getManagedTopics(String communityId, ConnectApi.ManagedTopicType managedTopicType, List recordIds, Integer depth) { } + global static ConnectApi.ManagedTopicCollection getManagedTopics(String communityId, ConnectApi.ManagedTopicType managedTopicType, String recordId, Integer depth) { } + global static ConnectApi.ManagedTopicCollection getManagedTopics(String communityId, ConnectApi.ManagedTopicType managedTopicType, Integer depth) { } + global static ConnectApi.ManagedTopicCollection getManagedTopics(String communityId, ConnectApi.ManagedTopicType managedTopicType) { } + global static ConnectApi.ManagedTopicCollection getManagedTopics(String communityId) { } + global static ConnectApi.ManagedTopicCollection reorderManagedTopics(String communityId, ConnectApi.ManagedTopicPositionCollectionInput managedTopicPositionCollection) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Managedcontentdelivery.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Managedcontentdelivery.cls new file mode 100644 index 0000000..801a8e4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Managedcontentdelivery.cls @@ -0,0 +1,3 @@ +global class Managedcontentdelivery { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MappingOutputCollectionRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MappingOutputCollectionRepresentation.cls new file mode 100644 index 0000000..50dbbd6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MappingOutputCollectionRepresentation.cls @@ -0,0 +1,11 @@ +global class MappingOutputCollectionRepresentation { + global Integer count; + global List items; + global MappingOutputCollectionRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MappingOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MappingOutputRepresentation.cls new file mode 100644 index 0000000..1f94a40 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MappingOutputRepresentation.cls @@ -0,0 +1,13 @@ +global class MappingOutputRepresentation { + global String epn; + global String id; + global String providerName; + global String webstoreId; + global MappingOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MarketingIntegration.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MarketingIntegration.cls new file mode 100644 index 0000000..0b24c4b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MarketingIntegration.cls @@ -0,0 +1,7 @@ +global class MarketingIntegration { + global Object clone() { } + global static ConnectApi.Form getForm(String siteId, String formId) { } + global static ConnectApi.Form saveForm(String siteId, ConnectApi.FormInput formInput) { } + global static ConnectApi.FormSubmission submitForm(String siteId, String formId, ConnectApi.FormSubmissionInput formSubmissionInput) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MarkupBeginSegment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MarkupBeginSegment.cls new file mode 100644 index 0000000..4367d29 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MarkupBeginSegment.cls @@ -0,0 +1,13 @@ +global class MarkupBeginSegment { + global String altText; + global String htmlTag; + global ConnectApi.MarkupType markupType; + global String url; + global MarkupBeginSegment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MarkupBeginSegmentInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MarkupBeginSegmentInput.cls new file mode 100644 index 0000000..01f218e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MarkupBeginSegmentInput.cls @@ -0,0 +1,11 @@ +global class MarkupBeginSegmentInput { + global String altText; + global ConnectApi.MarkupType markupType; + global String url; + global MarkupBeginSegmentInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MarkupEndSegment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MarkupEndSegment.cls new file mode 100644 index 0000000..a63f6c2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MarkupEndSegment.cls @@ -0,0 +1,11 @@ +global class MarkupEndSegment { + global String htmlTag; + global ConnectApi.MarkupType markupType; + global MarkupEndSegment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MarkupEndSegmentInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MarkupEndSegmentInput.cls new file mode 100644 index 0000000..921cc4f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MarkupEndSegmentInput.cls @@ -0,0 +1,9 @@ +global class MarkupEndSegmentInput { + global ConnectApi.MarkupType markupType; + global MarkupEndSegmentInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MarkupType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MarkupType.cls new file mode 100644 index 0000000..6ebb9c1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MarkupType.cls @@ -0,0 +1,12 @@ +global enum MarkupType { +BOLD, +CODE, +HYPERLINK, +ITALIC, +LISTITEM, +ORDEREDLIST, +PARAGRAPH, +STRIKETHROUGH, +UNDERLINE, +UNORDEREDLIST +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MatchType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MatchType.cls new file mode 100644 index 0000000..4a2e1a5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MatchType.cls @@ -0,0 +1,5 @@ +global enum MatchType { +MULTIPLEMATCH, +NOMATCH, +SINGLEMATCH +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MediaReference.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MediaReference.cls new file mode 100644 index 0000000..8c1ae82 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MediaReference.cls @@ -0,0 +1,11 @@ +global class MediaReference { + global String mediaUrl; + global String thumbnailUrl; + global MediaReference() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MediaReferenceCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MediaReferenceCapability.cls new file mode 100644 index 0000000..3b859ce --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MediaReferenceCapability.cls @@ -0,0 +1,10 @@ +global class MediaReferenceCapability { + global List media; + global MediaReferenceCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MedicalDirectorOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MedicalDirectorOutput.cls new file mode 100644 index 0000000..d493a77 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MedicalDirectorOutput.cls @@ -0,0 +1,10 @@ +global class MedicalDirectorOutput { + global String username; + global MedicalDirectorOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberAccountInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberAccountInput.cls new file mode 100644 index 0000000..30d9c7f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberAccountInput.cls @@ -0,0 +1,13 @@ +global class MemberAccountInput { + global Map additionalAccountFieldValues; + global Boolean allowDuplicateRecords; + global String name; + global String phone; + global String website; + global MemberAccountInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberAccountOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberAccountOutput.cls new file mode 100644 index 0000000..e723cd4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberAccountOutput.cls @@ -0,0 +1,11 @@ +global class MemberAccountOutput { + global String accountId; + global String name; + global MemberAccountOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberBenefitOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberBenefitOutput.cls new file mode 100644 index 0000000..05fdcb8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberBenefitOutput.cls @@ -0,0 +1,20 @@ +global class MemberBenefitOutput { + global String benefitId; + global String benefitName; + global String benefitTypeId; + global String benefitTypeName; + global String createdRecordId; + global String createdRecordName; + global String description; + global Datetime endDate; + global Boolean isActive; + global String memberBenefitStatus; + global Datetime startDate; + global MemberBenefitOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberBenefitsOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberBenefitsOutput.cls new file mode 100644 index 0000000..f6cfcef --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberBenefitsOutput.cls @@ -0,0 +1,10 @@ +global class MemberBenefitsOutput { + global List memberBenefits; + global MemberBenefitsOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberContactInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberContactInput.cls new file mode 100644 index 0000000..6f27d5f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberContactInput.cls @@ -0,0 +1,13 @@ +global class MemberContactInput { + global Map additionalContactFieldValues; + global Boolean allowDuplicateRecords; + global String email; + global String firstName; + global String lastName; + global MemberContactInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberContactOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberContactOutput.cls new file mode 100644 index 0000000..6d86e44 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberContactOutput.cls @@ -0,0 +1,13 @@ +global class MemberContactOutput { + global String contactId; + global String email; + global String firstName; + global String lastName; + global MemberContactOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberCurrencyOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberCurrencyOutput.cls new file mode 100644 index 0000000..f81c395 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberCurrencyOutput.cls @@ -0,0 +1,29 @@ +global class MemberCurrencyOutput { + global Map additionalLoyaltyMemberCurrencyFields; + global Double escrowPointsBalance; + global Double expirablePoints; + global Datetime lastAccrualProcessedDate; + global Datetime lastEscrowProcessedDate; + global Datetime lastExpirationProcessRunDate; + global Datetime lastPointsAggregationDate; + global Datetime lastPointsResetDate; + global String loyaltyMemberCurrencyName; + global String loyaltyProgramCurrencyId; + global String loyaltyProgramCurrencyName; + global String memberCurrencyId; + global Datetime nextQualifyingPointsResetDate; + global Double pointsBalance; + global Double qualifyingPointsBalanceBeforeReset; + global Double totalEscrowPointsAccrued; + global Double totalEscrowRolloverPoints; + global Double totalPointsAccrued; + global Double totalPointsExpired; + global Double totalPointsRedeemed; + global MemberCurrencyOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberDetailsOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberDetailsOutput.cls new file mode 100644 index 0000000..838a0de --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberDetailsOutput.cls @@ -0,0 +1,33 @@ +global class MemberDetailsOutput { + global Map additionalLoyaltyProgramMemberFields; + global ConnectApi.MemberAccountOutput associatedAccount; + global ConnectApi.MemberContactOutput associatedContact; + global Boolean canReceivePartnerPromotions; + global Boolean canReceivePromotions; + global String enrollmentChannel; + global Datetime enrollmentDate; + global String groupCreatedByMember; + global String groupName; + global Datetime lastActivityDate; + global String loyaltyProgramMemberId; + global String loyaltyProgramName; + global List memberCurrencies; + global String memberStatus; + global List memberTiers; + global String memberType; + global Datetime membershipEndDate; + global Datetime membershipLastRenewalDate; + global String membershipNumber; + global String referredBy; + global String relatedCorporateMembershipNumber; + global String transactionJournalStatementFrequency; + global Datetime transactionJournalStatementLastGeneratedDate; + global String transactionJournalStatementMethod; + global MemberDetailsOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberTierOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberTierOutput.cls new file mode 100644 index 0000000..189d1e3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberTierOutput.cls @@ -0,0 +1,21 @@ +global class MemberTierOutput { + global Map additionalLoyaltyMemberTierFields; + global Boolean areTierBenefitsAssigned; + global String loyaltyMemberTierId; + global String loyaltyMemberTierName; + global String tierChangeReason; + global String tierChangeReasonType; + global Datetime tierEffectiveDate; + global Datetime tierExpirationDate; + global String tierGroupId; + global String tierGroupName; + global String tierId; + global Integer tierSequenceNumber; + global MemberTierOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberVouchersSortField.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberVouchersSortField.cls new file mode 100644 index 0000000..85289c2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberVouchersSortField.cls @@ -0,0 +1,5 @@ +global enum MemberVouchersSortField { +CREATEDDATE, +EFFECTIVEDATE, +EXPIRATIONDATE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberVouchersSortOrder.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberVouchersSortOrder.cls new file mode 100644 index 0000000..27b69a1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MemberVouchersSortOrder.cls @@ -0,0 +1,4 @@ +global enum MemberVouchersSortOrder { +ASCENDING, +DESCENDING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionCompletion.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionCompletion.cls new file mode 100644 index 0000000..113c3af --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionCompletion.cls @@ -0,0 +1,16 @@ +global class MentionCompletion { + global String additionalLabel; + global String description; + global String name; + global ConnectApi.OutOfOffice outOfOffice; + global String photoUrl; + global String recordId; + global ConnectApi.UserType userType; + global MentionCompletion() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionCompletionPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionCompletionPage.cls new file mode 100644 index 0000000..60bfc83 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionCompletionPage.cls @@ -0,0 +1,13 @@ +global class MentionCompletionPage { + global String currentPageUrl; + global List mentionCompletions; + global String nextPageUrl; + global String previousPageUrl; + global MentionCompletionPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionCompletionType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionCompletionType.cls new file mode 100644 index 0000000..4c89af0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionCompletionType.cls @@ -0,0 +1,5 @@ +global enum MentionCompletionType { +ALL, +GROUP, +USER +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionSegment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionSegment.cls new file mode 100644 index 0000000..bb488eb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionSegment.cls @@ -0,0 +1,13 @@ +global class MentionSegment { + global Boolean accessible; + global String name; + global ConnectApi.ActorWithId record; + global ConnectApi.UserSummary user; + global MentionSegment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionSegmentInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionSegmentInput.cls new file mode 100644 index 0000000..b4e5c04 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionSegmentInput.cls @@ -0,0 +1,10 @@ +global class MentionSegmentInput { + global String id; + global String username; + global MentionSegmentInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionValidation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionValidation.cls new file mode 100644 index 0000000..c574d0b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionValidation.cls @@ -0,0 +1,11 @@ +global class MentionValidation { + global String recordId; + global ConnectApi.MentionValidationStatus validationStatus; + global MentionValidation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionValidationStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionValidationStatus.cls new file mode 100644 index 0000000..9e090f3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionValidationStatus.cls @@ -0,0 +1,5 @@ +global enum MentionValidationStatus { +DISALLOWED, +INACCESSIBLE, +OK +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionValidations.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionValidations.cls new file mode 100644 index 0000000..b075c1e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MentionValidations.cls @@ -0,0 +1,11 @@ +global class MentionValidations { + global Boolean hasErrors; + global List mentionValidations; + global MentionValidations() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Mentions.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Mentions.cls new file mode 100644 index 0000000..ab74437 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Mentions.cls @@ -0,0 +1,9 @@ +global class Mentions { + global Object clone() { } + global static ConnectApi.MentionCompletionPage getMentionCompletions(String communityId, String q, String contextId, ConnectApi.MentionCompletionType type, Integer pageParam, Integer pageSize) { } + global static ConnectApi.MentionCompletionPage getMentionCompletions(String communityId, String q, String contextId) { } + global static ConnectApi.MentionValidations getMentionValidations(String communityId, String parentId, List recordIds, ConnectApi.FeedItemVisibilityType visibility) { } + global static void setTestGetMentionCompletions(String communityId, String q, String contextId, ConnectApi.MentionCompletionType type, Integer pageParam, Integer pageSize, ConnectApi.MentionCompletionPage result) { } + global static void setTestGetMentionCompletions(String communityId, String q, String contextId, ConnectApi.MentionCompletionPage result) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MessageBody.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MessageBody.cls new file mode 100644 index 0000000..36fbb76 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MessageBody.cls @@ -0,0 +1,9 @@ +global class MessageBody { + global MessageBody() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MessageBodyInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MessageBodyInput.cls new file mode 100644 index 0000000..1879bac --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MessageBodyInput.cls @@ -0,0 +1,9 @@ +global class MessageBodyInput { + global List messageSegments; + global MessageBodyInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MessageSegment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MessageSegment.cls new file mode 100644 index 0000000..1aa1368 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MessageSegment.cls @@ -0,0 +1,10 @@ +global class MessageSegment { + global String text; + global ConnectApi.MessageSegmentType type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MessageSegmentInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MessageSegmentInput.cls new file mode 100644 index 0000000..37b2e81 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MessageSegmentInput.cls @@ -0,0 +1,7 @@ +global class MessageSegmentInput { + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MessageSegmentType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MessageSegmentType.cls new file mode 100644 index 0000000..2d376c0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MessageSegmentType.cls @@ -0,0 +1,15 @@ +global enum MessageSegmentType { +ENTITYLINK, +FIELDCHANGE, +FIELDCHANGENAME, +FIELDCHANGEVALUE, +HASHTAG, +INLINEIMAGE, +LINK, +MARKUPBEGIN, +MARKUPEND, +MENTION, +MORECHANGES, +RESOURCELINK, +TEXT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MetricSpanEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MetricSpanEnum.cls new file mode 100644 index 0000000..9d863a2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MetricSpanEnum.cls @@ -0,0 +1,6 @@ +global enum MetricSpanEnum { +DAY, +MONTH, +SINCELASTACTION, +WEEK +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Missions.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Missions.cls new file mode 100644 index 0000000..139190e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Missions.cls @@ -0,0 +1,9 @@ +global class Missions { + global Object clone() { } + global static ConnectApi.UserMissionActivitiesJob exportUserMissionsActivities(String communityId, String userId) { } + global static ConnectApi.UserMissionActivityCollection getUserMissionsProgress(String communityId, String userId) { } + global static ConnectApi.UserMissionActivitiesJob purgeUserMissionsActivities(String communityId, String userId) { } + global static ConnectApi.UserMissionActivitiesJob purgeUserMissionsActivities(String communityId) { } + global static ConnectApi.UserMissionActivityStatus updateUserMissionActivityCount(ConnectApi.UserMissionActivityType activityType, Integer activityCount, String communityId, String userId) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MlDomainTrainingErrorType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MlDomainTrainingErrorType.cls new file mode 100644 index 0000000..3345cb9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MlDomainTrainingErrorType.cls @@ -0,0 +1,9 @@ +global enum MlDomainTrainingErrorType { +APEXNLPPROVIDERDEFINEDFORLANGUAGE, +CONVERSATIONDEFINITIONISACTIVE, +EINSTEINNOTPROVISIONED, +LANGUAGENOTDEFINED, +LOWINTENTCOUNT, +LOWINTENTUTTERANCECOUNT, +SERVICEISUNAVAILABLE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MlDomainTrainingInfoRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MlDomainTrainingInfoRepresentation.cls new file mode 100644 index 0000000..c8b5381 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MlDomainTrainingInfoRepresentation.cls @@ -0,0 +1,12 @@ +global class MlDomainTrainingInfoRepresentation { + global Boolean isTrainable; + global Map lowIntentUtteranceCounts; + global ConnectApi.MlDomainTrainingErrorType notTrainableReason; + global MlDomainTrainingInfoRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MlDomainTrainingRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MlDomainTrainingRepresentation.cls new file mode 100644 index 0000000..43671ea --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MlDomainTrainingRepresentation.cls @@ -0,0 +1,11 @@ +global class MlDomainTrainingRepresentation { + global String errorMessage; + global Boolean isSuccess; + global MlDomainTrainingRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MobilePublisherOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MobilePublisherOutput.cls new file mode 100644 index 0000000..ce91b46 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MobilePublisherOutput.cls @@ -0,0 +1,9 @@ +global class MobilePublisherOutput { + global MobilePublisherOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ModelFeature.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ModelFeature.cls new file mode 100644 index 0000000..6486ce1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ModelFeature.cls @@ -0,0 +1,12 @@ +global class ModelFeature { + global String label; + global String name; + global String type; + global ModelFeature() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ModerationCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ModerationCapability.cls new file mode 100644 index 0000000..9785099 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ModerationCapability.cls @@ -0,0 +1,10 @@ +global class ModerationCapability { + global ConnectApi.ModerationFlags moderationFlags; + global ModerationCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ModerationFlagItemDetail.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ModerationFlagItemDetail.cls new file mode 100644 index 0000000..c03ed01 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ModerationFlagItemDetail.cls @@ -0,0 +1,15 @@ +global class ModerationFlagItemDetail { + global String createdBy; + global Datetime createdDate; + global String id; + global ConnectApi.CommunityFlagType moderationType; + global String note; + global ConnectApi.CommunityFlagVisibility visibility; + global ModerationFlagItemDetail() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ModerationFlags.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ModerationFlags.cls new file mode 100644 index 0000000..5abaf9f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ModerationFlags.cls @@ -0,0 +1,13 @@ +global class ModerationFlags { + global Integer flagCount; + global Map flagCountByReason; + global Boolean flaggedByMe; + global ConnectApi.ModerationFlagsCollection flags; + global ModerationFlags() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ModerationFlagsCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ModerationFlagsCollection.cls new file mode 100644 index 0000000..21bd5ff --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ModerationFlagsCollection.cls @@ -0,0 +1,15 @@ +global class ModerationFlagsCollection { + global String currentPageToken; + global String currentPageUrl; + global List flags; + global String nextPageToken; + global String nextPageUrl; + global Integer pageSize; + global ModerationFlagsCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ModifyShiftResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ModifyShiftResult.cls new file mode 100644 index 0000000..0dd3b38 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ModifyShiftResult.cls @@ -0,0 +1,10 @@ +global class ModifyShiftResult { + global String responseMessage; + global ModifyShiftResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MoreChangesSegment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MoreChangesSegment.cls new file mode 100644 index 0000000..7eda01f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MoreChangesSegment.cls @@ -0,0 +1,11 @@ +global class MoreChangesSegment { + global List moreChanges; + global Integer moreChangesCount; + global MoreChangesSegment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Motif.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Motif.cls new file mode 100644 index 0000000..aeabc6a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Motif.cls @@ -0,0 +1,14 @@ +global class Motif { + global String color; + global String largeIconUrl; + global String mediumIconUrl; + global String smallIconUrl; + global String svgIconUrl; + global Motif() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MultipleAsyncOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MultipleAsyncOutputRepresentation.cls new file mode 100644 index 0000000..9c80307 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MultipleAsyncOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class MultipleAsyncOutputRepresentation { + global List asyncOutputs; + global MultipleAsyncOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MultipleEnsureFundsAsyncInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MultipleEnsureFundsAsyncInputRepresentation.cls new file mode 100644 index 0000000..1276d8e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MultipleEnsureFundsAsyncInputRepresentation.cls @@ -0,0 +1,9 @@ +global class MultipleEnsureFundsAsyncInputRepresentation { + global List asyncInputs; + global MultipleEnsureFundsAsyncInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MultipleFulfillmentOrderInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MultipleFulfillmentOrderInputRepresentation.cls new file mode 100644 index 0000000..4fb08ca --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MultipleFulfillmentOrderInputRepresentation.cls @@ -0,0 +1,10 @@ +global class MultipleFulfillmentOrderInputRepresentation { + global Boolean allOrNothing; + global List fulfillmentOrders; + global MultipleFulfillmentOrderInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MultipleFulfillmentOrderInvoicesInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MultipleFulfillmentOrderInvoicesInputRepresentation.cls new file mode 100644 index 0000000..f33b3f3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MultipleFulfillmentOrderInvoicesInputRepresentation.cls @@ -0,0 +1,9 @@ +global class MultipleFulfillmentOrderInvoicesInputRepresentation { + global List fulfillmentOrderIds; + global MultipleFulfillmentOrderInvoicesInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MultipleFulfillmentOrderInvoicesOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MultipleFulfillmentOrderInvoicesOutputRepresentation.cls new file mode 100644 index 0000000..58b6964 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MultipleFulfillmentOrderInvoicesOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class MultipleFulfillmentOrderInvoicesOutputRepresentation { + global List invoiceIds; + global MultipleFulfillmentOrderInvoicesOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MultipleFulfillmentOrderOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MultipleFulfillmentOrderOutputRepresentation.cls new file mode 100644 index 0000000..0238442 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MultipleFulfillmentOrderOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class MultipleFulfillmentOrderOutputRepresentation { + global List fulfillmentOrders; + global MultipleFulfillmentOrderOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MuteCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MuteCapability.cls new file mode 100644 index 0000000..28fa9b1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MuteCapability.cls @@ -0,0 +1,10 @@ +global class MuteCapability { + global Boolean isMutedByMe; + global MuteCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MuteCapabilityInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MuteCapabilityInput.cls new file mode 100644 index 0000000..d00e601 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MuteCapabilityInput.cls @@ -0,0 +1,9 @@ +global class MuteCapabilityInput { + global Boolean isMutedByMe; + global MuteCapabilityInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MuteSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MuteSummary.cls new file mode 100644 index 0000000..64fd25d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/MuteSummary.cls @@ -0,0 +1,9 @@ +global class MuteSummary { + global MuteSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NBAActionParameter.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NBAActionParameter.cls new file mode 100644 index 0000000..b5a59ac --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NBAActionParameter.cls @@ -0,0 +1,12 @@ +global class NBAActionParameter { + global String name; + global String type; + global String value; + global NBAActionParameter() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NBAActionType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NBAActionType.cls new file mode 100644 index 0000000..6d19822 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NBAActionType.cls @@ -0,0 +1,3 @@ +global enum NBAActionType { +FLOW +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NBAFlowAction.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NBAFlowAction.cls new file mode 100644 index 0000000..b3179be --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NBAFlowAction.cls @@ -0,0 +1,13 @@ +global class NBAFlowAction { + global String flowLabel; + global ConnectApi.NBAFlowType flowType; + global String id; + global String name; + global NBAFlowAction() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NBAFlowType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NBAFlowType.cls new file mode 100644 index 0000000..a5ed8db --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NBAFlowType.cls @@ -0,0 +1,4 @@ +global enum NBAFlowType { +AUTOLAUNCHEDFLOW, +FLOW +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NBANativeRecommendation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NBANativeRecommendation.cls new file mode 100644 index 0000000..74eb104 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NBANativeRecommendation.cls @@ -0,0 +1,12 @@ +global class NBANativeRecommendation { + global String id; + global String name; + global String url; + global NBANativeRecommendation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NBARecommendation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NBARecommendation.cls new file mode 100644 index 0000000..acf5af9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NBARecommendation.cls @@ -0,0 +1,19 @@ +global class NBARecommendation { + global String acceptanceLabel; + global String aiModel; + global String description; + global String externalId; + global String imageUrl; + global String recommendationMode; + global Double recommendationScore; + global String rejectionLabel; + global ConnectApi.AbstractNBATarget target; + global ConnectApi.AbstractNBAAction targetAction; + global NBARecommendation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NBARecommendations.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NBARecommendations.cls new file mode 100644 index 0000000..fdbcb7b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NBARecommendations.cls @@ -0,0 +1,13 @@ +global class NBARecommendations { + global String executionId; + global String onBehalfOfId; + global List recommendations; + global ConnectApi.StrategyTrace trace; + global NBARecommendations() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NBAStrategyInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NBAStrategyInput.cls new file mode 100644 index 0000000..4a04d25 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NBAStrategyInput.cls @@ -0,0 +1,12 @@ +global class NBAStrategyInput { + global String contextRecordId; + global Boolean debugTrace; + global Integer maxResults; + global Map strategyContext; + global NBAStrategyInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NBATargetType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NBATargetType.cls new file mode 100644 index 0000000..9a1f837 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NBATargetType.cls @@ -0,0 +1,3 @@ +global enum NBATargetType { +RECOMMENDATION +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredential.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredential.cls new file mode 100644 index 0000000..d057938 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredential.cls @@ -0,0 +1,20 @@ +global class NamedCredential { + global ConnectApi.NamedCredentialCalloutOptions calloutOptions; + global String calloutUrl; + global List customHeaders; + global String developerName; + global List externalCredentials; + global String id; + global String masterLabel; + global ConnectApi.NetworkConnection networkConnection; + global List parameters; + global ConnectApi.NamedCredentialType type; + global String url; + global NamedCredential() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialCalloutOptions.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialCalloutOptions.cls new file mode 100644 index 0000000..5cd3e01 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialCalloutOptions.cls @@ -0,0 +1,12 @@ +global class NamedCredentialCalloutOptions { + global Boolean allowMergeFieldsInBody; + global Boolean allowMergeFieldsInHeader; + global Boolean generateAuthorizationHeader; + global NamedCredentialCalloutOptions() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialCalloutOptionsInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialCalloutOptionsInput.cls new file mode 100644 index 0000000..c90d2fa --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialCalloutOptionsInput.cls @@ -0,0 +1,11 @@ +global class NamedCredentialCalloutOptionsInput { + global Boolean allowMergeFieldsInBody; + global Boolean allowMergeFieldsInHeader; + global Boolean generateAuthorizationHeader; + global NamedCredentialCalloutOptionsInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialInput.cls new file mode 100644 index 0000000..f4ea43b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialInput.cls @@ -0,0 +1,17 @@ +global class NamedCredentialInput { + global ConnectApi.NamedCredentialCalloutOptionsInput calloutOptions; + global String calloutUrl; + global List customHeaders; + global String developerName; + global List externalCredentials; + global String masterLabel; + global ConnectApi.NetworkConnectionInput networkConnection; + global List parameters; + global ConnectApi.NamedCredentialType type; + global NamedCredentialInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialList.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialList.cls new file mode 100644 index 0000000..84f26c8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialList.cls @@ -0,0 +1,10 @@ +global class NamedCredentialList { + global List namedCredentials; + global NamedCredentialList() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialParameter.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialParameter.cls new file mode 100644 index 0000000..72522e0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialParameter.cls @@ -0,0 +1,13 @@ +global class NamedCredentialParameter { + global String id; + global String parameterName; + global ConnectApi.NamedCredentialParameterType parameterType; + global String parameterValue; + global NamedCredentialParameter() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialParameterInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialParameterInput.cls new file mode 100644 index 0000000..22accd7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialParameterInput.cls @@ -0,0 +1,13 @@ +global class NamedCredentialParameterInput { + global String id; + global String parameterDescription; + global String parameterName; + global ConnectApi.NamedCredentialParameterType parameterType; + global String parameterValue; + global NamedCredentialParameterInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialParameterType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialParameterType.cls new file mode 100644 index 0000000..4962182 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialParameterType.cls @@ -0,0 +1,4 @@ +global enum NamedCredentialParameterType { +ALLOWEDMANAGEDPACKAGENAMESPACES, +CLIENTCERTIFICATE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialType.cls new file mode 100644 index 0000000..b421c81 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentialType.cls @@ -0,0 +1,4 @@ +global enum NamedCredentialType { +PRIVATEENDPOINT, +SECUREDENDPOINT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentials.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentials.cls new file mode 100644 index 0000000..2b3c698 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NamedCredentials.cls @@ -0,0 +1,20 @@ +global class NamedCredentials { + global Object clone() { } + global static ConnectApi.Credential createCredential(ConnectApi.CredentialInput requestBody, ConnectApi.CreateCredentialAction action) { } + global static ConnectApi.Credential createCredential(ConnectApi.CredentialInput requestBody) { } + global static ConnectApi.ExternalCredential createExternalCredential(ConnectApi.ExternalCredentialInput requestBody) { } + global static ConnectApi.NamedCredential createNamedCredential(ConnectApi.NamedCredentialInput requestBody) { } + global static void deleteCredential(String externalCredential, String principalName, ConnectApi.CredentialPrincipalType principalType) { } + global static void deleteExternalCredential(String developerName) { } + global static void deleteNamedCredential(String developerName) { } + global static ConnectApi.Credential getCredential(String externalCredential, String principalName, ConnectApi.CredentialPrincipalType principalType) { } + global static ConnectApi.ExternalCredential getExternalCredential(String developerName) { } + global static ConnectApi.ExternalCredentialList getExternalCredentials() { } + global static ConnectApi.NamedCredential getNamedCredential(String developerName) { } + global static ConnectApi.NamedCredentialList getNamedCredentials() { } + global static ConnectApi.OAuthCredentialAuthUrl getOAuthCredentialAuthUrl(ConnectApi.OAuthCredentialAuthUrlInput requestBody) { } + global static ConnectApi.Credential updateCredential(ConnectApi.CredentialInput requestBody) { } + global static ConnectApi.ExternalCredential updateExternalCredential(String developerName, ConnectApi.ExternalCredentialInput requestBody) { } + global static ConnectApi.NamedCredential updateNamedCredential(String developerName, ConnectApi.NamedCredentialInput requestBody) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NavigationMenu.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NavigationMenu.cls new file mode 100644 index 0000000..fea31fc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NavigationMenu.cls @@ -0,0 +1,6 @@ +global class NavigationMenu { + global Object clone() { } + global static ConnectApi.NavigationMenuItemCollection getCommunityNavigationMenu(String communityId, String navigationLinkSetId, String navigationLinkSetDeveloperName, ConnectApi.PublishStatus publishStatus, Boolean includeImageUrl, Boolean addHomeMenuItem, List menuItemTypesToSkip, String effectiveAccountId) { } + global static ConnectApi.NavigationMenuItemCollection getCommunityNavigationMenu(String communityId, String navigationLinkSetId, String navigationLinkSetDeveloperName, ConnectApi.PublishStatus publishStatus, Boolean includeImageUrl, Boolean addHomeMenuItem, List menuItemTypesToSkip) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NavigationMenuItem.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NavigationMenuItem.cls new file mode 100644 index 0000000..21fa78f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NavigationMenuItem.cls @@ -0,0 +1,15 @@ +global class NavigationMenuItem { + global ConnectApi.NavigationMenuItemActionType actionType; + global String actionValue; + global String imageUrl; + global String label; + global List subMenu; + global ConnectApi.NavigationMenuItemOpenTarget target; + global NavigationMenuItem() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NavigationMenuItemActionType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NavigationMenuItemActionType.cls new file mode 100644 index 0000000..73b1ba4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NavigationMenuItemActionType.cls @@ -0,0 +1,6 @@ +global enum NavigationMenuItemActionType { +EVENT, +EXTERNALLINK, +INTERNALLINK, +MODAL +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NavigationMenuItemCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NavigationMenuItemCollection.cls new file mode 100644 index 0000000..afcfb89 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NavigationMenuItemCollection.cls @@ -0,0 +1,10 @@ +global class NavigationMenuItemCollection { + global List menuItems; + global NavigationMenuItemCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NavigationMenuItemOpenTarget.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NavigationMenuItemOpenTarget.cls new file mode 100644 index 0000000..dac2e71 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NavigationMenuItemOpenTarget.cls @@ -0,0 +1,4 @@ +global enum NavigationMenuItemOpenTarget { +CURRENTWINDOW, +NEWWINDOW +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NavigationMenuItemType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NavigationMenuItemType.cls new file mode 100644 index 0000000..59213e2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NavigationMenuItemType.cls @@ -0,0 +1,12 @@ +global enum NavigationMenuItemType { +DATASOURCEDRIVEN, +EVENT, +EXTERNALLINK, +GLOBALACTION, +INTERNALLINK, +MENULABEL, +MODAL, +NAVIGATIONALTOPIC, +SALESFORCEOBJECT, +SYSTEMLINK +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NetworkConnection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NetworkConnection.cls new file mode 100644 index 0000000..0dd04a9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NetworkConnection.cls @@ -0,0 +1,13 @@ +global class NetworkConnection { + global String developerName; + global String id; + global String masterLabel; + global String namespacePrefix; + global NetworkConnection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NetworkConnectionInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NetworkConnectionInput.cls new file mode 100644 index 0000000..3b22674 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NetworkConnectionInput.cls @@ -0,0 +1,10 @@ +global class NetworkConnectionInput { + global String developerName; + global String namespace; + global NetworkConnectionInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NewFileAttachmentInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NewFileAttachmentInput.cls new file mode 100644 index 0000000..c1c93ff --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NewFileAttachmentInput.cls @@ -0,0 +1,10 @@ +global class NewFileAttachmentInput { + global String description; + global String title; + global NewFileAttachmentInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NewUserAudienceCriteria.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NewUserAudienceCriteria.cls new file mode 100644 index 0000000..8f07f3f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NewUserAudienceCriteria.cls @@ -0,0 +1,10 @@ +global class NewUserAudienceCriteria { + global Double maxDaysInCommunity; + global NewUserAudienceCriteria() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NewUserAudienceCriteriaInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NewUserAudienceCriteriaInput.cls new file mode 100644 index 0000000..d8b2caa --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NewUserAudienceCriteriaInput.cls @@ -0,0 +1,9 @@ +global class NewUserAudienceCriteriaInput { + global Double value; + global NewUserAudienceCriteriaInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NextBestAction.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NextBestAction.cls new file mode 100644 index 0000000..c58cba7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NextBestAction.cls @@ -0,0 +1,12 @@ +global class NextBestAction { + global Object clone() { } + global static void deleteRecommendationReaction(String reactionId) { } + global static ConnectApi.NBARecommendations executeStrategy(String strategyName, Integer maxResults, String contextRecordId, Boolean debugTrace) { } + global static ConnectApi.NBARecommendations executeStrategy(String strategyName, Integer maxResults, String contextRecordId) { } + global static ConnectApi.NBARecommendations executeStrategy(String strategyName, ConnectApi.NBAStrategyInput strategyInput) { } + global static ConnectApi.Recommendation getRecommendation(String recommendationId) { } + global static ConnectApi.RecommendationReaction getRecommendationReaction(String reactionId) { } + global static ConnectApi.RecommendationReactions getRecommendationReactions(String onBehalfOfId, String createdById, String targetId, String contextRecordId, Integer pageParam, Integer pageSize) { } + global static ConnectApi.RecommendationReaction setRecommendationReaction(ConnectApi.RecommendationReactionInput reaction) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NftSettings.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NftSettings.cls new file mode 100644 index 0000000..56087fd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NftSettings.cls @@ -0,0 +1,3 @@ +global class NftSettings { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NftSettingsOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NftSettingsOutput.cls new file mode 100644 index 0000000..16b77e3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NftSettingsOutput.cls @@ -0,0 +1,14 @@ +global class NftSettingsOutput { + global Boolean isMainnet; + global Boolean isMultisigEnabled; + global Integer minContractAdminSignatures; + global Integer minFinanceAdminSignatures; + global String productVariationPriceField; + global NftSettingsOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NonEntityRecommendation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NonEntityRecommendation.cls new file mode 100644 index 0000000..bafcaff --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NonEntityRecommendation.cls @@ -0,0 +1,11 @@ +global class NonEntityRecommendation { + global String displayLabel; + global ConnectApi.Motif motif; + global NonEntityRecommendation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NotFoundException.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NotFoundException.cls new file mode 100644 index 0000000..ebee4d7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NotFoundException.cls @@ -0,0 +1,5 @@ +global class NotFoundException extends Exception { + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NotifyAccessResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NotifyAccessResult.cls new file mode 100644 index 0000000..b033c06 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/NotifyAccessResult.cls @@ -0,0 +1,16 @@ +global class NotifyAccessResult { + global String accessKey; + global String endpoint; + global String externalUserId; + global Boolean isModeratorOnCall; + global String keyId; + global String region; + global String sessionToken; + global NotifyAccessResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OAuthCredentialAuthUrl.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OAuthCredentialAuthUrl.cls new file mode 100644 index 0000000..d1f26c6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OAuthCredentialAuthUrl.cls @@ -0,0 +1,13 @@ +global class OAuthCredentialAuthUrl { + global String authenticationUrl; + global String externalCredential; + global String principalName; + global ConnectApi.CredentialPrincipalType principalType; + global OAuthCredentialAuthUrl() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OAuthCredentialAuthUrlInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OAuthCredentialAuthUrlInput.cls new file mode 100644 index 0000000..ff13444 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OAuthCredentialAuthUrlInput.cls @@ -0,0 +1,12 @@ +global class OAuthCredentialAuthUrlInput { + global String externalCredential; + global String principalName; + global ConnectApi.CredentialPrincipalType principalType; + global String returnUrl; + global OAuthCredentialAuthUrlInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIBaseOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIBaseOutputRepresentation.cls new file mode 100644 index 0000000..d5e4e28 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIBaseOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class OCIBaseOutputRepresentation { + global List errors; + global Boolean success; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICancelReservationInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICancelReservationInputRepresentation.cls new file mode 100644 index 0000000..ecc2602 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICancelReservationInputRepresentation.cls @@ -0,0 +1,9 @@ +global class OCICancelReservationInputRepresentation { + global String reservsationId; + global OCICancelReservationInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICancelReservationOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICancelReservationOutputRepresentation.cls new file mode 100644 index 0000000..c9785ec --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICancelReservationOutputRepresentation.cls @@ -0,0 +1,9 @@ +global class OCICancelReservationOutputRepresentation { + global OCICancelReservationOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICreateReservationErrorOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICreateReservationErrorOutputRepresentation.cls new file mode 100644 index 0000000..fbd193f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICreateReservationErrorOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class OCICreateReservationErrorOutputRepresentation { + global String errorCode; + global String message; + global OCICreateReservationErrorOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICreateReservationInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICreateReservationInputRepresentation.cls new file mode 100644 index 0000000..7a44a73 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICreateReservationInputRepresentation.cls @@ -0,0 +1,15 @@ +global class OCICreateReservationInputRepresentation { + global String actionRequestId; + global Boolean allowPartialReservations; + global List createAllOrNothingRecords; + global List createRecords; + global Integer expirationSeconds; + global String externalRefId; + global String reservationTime; + global OCICreateReservationInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICreateReservationOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICreateReservationOutputRepresentation.cls new file mode 100644 index 0000000..f5636b8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICreateReservationOutputRepresentation.cls @@ -0,0 +1,14 @@ +global class OCICreateReservationOutputRepresentation { + global List details; + global List errors; + global String expirationTime; + global String reservationTime; + global Boolean success; + global OCICreateReservationOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICreateReservationSingleInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICreateReservationSingleInputRepresentation.cls new file mode 100644 index 0000000..e81439e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICreateReservationSingleInputRepresentation.cls @@ -0,0 +1,12 @@ +global class OCICreateReservationSingleInputRepresentation { + global String locationGroupIdentifier; + global String locationIdentifier; + global Double quantity; + global String stockKeepingUnit; + global OCICreateReservationSingleInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICreateReservationSingleOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICreateReservationSingleOutputRepresentation.cls new file mode 100644 index 0000000..929e330 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCICreateReservationSingleOutputRepresentation.cls @@ -0,0 +1,14 @@ +global class OCICreateReservationSingleOutputRepresentation { + global String errorCode; + global String locationGroupIdentifier; + global String locationIdentifier; + global Double quantity; + global String stockKeepingUnit; + global OCICreateReservationSingleOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIFulfillReservationErrorOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIFulfillReservationErrorOutputRepresentation.cls new file mode 100644 index 0000000..1d10d2c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIFulfillReservationErrorOutputRepresentation.cls @@ -0,0 +1,12 @@ +global class OCIFulfillReservationErrorOutputRepresentation { + global ConnectApi.OCIFulfillReservationSingleOutputRepresentation details; + global String errorCode; + global String message; + global OCIFulfillReservationErrorOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIFulfillReservationInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIFulfillReservationInputRepresentation.cls new file mode 100644 index 0000000..0428d4e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIFulfillReservationInputRepresentation.cls @@ -0,0 +1,9 @@ +global class OCIFulfillReservationInputRepresentation { + global List fulfillmentRecords; + global OCIFulfillReservationInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIFulfillReservationOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIFulfillReservationOutputRepresentation.cls new file mode 100644 index 0000000..93a54bc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIFulfillReservationOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class OCIFulfillReservationOutputRepresentation { + global List errors; + global Boolean success; + global OCIFulfillReservationOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIFulfillReservationSingleInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIFulfillReservationSingleInputRepresentation.cls new file mode 100644 index 0000000..385dac7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIFulfillReservationSingleInputRepresentation.cls @@ -0,0 +1,13 @@ +global class OCIFulfillReservationSingleInputRepresentation { + global String actionRequestId; + global String externalRefId; + global String locationIdentifier; + global Double quantity; + global String stockKeepingUnit; + global OCIFulfillReservationSingleInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIFulfillReservationSingleOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIFulfillReservationSingleOutputRepresentation.cls new file mode 100644 index 0000000..b8ed161 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIFulfillReservationSingleOutputRepresentation.cls @@ -0,0 +1,14 @@ +global class OCIFulfillReservationSingleOutputRepresentation { + global String actionRequestId; + global String externalRefId; + global String locationIdentifier; + global Double quantity; + global String stockKeepingUnit; + global OCIFulfillReservationSingleOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIFutureInventoryOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIFutureInventoryOutputRepresentation.cls new file mode 100644 index 0000000..5877bc8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIFutureInventoryOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class OCIFutureInventoryOutputRepresentation { + global Datetime expectedDate; + global Double quantity; + global OCIFutureInventoryOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIGetInventoryAvailabilityInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIGetInventoryAvailabilityInputRepresentation.cls new file mode 100644 index 0000000..ef9a6ea --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIGetInventoryAvailabilityInputRepresentation.cls @@ -0,0 +1,14 @@ +global class OCIGetInventoryAvailabilityInputRepresentation { + global String locationGroupIdentifier; + global List locationGroupIdentifiers; + global List locationIdentifiers; + global String stockKeepingUnit; + global List stockKeepingUnits; + global Boolean useCache; + global OCIGetInventoryAvailabilityInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIGetInventoryAvailabilityOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIGetInventoryAvailabilityOutputRepresentation.cls new file mode 100644 index 0000000..8d3ad89 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIGetInventoryAvailabilityOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class OCIGetInventoryAvailabilityOutputRepresentation { + global List locationGroups; + global List locations; + global OCIGetInventoryAvailabilityOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIInventoryRecordOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIInventoryRecordOutputRepresentation.cls new file mode 100644 index 0000000..1d76781 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIInventoryRecordOutputRepresentation.cls @@ -0,0 +1,17 @@ +global class OCIInventoryRecordOutputRepresentation { + global Double availableToFulfill; + global Double availableToOrder; + global Datetime effectiveDate; + global List futures; + global Double onHand; + global Double reserved; + global Double safetyStockCount; + global String stockKeepingUnit; + global OCIInventoryRecordOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCILocationAvailabilityOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCILocationAvailabilityOutputRepresentation.cls new file mode 100644 index 0000000..ad6b9b4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCILocationAvailabilityOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class OCILocationAvailabilityOutputRepresentation { + global List inventoryRecords; + global String locationIdentifier; + global OCILocationAvailabilityOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCILocationGroupAvailabilityOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCILocationGroupAvailabilityOutputRepresentation.cls new file mode 100644 index 0000000..5d923ea --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCILocationGroupAvailabilityOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class OCILocationGroupAvailabilityOutputRepresentation { + global List inventoryRecords; + global String locationGroupIdentifier; + global OCILocationGroupAvailabilityOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIPublishLocationStructureOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIPublishLocationStructureOutputRepresentation.cls new file mode 100644 index 0000000..5cbc7cd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIPublishLocationStructureOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class OCIPublishLocationStructureOutputRepresentation { + global String uploadId; + global OCIPublishLocationStructureOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIPublishLocationStructureStatusOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIPublishLocationStructureStatusOutputRepresentation.cls new file mode 100644 index 0000000..9b6028f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIPublishLocationStructureStatusOutputRepresentation.cls @@ -0,0 +1,18 @@ +global class OCIPublishLocationStructureStatusOutputRepresentation { + global String endTimeUTC; + global Integer recordsProcessedCount; + global Integer recordsReadCount; + global Integer recordsSkippedCount; + global String startTimeUTC; + global String status; + global String uploadId; + global List validationErrors; + global String validationStatus; + global OCIPublishLocationStructureStatusOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIReleaseReservationErrorOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIReleaseReservationErrorOutputRepresentation.cls new file mode 100644 index 0000000..0d2a14b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIReleaseReservationErrorOutputRepresentation.cls @@ -0,0 +1,12 @@ +global class OCIReleaseReservationErrorOutputRepresentation { + global ConnectApi.OCIReleaseReservationSingleOutputRepresentation details; + global String errorCode; + global String message; + global OCIReleaseReservationErrorOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIReleaseReservationInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIReleaseReservationInputRepresentation.cls new file mode 100644 index 0000000..7c73f7f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIReleaseReservationInputRepresentation.cls @@ -0,0 +1,9 @@ +global class OCIReleaseReservationInputRepresentation { + global List releaseRecords; + global OCIReleaseReservationInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIReleaseReservationOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIReleaseReservationOutputRepresentation.cls new file mode 100644 index 0000000..4b2b24b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIReleaseReservationOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class OCIReleaseReservationOutputRepresentation { + global List errors; + global Boolean success; + global OCIReleaseReservationOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIReleaseReservationSingleInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIReleaseReservationSingleInputRepresentation.cls new file mode 100644 index 0000000..01fdb59 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIReleaseReservationSingleInputRepresentation.cls @@ -0,0 +1,14 @@ +global class OCIReleaseReservationSingleInputRepresentation { + global String actionRequestId; + global String externalRefId; + global String locationGroupIdentifier; + global String locationIdentifier; + global Double quantity; + global String stockKeepingUnit; + global OCIReleaseReservationSingleInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIReleaseReservationSingleOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIReleaseReservationSingleOutputRepresentation.cls new file mode 100644 index 0000000..5f219d8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIReleaseReservationSingleOutputRepresentation.cls @@ -0,0 +1,15 @@ +global class OCIReleaseReservationSingleOutputRepresentation { + global String actionRequestId; + global String externalRefId; + global String locationGroupIdentifier; + global String locationIdentifier; + global Double quantity; + global String stockKeepingUnit; + global OCIReleaseReservationSingleOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCITransferReservationErrorOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCITransferReservationErrorOutputRepresentation.cls new file mode 100644 index 0000000..c1e4f58 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCITransferReservationErrorOutputRepresentation.cls @@ -0,0 +1,12 @@ +global class OCITransferReservationErrorOutputRepresentation { + global ConnectApi.OCITransferReservationSingleOutputRepresentation details; + global String errorCode; + global String message; + global OCITransferReservationErrorOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCITransferReservationInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCITransferReservationInputRepresentation.cls new file mode 100644 index 0000000..6aeb390 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCITransferReservationInputRepresentation.cls @@ -0,0 +1,10 @@ +global class OCITransferReservationInputRepresentation { + global String allOrNothingTransferId; + global List transferRecords; + global OCITransferReservationInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCITransferReservationOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCITransferReservationOutputRepresentation.cls new file mode 100644 index 0000000..d64d16a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCITransferReservationOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class OCITransferReservationOutputRepresentation { + global List errors; + global Boolean success; + global OCITransferReservationOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCITransferReservationSingleInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCITransferReservationSingleInputRepresentation.cls new file mode 100644 index 0000000..0f694ee --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCITransferReservationSingleInputRepresentation.cls @@ -0,0 +1,17 @@ +global class OCITransferReservationSingleInputRepresentation { + global String actionRequestId; + global String externalRefId; + global String fromLocationGroupIdentifier; + global String fromLocationIdentifier; + global Boolean ignoreAvailabilityCheck; + global Double quantity; + global String stockKeepingUnit; + global String toLocationGroupIdentifier; + global String toLocationIdentifier; + global OCITransferReservationSingleInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCITransferReservationSingleOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCITransferReservationSingleOutputRepresentation.cls new file mode 100644 index 0000000..c6d3335 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCITransferReservationSingleOutputRepresentation.cls @@ -0,0 +1,18 @@ +global class OCITransferReservationSingleOutputRepresentation { + global String actionRequestId; + global String externalRefId; + global String fromLocationGroupIdentifier; + global String fromLocationIdentifier; + global Boolean ignoreAvailabilityCheck; + global Double quantity; + global String stockKeepingUnit; + global String toLocationGroupIdentifier; + global String toLocationIdentifier; + global OCITransferReservationSingleOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIUploadInventoryAvailabilityOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIUploadInventoryAvailabilityOutputRepresentation.cls new file mode 100644 index 0000000..49a7fd2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIUploadInventoryAvailabilityOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class OCIUploadInventoryAvailabilityOutputRepresentation { + global String uploadId; + global OCIUploadInventoryAvailabilityOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIUploadInventoryAvailabilityStatusOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIUploadInventoryAvailabilityStatusOutputRepresentation.cls new file mode 100644 index 0000000..dafacb9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OCIUploadInventoryAvailabilityStatusOutputRepresentation.cls @@ -0,0 +1,18 @@ +global class OCIUploadInventoryAvailabilityStatusOutputRepresentation { + global String endTimeUTC; + global Integer recordsProcessedCount; + global Integer recordsReadCount; + global Integer recordsSkippedCount; + global String startTimeUTC; + global String status; + global String uploadId; + global List validationErrors; + global String validationStatus; + global OCIUploadInventoryAvailabilityStatusOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OauthProviderInfo.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OauthProviderInfo.cls new file mode 100644 index 0000000..457ce8f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OauthProviderInfo.cls @@ -0,0 +1,11 @@ +global class OauthProviderInfo { + global String authorizationUrl; + global String name; + global OauthProviderInfo() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OcrResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OcrResult.cls new file mode 100644 index 0000000..21eb85e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OcrResult.cls @@ -0,0 +1,14 @@ +global class OcrResult { + global String keyEntity; + global String keyText; + global ConnectApi.OcrResultNormalizedText normalizedText; + global Double probability; + global String value; + global OcrResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OcrResultCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OcrResultCollection.cls new file mode 100644 index 0000000..e3789e8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OcrResultCollection.cls @@ -0,0 +1,10 @@ +global class OcrResultCollection { + global List ocrResultList; + global OcrResultCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OcrResultNormalizedText.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OcrResultNormalizedText.cls new file mode 100644 index 0000000..b5d9b61 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OcrResultNormalizedText.cls @@ -0,0 +1,14 @@ +global class OcrResultNormalizedText { + global String city; + global String country; + global String state; + global String street; + global String zipCode; + global OcrResultNormalizedText() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OmnichannelInventoryService.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OmnichannelInventoryService.cls new file mode 100644 index 0000000..961af85 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OmnichannelInventoryService.cls @@ -0,0 +1,3 @@ +global class OmnichannelInventoryService { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OperationType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OperationType.cls new file mode 100644 index 0000000..6d28811 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OperationType.cls @@ -0,0 +1,4 @@ +global enum OperationType { +ADD, +REMOVE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Orchestration.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Orchestration.cls new file mode 100644 index 0000000..6ba3361 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Orchestration.cls @@ -0,0 +1,5 @@ +global class Orchestration { + global Object clone() { } + global static ConnectApi.OrchestrationInstanceCollection getOrchestrationInstanceCollection(String relatedRecordId) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationInstance.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationInstance.cls new file mode 100644 index 0000000..ab11033 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationInstance.cls @@ -0,0 +1,16 @@ +global class OrchestrationInstance { + global String flowDefinitionDeveloperName; + global String flowDefinitionId; + global String flowDefinitionName; + global String id; + global String interviewId; + global List stageInstances; + global ConnectApi.OrchestrationInstanceStatus status; + global OrchestrationInstance() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationInstanceCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationInstanceCollection.cls new file mode 100644 index 0000000..2128d63 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationInstanceCollection.cls @@ -0,0 +1,10 @@ +global class OrchestrationInstanceCollection { + global List instances; + global OrchestrationInstanceCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationInstanceStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationInstanceStatus.cls new file mode 100644 index 0000000..06dc9f3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationInstanceStatus.cls @@ -0,0 +1,5 @@ +global enum OrchestrationInstanceStatus { +COMPLETED, +INPROGRESS, +NOTSTARTED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationStageInstance.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationStageInstance.cls new file mode 100644 index 0000000..8f32d7a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationStageInstance.cls @@ -0,0 +1,14 @@ +global class OrchestrationStageInstance { + global String id; + global String label; + global String name; + global ConnectApi.OrchestrationInstanceStatus status; + global List stepInstances; + global OrchestrationStageInstance() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationStepInstance.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationStepInstance.cls new file mode 100644 index 0000000..2d6d7e7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationStepInstance.cls @@ -0,0 +1,15 @@ +global class OrchestrationStepInstance { + global String id; + global String label; + global String name; + global ConnectApi.OrchestrationInstanceStatus status; + global ConnectApi.OrchestrationStepType stepType; + global List workItems; + global OrchestrationStepInstance() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationStepType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationStepType.cls new file mode 100644 index 0000000..abf0ab8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationStepType.cls @@ -0,0 +1,8 @@ +global enum OrchestrationStepType { +ASYNCHRONOUSBACKGROUNDSTEP, +BACKGROUNDSTEP, +INTERACTIVESTEP, +MANAGEDCONTENTROLEINTERACTIVESTEP, +MANAGEDCONTENTVARIANTSETLOCKBACKGROUNDSTEP, +MANAGEDCONTENTVARIANTSETREADYBACKGROUNDSTEP +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationWorkItem.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationWorkItem.cls new file mode 100644 index 0000000..9e73dd0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationWorkItem.cls @@ -0,0 +1,18 @@ +global class OrchestrationWorkItem { + global String assigneeId; + global String description; + global String id; + global String label; + global String relatedRecordId; + global String screenFlowDeveloperName; + global String screenFlowId; + global String screenFlowInputs; + global ConnectApi.OrchestrationWorkItemStatus status; + global OrchestrationWorkItem() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationWorkItemStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationWorkItemStatus.cls new file mode 100644 index 0000000..d32f54f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrchestrationWorkItemStatus.cls @@ -0,0 +1,4 @@ +global enum OrchestrationWorkItemStatus { +ASSIGNED, +COMPLETED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderDeliveryGroupSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderDeliveryGroupSummary.cls new file mode 100644 index 0000000..8eb21ed --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderDeliveryGroupSummary.cls @@ -0,0 +1,10 @@ +global class OrderDeliveryGroupSummary { + global Map fields; + global OrderDeliveryGroupSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderDeliveryGroupSummaryCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderDeliveryGroupSummaryCollection.cls new file mode 100644 index 0000000..7840f03 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderDeliveryGroupSummaryCollection.cls @@ -0,0 +1,16 @@ +global class OrderDeliveryGroupSummaryCollection { + global String currentPageToken; + global String currentPageUrl; + global String nextPageToken; + global String nextPageUrl; + global List orderDeliveryGroups; + global String previousPageToken; + global String previousPageUrl; + global OrderDeliveryGroupSummaryCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderDeliveryGroupSummaryLookupOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderDeliveryGroupSummaryLookupOutput.cls new file mode 100644 index 0000000..ba6b30a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderDeliveryGroupSummaryLookupOutput.cls @@ -0,0 +1,14 @@ +global class OrderDeliveryGroupSummaryLookupOutput { + global String currencyIsoCode; + global ConnectApi.OrderDeliveryMethodLookupOutput deliveryMethod; + global Map fields; + global String id; + global List lineItems; + global OrderDeliveryGroupSummaryLookupOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderDeliveryGroupSummarySort.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderDeliveryGroupSummarySort.cls new file mode 100644 index 0000000..703d49d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderDeliveryGroupSummarySort.cls @@ -0,0 +1,4 @@ +global enum OrderDeliveryGroupSummarySort { +IDASC, +IDDESC +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderDeliveryMethodLookupOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderDeliveryMethodLookupOutput.cls new file mode 100644 index 0000000..cd3e42f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderDeliveryMethodLookupOutput.cls @@ -0,0 +1,11 @@ +global class OrderDeliveryMethodLookupOutput { + global Map fields; + global String id; + global OrderDeliveryMethodLookupOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummary.cls new file mode 100644 index 0000000..b2f90e7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummary.cls @@ -0,0 +1,15 @@ +global class OrderItemSummary { + global ConnectApi.OrderItemSummaryAdjustmentAggregates adjustmentAggregates; + global String currencyIsoCode; + global Map fields; + global String orderItemSummaryId; + global String orderSummaryId; + global ConnectApi.OrderItemSummaryProduct product; + global OrderItemSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryAdjustmentAggregates.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryAdjustmentAggregates.cls new file mode 100644 index 0000000..9aa369e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryAdjustmentAggregates.cls @@ -0,0 +1,13 @@ +global class OrderItemSummaryAdjustmentAggregates { + global Boolean available; + global ConnectApi.OrderSummaryAdjustmentAggregatesStatus status; + global String totalLinePromotionAmount; + global String totalPromotionDistAmount; + global OrderItemSummaryAdjustmentAggregates() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryAdjustmentCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryAdjustmentCollection.cls new file mode 100644 index 0000000..a2cec8c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryAdjustmentCollection.cls @@ -0,0 +1,10 @@ +global class OrderItemSummaryAdjustmentCollection { + global Map orderItemSummaries; + global OrderItemSummaryAdjustmentCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryAdjustmentCollectionInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryAdjustmentCollectionInput.cls new file mode 100644 index 0000000..1321c1c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryAdjustmentCollectionInput.cls @@ -0,0 +1,9 @@ +global class OrderItemSummaryAdjustmentCollectionInput { + global List orderItemSummaries; + global OrderItemSummaryAdjustmentCollectionInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryAdjustmentInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryAdjustmentInput.cls new file mode 100644 index 0000000..a97bfc5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryAdjustmentInput.cls @@ -0,0 +1,9 @@ +global class OrderItemSummaryAdjustmentInput { + global String orderItemSummaryId; + global OrderItemSummaryAdjustmentInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryAdjustmentList.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryAdjustmentList.cls new file mode 100644 index 0000000..0252b24 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryAdjustmentList.cls @@ -0,0 +1,10 @@ +global class OrderItemSummaryAdjustmentList { + global List adjustments; + global OrderItemSummaryAdjustmentList() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryCollection.cls new file mode 100644 index 0000000..ab11102 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryCollection.cls @@ -0,0 +1,16 @@ +global class OrderItemSummaryCollection { + global String currentPageToken; + global String currentPageUrl; + global List items; + global String nextPageToken; + global String nextPageUrl; + global String previousPageToken; + global String previousPageUrl; + global OrderItemSummaryCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryInputRepresentation.cls new file mode 100644 index 0000000..8a4c9cf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryInputRepresentation.cls @@ -0,0 +1,10 @@ +global class OrderItemSummaryInputRepresentation { + global String orderItemSummaryId; + global Double quantity; + global OrderItemSummaryInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryLookupOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryLookupOutput.cls new file mode 100644 index 0000000..1a9f798 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryLookupOutput.cls @@ -0,0 +1,15 @@ +global class OrderItemSummaryLookupOutput { + global ConnectApi.OrderItemSummaryAdjustmentAggregates adjustmentAggregates; + global List adjustments; + global String currencyIsoCode; + global Map fields; + global String id; + global ConnectApi.OrderSummaryProductLookupOutput product; + global OrderItemSummaryLookupOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryOutputRepresentation.cls new file mode 100644 index 0000000..02d71ea --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryOutputRepresentation.cls @@ -0,0 +1,12 @@ +global class OrderItemSummaryOutputRepresentation { + global List errors; + global String orderItemSummaryId; + global Double quantity; + global OrderItemSummaryOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryProduct.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryProduct.cls new file mode 100644 index 0000000..9fb6d66 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummaryProduct.cls @@ -0,0 +1,16 @@ +global class OrderItemSummaryProduct { + global Boolean canViewProduct; + global String errorCode; + global String errorMessage; + global Map fields; + global ConnectApi.ProductMedia media; + global ConnectApi.ProductAttributeSetSummary productAttributes; + global String productId; + global OrderItemSummaryProduct() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummarySort.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummarySort.cls new file mode 100644 index 0000000..89a9f6d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderItemSummarySort.cls @@ -0,0 +1,4 @@ +global enum OrderItemSummarySort { +IDASC, +IDDESC +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderPaymentSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderPaymentSummary.cls new file mode 100644 index 0000000..2166636 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderPaymentSummary.cls @@ -0,0 +1,3 @@ +global class OrderPaymentSummary { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderQuantitiesOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderQuantitiesOutputRepresentation.cls new file mode 100644 index 0000000..e3fd4ad --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderQuantitiesOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class OrderQuantitiesOutputRepresentation { + global String externalOrderId; + global List itemQuantities; + global OrderQuantitiesOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderShipment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderShipment.cls new file mode 100644 index 0000000..8ed29d6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderShipment.cls @@ -0,0 +1,15 @@ +global class OrderShipment { + global Datetime expectedDeliveryDate; + global Map fields; + global String orderSummaryId; + global String shipmentId; + global String shipmentNumber; + global String status; + global OrderShipment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderShipmentCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderShipmentCollection.cls new file mode 100644 index 0000000..17ff51c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderShipmentCollection.cls @@ -0,0 +1,18 @@ +global class OrderShipmentCollection { + global Integer count; + global String currentPageToken; + global String currentPageUrl; + global String nextPageToken; + global String nextPageUrl; + global String previousPageToken; + global String previousPageUrl; + global List shipments; + global ConnectApi.OrderShipmentSort sortOrder; + global OrderShipmentCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderShipmentItem.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderShipmentItem.cls new file mode 100644 index 0000000..5ed2a09 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderShipmentItem.cls @@ -0,0 +1,16 @@ +global class OrderShipmentItem { + global Map fields; + global String orderItemSummaryId; + global ConnectApi.OrderItemSummaryProduct product; + global String productId; + global Double quantity; + global String shipmentId; + global String shipmentItemId; + global OrderShipmentItem() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderShipmentItemCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderShipmentItemCollection.cls new file mode 100644 index 0000000..6cddf5b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderShipmentItemCollection.cls @@ -0,0 +1,18 @@ +global class OrderShipmentItemCollection { + global Integer count; + global String currentPageToken; + global String currentPageUrl; + global List items; + global String nextPageToken; + global String nextPageUrl; + global String previousPageToken; + global String previousPageUrl; + global ConnectApi.OrderShipmentItemSort sortOrder; + global OrderShipmentItemCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderShipmentItemSort.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderShipmentItemSort.cls new file mode 100644 index 0000000..c573a90 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderShipmentItemSort.cls @@ -0,0 +1,4 @@ +global enum OrderShipmentItemSort { +IDASC, +IDDESC +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderShipmentSort.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderShipmentSort.cls new file mode 100644 index 0000000..8abafb8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderShipmentSort.cls @@ -0,0 +1,6 @@ +global enum OrderShipmentSort { +EXPECTEDDELIVERYDATEASC, +EXPECTEDDELIVERYDATEDESC, +SHIPMENTNUMBERASC, +SHIPMENTNUMBERDESC +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummary.cls new file mode 100644 index 0000000..029f768 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummary.cls @@ -0,0 +1,3 @@ +global class OrderSummary { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustment.cls new file mode 100644 index 0000000..8b566c6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustment.cls @@ -0,0 +1,15 @@ +global class OrderSummaryAdjustment { + global String amount; + global String basisReferenceDisplayName; + global String currencyIsoCode; + global String displayName; + global ConnectApi.OrderSummaryAdjustmentTargetType targetType; + global String type; + global OrderSummaryAdjustment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustmentAggregates.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustmentAggregates.cls new file mode 100644 index 0000000..c000d65 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustmentAggregates.cls @@ -0,0 +1,17 @@ +global class OrderSummaryAdjustmentAggregates { + global Boolean available; + global ConnectApi.OrderSummaryAdjustmentAggregatesStatus status; + global String totalDeliveryPromotionDistAmount; + global String totalDeliveryPromotionLineAmount; + global String totalDeliveryPromotionTotalAmount; + global String totalProductPromotionDistAmount; + global String totalProductPromotionLineAmount; + global String totalProductPromotionTotalAmount; + global OrderSummaryAdjustmentAggregates() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustmentAggregatesAsyncInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustmentAggregatesAsyncInput.cls new file mode 100644 index 0000000..52f1ce9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustmentAggregatesAsyncInput.cls @@ -0,0 +1,9 @@ +global class OrderSummaryAdjustmentAggregatesAsyncInput { + global List orderSummaryIds; + global OrderSummaryAdjustmentAggregatesAsyncInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustmentAggregatesAsyncOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustmentAggregatesAsyncOutput.cls new file mode 100644 index 0000000..8884ad7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustmentAggregatesAsyncOutput.cls @@ -0,0 +1,10 @@ +global class OrderSummaryAdjustmentAggregatesAsyncOutput { + global String statusURL; + global OrderSummaryAdjustmentAggregatesAsyncOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustmentAggregatesStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustmentAggregatesStatus.cls new file mode 100644 index 0000000..4c25280 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustmentAggregatesStatus.cls @@ -0,0 +1,6 @@ +global enum OrderSummaryAdjustmentAggregatesStatus { +FAILED, +INPROGRESS, +NOTINITIATED, +SUBMITTED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustmentCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustmentCollection.cls new file mode 100644 index 0000000..a25c1d8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustmentCollection.cls @@ -0,0 +1,10 @@ +global class OrderSummaryAdjustmentCollection { + global List adjustments; + global OrderSummaryAdjustmentCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustmentTargetType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustmentTargetType.cls new file mode 100644 index 0000000..a6e8705 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryAdjustmentTargetType.cls @@ -0,0 +1,4 @@ +global enum OrderSummaryAdjustmentTargetType { +HEADER, +SPLITLINE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryCollectionRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryCollectionRepresentation.cls new file mode 100644 index 0000000..0ab76a0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryCollectionRepresentation.cls @@ -0,0 +1,18 @@ +global class OrderSummaryCollectionRepresentation { + global Integer count; + global String currentPageToken; + global String currentPageUrl; + global String nextPageToken; + global String nextPageUrl; + global List orderSummaries; + global String previousPageToken; + global String previousPageUrl; + global ConnectApi.OrderSummarySortOrder sortOrder; + global OrderSummaryCollectionRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryCreation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryCreation.cls new file mode 100644 index 0000000..daa6726 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryCreation.cls @@ -0,0 +1,5 @@ +global class OrderSummaryCreation { + global Object clone() { } + global static ConnectApi.OrderSummaryOutputRepresentation createOrderSummary(ConnectApi.OrderSummaryInputRepresentation orderSummaryInput) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryInputRepresentation.cls new file mode 100644 index 0000000..7022fc7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryInputRepresentation.cls @@ -0,0 +1,15 @@ +global class OrderSummaryInputRepresentation { + global String businessModel; + global String externalReferenceIdentifier; + global String name; + global String orderId; + global String orderLifeCycleType; + global String sourceProcess; + global String status; + global OrderSummaryInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryLookupInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryLookupInput.cls new file mode 100644 index 0000000..3ef8caf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryLookupInput.cls @@ -0,0 +1,10 @@ +global class OrderSummaryLookupInput { + global String orderSummaryIdOrRefNumber; + global ConnectApi.OrderSummaryVerificationInput verification; + global OrderSummaryLookupInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryLookupOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryLookupOutput.cls new file mode 100644 index 0000000..eb79955 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryLookupOutput.cls @@ -0,0 +1,16 @@ +global class OrderSummaryLookupOutput { + global ConnectApi.OrderSummaryAdjustmentAggregates adjustmentAggregates; + global String currencyIsoCode; + global List deliveryGroups; + global Map fields; + global String id; + global String orderNumber; + global String status; + global OrderSummaryLookupOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryOutputRepresentation.cls new file mode 100644 index 0000000..98afdc7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class OrderSummaryOutputRepresentation { + global String orderSummaryId; + global OrderSummaryOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryProductAttribute.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryProductAttribute.cls new file mode 100644 index 0000000..a5eca67 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryProductAttribute.cls @@ -0,0 +1,12 @@ +global class OrderSummaryProductAttribute { + global String label; + global Integer sequence; + global String value; + global OrderSummaryProductAttribute() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryProductLookupOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryProductLookupOutput.cls new file mode 100644 index 0000000..1d199cb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryProductLookupOutput.cls @@ -0,0 +1,16 @@ +global class OrderSummaryProductLookupOutput { + global Boolean canViewProduct; + global String errorCode; + global String errorMessage; + global Map fields; + global String id; + global ConnectApi.ProductMedia media; + global Map variationAttributes; + global OrderSummaryProductLookupOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryRepresentation.cls new file mode 100644 index 0000000..0de3d8e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryRepresentation.cls @@ -0,0 +1,19 @@ +global class OrderSummaryRepresentation { + global ConnectApi.OrderSummaryAdjustmentAggregates adjustmentAggregates; + global Datetime createdDate; + global String currencyIsoCode; + global Map fields; + global String orderNumber; + global String orderSummaryId; + global Datetime orderedDate; + global String ownerId; + global String status; + global String totalAmount; + global OrderSummaryRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummarySortOrder.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummarySortOrder.cls new file mode 100644 index 0000000..7a39c87 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummarySortOrder.cls @@ -0,0 +1,6 @@ +global enum OrderSummarySortOrder { +CREATEDDATEASC, +CREATEDDATEDESC, +ORDEREDDATEASC, +ORDEREDDATEDESC +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryVerificationInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryVerificationInput.cls new file mode 100644 index 0000000..0ee201e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderSummaryVerificationInput.cls @@ -0,0 +1,11 @@ +global class OrderSummaryVerificationInput { + global String email; + global String lastName; + global String phoneNumber; + global OrderSummaryVerificationInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderToCartFailedProduct.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderToCartFailedProduct.cls new file mode 100644 index 0000000..20a3675 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderToCartFailedProduct.cls @@ -0,0 +1,14 @@ +global class OrderToCartFailedProduct { + global String errorCode; + global String errorMessage; + global String productId; + global String productName; + global String productSKU; + global OrderToCartFailedProduct() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderToCartInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderToCartInput.cls new file mode 100644 index 0000000..1a84275 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderToCartInput.cls @@ -0,0 +1,9 @@ +global class OrderToCartInput { + global String cartStateOrId; + global OrderToCartInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderToCartResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderToCartResult.cls new file mode 100644 index 0000000..f75436d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrderToCartResult.cls @@ -0,0 +1,13 @@ +global class OrderToCartResult { + global String cartId; + global Integer totalFailedProductCount; + global Integer totalSucceededProductCount; + global List unaddedProducts; + global OrderToCartResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Organization.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Organization.cls new file mode 100644 index 0000000..f27cce0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Organization.cls @@ -0,0 +1,5 @@ +global class Organization { + global Object clone() { } + global static ConnectApi.OrganizationSettings getSettings() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrganizationSettings.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrganizationSettings.cls new file mode 100644 index 0000000..f82ed44 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OrganizationSettings.cls @@ -0,0 +1,15 @@ +global class OrganizationSettings { + global Integer accessTimeout; + global ConnectApi.Features features; + global List maintenanceInfo; + global String name; + global String orgId; + global ConnectApi.UserSettings userSettings; + global OrganizationSettings() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OriginCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OriginCapability.cls new file mode 100644 index 0000000..81cad85 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OriginCapability.cls @@ -0,0 +1,11 @@ +global class OriginCapability { + global ConnectApi.UserSummary actor; + global ConnectApi.Reference originRecord; + global OriginCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OriginalDenialMedicalDirectorOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OriginalDenialMedicalDirectorOutput.cls new file mode 100644 index 0000000..7be8835 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OriginalDenialMedicalDirectorOutput.cls @@ -0,0 +1,10 @@ +global class OriginalDenialMedicalDirectorOutput { + global String username; + global OriginalDenialMedicalDirectorOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OutOfOffice.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OutOfOffice.cls new file mode 100644 index 0000000..ddcc564 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/OutOfOffice.cls @@ -0,0 +1,10 @@ +global class OutOfOffice { + global String message; + global OutOfOffice() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PardotBusinessUnitContext.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PardotBusinessUnitContext.cls new file mode 100644 index 0000000..3df89f4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PardotBusinessUnitContext.cls @@ -0,0 +1,3 @@ +global class PardotBusinessUnitContext { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PardotBusinessUnitContextItem.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PardotBusinessUnitContextItem.cls new file mode 100644 index 0000000..7799cdd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PardotBusinessUnitContextItem.cls @@ -0,0 +1,12 @@ +global class PardotBusinessUnitContextItem { + global String id; + global Boolean isCurrent; + global String name; + global PardotBusinessUnitContextItem() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PardotBusinessUnitContextOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PardotBusinessUnitContextOutput.cls new file mode 100644 index 0000000..2384077 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PardotBusinessUnitContextOutput.cls @@ -0,0 +1,12 @@ +global class PardotBusinessUnitContextOutput { + global List businessUnits; + global Boolean isSuccess; + global Integer totalBusinessUnits; + global PardotBusinessUnitContextOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ParticipantRecentInteractionsResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ParticipantRecentInteractionsResult.cls new file mode 100644 index 0000000..9c09f20 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ParticipantRecentInteractionsResult.cls @@ -0,0 +1,10 @@ +global class ParticipantRecentInteractionsResult { + global List serviceResources; + global ParticipantRecentInteractionsResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PayLoadOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PayLoadOutputRepresentation.cls new file mode 100644 index 0000000..7cf96fe --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PayLoadOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class PayLoadOutputRepresentation { + global String authorNoteId; + global String codeSetBundleId; + global PayLoadOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentAuthAdjustmentResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentAuthAdjustmentResponse.cls new file mode 100644 index 0000000..2027e88 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentAuthAdjustmentResponse.cls @@ -0,0 +1,17 @@ +global class PaymentAuthAdjustmentResponse { + global String accountId; + global Double amount; + global String currencyIsoCode; + global Datetime effectiveDate; + global String id; + global String paymentAuthAdjustmentNumber; + global Datetime requestDate; + global String status; + global PaymentAuthAdjustmentResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentAuthorizationResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentAuthorizationResponse.cls new file mode 100644 index 0000000..78d43c0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentAuthorizationResponse.cls @@ -0,0 +1,18 @@ +global class PaymentAuthorizationResponse { + global String accountId; + global Double amount; + global String currencyIsoCode; + global Datetime effectiveDate; + global Datetime expirationDate; + global String id; + global String paymentAuthorizationNumber; + global Datetime requestDate; + global String status; + global PaymentAuthorizationResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentGroupRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentGroupRequest.cls new file mode 100644 index 0000000..b4c5875 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentGroupRequest.cls @@ -0,0 +1,12 @@ +global class PaymentGroupRequest { + global Boolean createPaymentGroup; + global String currencyIsoCode; + global String id; + global String sourceObjectId; + global PaymentGroupRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentGroupResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentGroupResponse.cls new file mode 100644 index 0000000..89183bb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentGroupResponse.cls @@ -0,0 +1,12 @@ +global class PaymentGroupResponse { + global String currencyIsoCode; + global String id; + global String sourceObjectId; + global PaymentGroupResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentLineApplyRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentLineApplyRequest.cls new file mode 100644 index 0000000..89a5087 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentLineApplyRequest.cls @@ -0,0 +1,13 @@ +global class PaymentLineApplyRequest { + global Double amount; + global String appliedToId; + global String associatedAccountId; + global String comments; + global Datetime effectiveDate; + global PaymentLineApplyRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentLineApplyResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentLineApplyResponse.cls new file mode 100644 index 0000000..fe5ee86 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentLineApplyResponse.cls @@ -0,0 +1,11 @@ +global class PaymentLineApplyResponse { + global Datetime appliedDate; + global String id; + global PaymentLineApplyResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentLineUnapplyRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentLineUnapplyRequest.cls new file mode 100644 index 0000000..f81b63f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentLineUnapplyRequest.cls @@ -0,0 +1,10 @@ +global class PaymentLineUnapplyRequest { + global String comments; + global Datetime effectiveDate; + global PaymentLineUnapplyRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentLineUnapplyResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentLineUnapplyResponse.cls new file mode 100644 index 0000000..d36fc30 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentLineUnapplyResponse.cls @@ -0,0 +1,11 @@ +global class PaymentLineUnapplyResponse { + global String id; + global Datetime unappliedDate; + global PaymentLineUnapplyResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentMethodDetails.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentMethodDetails.cls new file mode 100644 index 0000000..4581e0b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentMethodDetails.cls @@ -0,0 +1,11 @@ +global class PaymentMethodDetails { + global ConnectApi.AlternativePaymentMethodOutput alternativePaymentMethod; + global ConnectApi.CardPaymentMethodOutput cardPaymentMethod; + global PaymentMethodDetails() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentMethodResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentMethodResponse.cls new file mode 100644 index 0000000..ee557da --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentMethodResponse.cls @@ -0,0 +1,13 @@ +global class PaymentMethodResponse { + global String accountId; + global String id; + global ConnectApi.PaymentMethodDetails paymentMethodDetails; + global String status; + global PaymentMethodResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentMethodTokenizationGatewayResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentMethodTokenizationGatewayResponse.cls new file mode 100644 index 0000000..58d1109 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentMethodTokenizationGatewayResponse.cls @@ -0,0 +1,10 @@ +global class PaymentMethodTokenizationGatewayResponse { + global String gatewayToken; + global PaymentMethodTokenizationGatewayResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentMethodTokenizationRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentMethodTokenizationRequest.cls new file mode 100644 index 0000000..698b9d6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentMethodTokenizationRequest.cls @@ -0,0 +1,11 @@ +global class PaymentMethodTokenizationRequest { + global ConnectApi.AddressRequest address; + global ConnectApi.CardPaymentMethodRequest cardPaymentMethod; + global String paymentGatewayId; + global PaymentMethodTokenizationRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentMethodTokenizationResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentMethodTokenizationResponse.cls new file mode 100644 index 0000000..b423f35 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentMethodTokenizationResponse.cls @@ -0,0 +1,13 @@ +global class PaymentMethodTokenizationResponse { + global ConnectApi.ErrorResponse error; + global ConnectApi.PaymentMethodTokenizationGatewayResponse gatewayResponse; + global List paymentGatewayLogs; + global ConnectApi.PaymentMethodResponse paymentMethod; + global PaymentMethodTokenizationResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentResponse.cls new file mode 100644 index 0000000..87eb4a8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentResponse.cls @@ -0,0 +1,17 @@ +global class PaymentResponse { + global String accountId; + global Double amount; + global String currencyIsoCode; + global Datetime effectiveDate; + global String id; + global String paymentNumber; + global Datetime requestDate; + global String status; + global PaymentResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Payments.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Payments.cls new file mode 100644 index 0000000..34fe3cc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Payments.cls @@ -0,0 +1,11 @@ +global class Payments { + global static ConnectApi.AuthorizationResponse authorize(ConnectApi.AuthorizationRequest authorizePayment) { } + global static ConnectApi.CaptureResponse capture(ConnectApi.CaptureRequest AuthCaptureInput, String authorizationId) { } + global Object clone() { } + global static ConnectApi.PostAuthorizationResponse postAuth(ConnectApi.PostAuthRequest postAuthorizePayment) { } + global static ConnectApi.ReferencedRefundResponse refund(ConnectApi.ReferencedRefundRequest ReferencedRefundInput, String paymentId) { } + global static ConnectApi.AuthorizationReversalResponse reverseAuthorization(ConnectApi.AuthorizationReversalRequest AuthReversalInput, String authorizationId) { } + global static ConnectApi.SaleResponse sale(ConnectApi.SaleRequest sale) { } + global static ConnectApi.PaymentMethodTokenizationResponse tokenizePaymentMethod(ConnectApi.PaymentMethodTokenizationRequest tokenizePaymentMethodInput) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentsBilling.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentsBilling.cls new file mode 100644 index 0000000..fb4e3de --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentsBilling.cls @@ -0,0 +1,8 @@ +global class PaymentsBilling { + global static ConnectApi.PaymentLineApplyResponse applyPaymentLine(ConnectApi.PaymentLineApplyRequest PaymentLineApplyInput, String paymentId) { } + global static ConnectApi.RefundLineApplyResponse applyRefundLine(ConnectApi.RefundLineApplyRequest RefundLineApplyInput, String refundId) { } + global Object clone() { } + global static ConnectApi.PaymentLineUnapplyResponse unapplyPaymentLine(ConnectApi.PaymentLineUnapplyRequest PaymentLineUnapplyInput, String paymentId, String paymentLineId) { } + global static ConnectApi.PaymentLineUnapplyResponse unapplyPaymentLine(ConnectApi.PaymentLineUnapplyRequest PaymentLineUnapplyInput, String paymentLineId) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentsIngestFamilyWrapper.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentsIngestFamilyWrapper.cls new file mode 100644 index 0000000..7e65419 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PaymentsIngestFamilyWrapper.cls @@ -0,0 +1,3 @@ +global class PaymentsIngestFamilyWrapper { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PercentRecordField.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PercentRecordField.cls new file mode 100644 index 0000000..ae89fb3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PercentRecordField.cls @@ -0,0 +1,10 @@ +global class PercentRecordField { + global Double value; + global PercentRecordField() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PeriodBoundaryEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PeriodBoundaryEnum.cls new file mode 100644 index 0000000..0c7bd1a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PeriodBoundaryEnum.cls @@ -0,0 +1,6 @@ +global enum PeriodBoundaryEnum { +ALIGNTOCALENDAR, +ANNIVERSARY, +DAYOFPERIOD, +LASTDAYOFPERIOD +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PeriodTypesEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PeriodTypesEnum.cls new file mode 100644 index 0000000..710ac55 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PeriodTypesEnum.cls @@ -0,0 +1,6 @@ +global enum PeriodTypesEnum { +MONTH, +QUARTER, +WEEK, +YEAR +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Personalization.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Personalization.cls new file mode 100644 index 0000000..b21326b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Personalization.cls @@ -0,0 +1,17 @@ +global class Personalization { + global Object clone() { } + global static ConnectApi.Audience createAudience(String communityId, ConnectApi.AudienceInput audience) { } + global static ConnectApi.TargetCollection createTargets(String communityId, ConnectApi.TargetCollectionInput target) { } + global static void deleteAudience(String communityId, String audienceId) { } + global static void deleteTarget(String communityId, String targetId) { } + global static ConnectApi.Audience getAudience(String communityId, String audienceId, Boolean includeAudienceCriteria) { } + global static List getAudienceBatch(String communityId, List audienceIds) { } + global static ConnectApi.AudienceCollection getAudiences(String communityId, String ipAddress, String domain, String userId, ConnectApi.PublishStatus publishStatus, Boolean includeAudienceCriteria, List targetTypes, String recordId) { } + global static ConnectApi.AudienceCollection getAudiences(String communityId, String ipAddress, String domain, String userId, ConnectApi.PublishStatus publishStatus, Boolean includeAudienceCriteria, List targetTypes) { } + global static ConnectApi.Target getTarget(String communityId, String targetId) { } + global static List getTargetBatch(String communityId, List targetIds) { } + global static ConnectApi.TargetCollection getTargets(String communityId, String ipAddress, String domain, String userId, ConnectApi.PublishStatus publishStatus, String recordId, List targetTypes, Boolean includeAudience, Boolean includeAllMatchingTargetsWithinGroup, List groupNames) { } + global static ConnectApi.Audience updateAudience(String communityId, String audienceId, ConnectApi.AudienceInput audience) { } + global static ConnectApi.TargetCollection updateTargets(String communityId, ConnectApi.TargetCollectionUpdateInput target) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PhoneNumber.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PhoneNumber.cls new file mode 100644 index 0000000..4cbee49 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PhoneNumber.cls @@ -0,0 +1,13 @@ +global class PhoneNumber { + global String label; + global String phoneNumber; + global String phoneType; + global String type; + global PhoneNumber() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Photo.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Photo.cls new file mode 100644 index 0000000..1abda89 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Photo.cls @@ -0,0 +1,16 @@ +global class Photo { + global String fullEmailPhotoUrl; + global String largePhotoUrl; + global String mediumPhotoUrl; + global String photoVersionId; + global String smallPhotoUrl; + global String standardEmailPhotoUrl; + global String url; + global Photo() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PhotoInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PhotoInput.cls new file mode 100644 index 0000000..5b468eb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PhotoInput.cls @@ -0,0 +1,13 @@ +global class PhotoInput { + global Integer cropSize; + global Integer cropX; + global Integer cropY; + global String fileId; + global Integer versionNumber; + global PhotoInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PickTicket.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PickTicket.cls new file mode 100644 index 0000000..188942e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PickTicket.cls @@ -0,0 +1,3 @@ +global class PickTicket { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PicklistRecordField.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PicklistRecordField.cls new file mode 100644 index 0000000..285d690 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PicklistRecordField.cls @@ -0,0 +1,9 @@ +global class PicklistRecordField { + global PicklistRecordField() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PinCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PinCapability.cls new file mode 100644 index 0000000..c4369ee --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PinCapability.cls @@ -0,0 +1,11 @@ +global class PinCapability { + global Boolean isPinnableByMe; + global Boolean isPinned; + global PinCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PinCapabilityInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PinCapabilityInput.cls new file mode 100644 index 0000000..b51e9ce --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PinCapabilityInput.cls @@ -0,0 +1,10 @@ +global class PinCapabilityInput { + global String entityId; + global Boolean isPinned; + global PinCapabilityInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PinnedFeedElements.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PinnedFeedElements.cls new file mode 100644 index 0000000..92dfb40 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PinnedFeedElements.cls @@ -0,0 +1,10 @@ +global class PinnedFeedElements { + global List elements; + global PinnedFeedElements() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PlaceQuoteErrorResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PlaceQuoteErrorResponse.cls new file mode 100644 index 0000000..a8705cd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PlaceQuoteErrorResponse.cls @@ -0,0 +1,12 @@ +global class PlaceQuoteErrorResponse { + global String errorCode; + global String message; + global String referenceId; + global PlaceQuoteErrorResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PlatformAction.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PlatformAction.cls new file mode 100644 index 0000000..ea09db2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PlatformAction.cls @@ -0,0 +1,23 @@ +global class PlatformAction { + global String actionUrl; + global String apiName; + global String confirmationMessage; + global ConnectApi.UserSummary executingUser; + global Boolean groupDefault; + global String iconUrl; + global String id; + global String label; + global Datetime modifiedDate; + global ConnectApi.Reference platformActionGroup; + global ConnectApi.PlatformActionStatus status; + global String subtype; + global ConnectApi.PlatformActionType type; + global String url; + global PlatformAction() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PlatformActionGroup.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PlatformActionGroup.cls new file mode 100644 index 0000000..50a9cdb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PlatformActionGroup.cls @@ -0,0 +1,14 @@ +global class PlatformActionGroup { + global ConnectApi.PlatformActionGroupCategory category; + global String id; + global Datetime modifiedDate; + global List platformActions; + global String url; + global PlatformActionGroup() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PlatformActionGroupCategory.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PlatformActionGroupCategory.cls new file mode 100644 index 0000000..0627a92 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PlatformActionGroupCategory.cls @@ -0,0 +1,4 @@ +global enum PlatformActionGroupCategory { +OVERFLOW, +PRIMARY +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PlatformActionStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PlatformActionStatus.cls new file mode 100644 index 0000000..ecc61ec --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PlatformActionStatus.cls @@ -0,0 +1,6 @@ +global enum PlatformActionStatus { +FAILEDSTATUS, +NEWSTATUS, +PENDINGSTATUS, +SUCCESSFULSTATUS +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PlatformActionType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PlatformActionType.cls new file mode 100644 index 0000000..cdf94c6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PlatformActionType.cls @@ -0,0 +1,7 @@ +global enum PlatformActionType { +ACTIONLINK, +CUSTOMBUTTON, +PRODUCTIVITYACTION, +QUICKACTION, +STANDARDBUTTON +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PointsChangeOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PointsChangeOutputRepresentation.cls new file mode 100644 index 0000000..354be89 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PointsChangeOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class PointsChangeOutputRepresentation { + global Double changeInPoints; + global String loyaltyMemberCurrency; + global PointsChangeOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PollAttachmentInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PollAttachmentInput.cls new file mode 100644 index 0000000..7c9fb7f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PollAttachmentInput.cls @@ -0,0 +1,9 @@ +global class PollAttachmentInput { + global List pollChoices; + global PollAttachmentInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PollCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PollCapability.cls new file mode 100644 index 0000000..31b4676 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PollCapability.cls @@ -0,0 +1,12 @@ +global class PollCapability { + global List choices; + global String myChoiceId; + global Integer totalVoteCount; + global PollCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PollCapabilityInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PollCapabilityInput.cls new file mode 100644 index 0000000..37f2335 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PollCapabilityInput.cls @@ -0,0 +1,10 @@ +global class PollCapabilityInput { + global List choices; + global String myChoiceId; + global PollCapabilityInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PostAuthApiPaymentMethodRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PostAuthApiPaymentMethodRequest.cls new file mode 100644 index 0000000..76b9cb2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PostAuthApiPaymentMethodRequest.cls @@ -0,0 +1,10 @@ +global class PostAuthApiPaymentMethodRequest { + global ConnectApi.AlternativePaymentMethod alternativePaymentMethod; + global ConnectApi.CardPaymentMethodRequest cardPaymentMethod; + global PostAuthApiPaymentMethodRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PostAuthGatewayResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PostAuthGatewayResponse.cls new file mode 100644 index 0000000..5305edf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PostAuthGatewayResponse.cls @@ -0,0 +1,11 @@ +global class PostAuthGatewayResponse { + global String gatewayAuthorizationCode; + global ConnectApi.PaymentMethodDetails paymentMethodDetails; + global PostAuthGatewayResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PostAuthRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PostAuthRequest.cls new file mode 100644 index 0000000..814c599 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PostAuthRequest.cls @@ -0,0 +1,16 @@ +global class PostAuthRequest { + global String accountId; + global Double amount; + global String comments; + global String currencyIsoCode; + global Datetime effectiveDate; + global String paymentGatewayId; + global ConnectApi.PaymentGroupRequest paymentGroup; + global ConnectApi.PostAuthApiPaymentMethodRequest paymentMethod; + global PostAuthRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PostAuthorizationResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PostAuthorizationResponse.cls new file mode 100644 index 0000000..f44ceab --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PostAuthorizationResponse.cls @@ -0,0 +1,15 @@ +global class PostAuthorizationResponse { + global ConnectApi.ErrorResponse error; + global ConnectApi.PostAuthGatewayResponse gatewayResponse; + global ConnectApi.PaymentAuthorizationResponse paymentAuthorization; + global List paymentGatewayLogs; + global ConnectApi.PaymentGroupResponse paymentGroup; + global ConnectApi.PaymentMethodResponse paymentMethod; + global PostAuthorizationResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PredictHistoryIntervalEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PredictHistoryIntervalEnum.cls new file mode 100644 index 0000000..0bec568 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PredictHistoryIntervalEnum.cls @@ -0,0 +1,4 @@ +global enum PredictHistoryIntervalEnum { +NONE, +WEEKLY +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Prediction.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Prediction.cls new file mode 100644 index 0000000..07fc9e9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Prediction.cls @@ -0,0 +1,14 @@ +global class Prediction { + global Double historyRefPointScore; + global List insights; + global List missingColumns; + global List outOfBoundsColumns; + global Double score; + global Prediction() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PredictionField.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PredictionField.cls new file mode 100644 index 0000000..c26a685 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PredictionField.cls @@ -0,0 +1,23 @@ +global class PredictionField { + global String definitionState; + global String entity; + global String field; + global List fieldClassificationSettings; + global String globalFilters; + global List includedFields; + global Boolean isActive; + global Boolean isEnabled; + global String modelDefinitionId; + global String modelId; + global String predictionDefinitionId; + global String predictionFieldId; + global String primaryDataDefinitionId; + global String trainingFilters; + global PredictionField() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PredictionObject.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PredictionObject.cls new file mode 100644 index 0000000..f74c1a7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PredictionObject.cls @@ -0,0 +1,13 @@ +global class PredictionObject { + global Map model; + global ConnectApi.Prediction prediction; + global String status; + global List suggestions; + global PredictionObject() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PredictionRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PredictionRequest.cls new file mode 100644 index 0000000..faa895c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PredictionRequest.cls @@ -0,0 +1,33 @@ +global class PredictionRequest { + global Boolean async; + global List columnNames; + global Boolean enableFeaturePersistence; + global Boolean enableInsightPersistence; + global Boolean enableScorePersistence; + global Boolean enableSuggestionPersistence; + global Boolean enrichModelClassification; + global Boolean enrichModelFeatures; + global Boolean enrichPredictionDefinition; + global Map featureColumnMap; + global List featureExtractionParameters; + global String featureExtractorDevName; + global String featureExtractorId; + global String historyReferencePoint; + global String inputType; + global Map insightColumnMap; + global Map insightsSettings; + global String predictionDefinition; + global List rawData; + global List records; + global String scorePersistenceColumn; + global String secondaryRecordIdPersistenceField; + global Map suggestionColumnMap; + global String usecaseDefinition; + global String usecaseDevName; + global PredictionRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PredictionResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PredictionResponse.cls new file mode 100644 index 0000000..9008c0f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PredictionResponse.cls @@ -0,0 +1,31 @@ +global class PredictionResponse { + global String batchDatasource; + global Double classificationThreshold; + global String classificationType; + global String executionModeWarning; + global String featureExtractor; + global String featureExtractorIdentifier; + global String featureExtractorType; + global String featureInputType; + global String inputType; + global Map insightsSettings; + global List modelFeatures; + global String outcomeGoal; + global String predictionDefinition; + global String predictionDefinitionLabel; + global String predictionPersistenceErrorMessage; + global String predictionPlatform; + global String predictionPurpose; + global List predictions; + global List primaryResponseObjRecordIds; + global String requestId; + global List secondaryResponseObjRecordIds; + global ConnectApi.Status status; + global PredictionResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PreviewBenefitSessionInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PreviewBenefitSessionInputRepresentation.cls new file mode 100644 index 0000000..38e7cc8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PreviewBenefitSessionInputRepresentation.cls @@ -0,0 +1,17 @@ +global class PreviewBenefitSessionInputRepresentation { + global String benefitScheduleName; + global Datetime firstSessionEndDate; + global Datetime firstSessionStartDate; + global String mode; + global Integer noOfSessions; + global Integer scheduleDays; + global Datetime scheduleEndDate; + global String scheduleFrequency; + global Integer totalRecurrencesCount; + global PreviewBenefitSessionInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PreviewBenefitSessionsOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PreviewBenefitSessionsOutputRepresentation.cls new file mode 100644 index 0000000..fe6a651 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PreviewBenefitSessionsOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class PreviewBenefitSessionsOutputRepresentation { + global List sessions; + global PreviewBenefitSessionsOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PreviewCancelOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PreviewCancelOutputRepresentation.cls new file mode 100644 index 0000000..988ad28 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PreviewCancelOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class PreviewCancelOutputRepresentation { + global ConnectApi.ChangeItemOutputRepresentation changeBalances; + global String orderSummaryId; + global PreviewCancelOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PreviewReturnOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PreviewReturnOutputRepresentation.cls new file mode 100644 index 0000000..3468f38 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PreviewReturnOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class PreviewReturnOutputRepresentation { + global ConnectApi.ChangeItemOutputRepresentation changeBalances; + global String orderSummaryId; + global PreviewReturnOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PriceAdjustmentSchedule.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PriceAdjustmentSchedule.cls new file mode 100644 index 0000000..eb7f71d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PriceAdjustmentSchedule.cls @@ -0,0 +1,11 @@ +global class PriceAdjustmentSchedule { + global String id; + global List priceAdjustmentTiers; + global PriceAdjustmentSchedule() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PriceAdjustmentTier.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PriceAdjustmentTier.cls new file mode 100644 index 0000000..e2c9dc5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PriceAdjustmentTier.cls @@ -0,0 +1,15 @@ +global class PriceAdjustmentTier { + global ConnectApi.PriceAdjustmentTierType adjustmentType; + global String adjustmentValue; + global String id; + global String lowerBound; + global String tierUnitPrice; + global String upperBound; + global PriceAdjustmentTier() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PriceAdjustmentTierType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PriceAdjustmentTierType.cls new file mode 100644 index 0000000..1df40c4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PriceAdjustmentTierType.cls @@ -0,0 +1,4 @@ +global enum PriceAdjustmentTierType { +AMOUNTBASEDADJUSTMENT, +PERCENTAGEBASEDADJUSTMENT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingAttributeNameValueTupleOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingAttributeNameValueTupleOutputRepresentation.cls new file mode 100644 index 0000000..22a15b2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingAttributeNameValueTupleOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class PricingAttributeNameValueTupleOutputRepresentation { + global String attributeName; + global Object attributeValue; + global PricingAttributeNameValueTupleOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingErrorResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingErrorResponse.cls new file mode 100644 index 0000000..8e3acca --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingErrorResponse.cls @@ -0,0 +1,11 @@ +global class PricingErrorResponse { + global String errorCode; + global String message; + global PricingErrorResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingInput.cls new file mode 100644 index 0000000..5e634f8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingInput.cls @@ -0,0 +1,9 @@ +global class PricingInput { + global List pricingLineItems; + global PricingInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingLineItemInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingLineItemInput.cls new file mode 100644 index 0000000..fa0a46c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingLineItemInput.cls @@ -0,0 +1,9 @@ +global class PricingLineItemInput { + global String productId; + global PricingLineItemInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingListOfWaterFallOutputResponseRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingListOfWaterFallOutputResponseRepresentation.cls new file mode 100644 index 0000000..2224fcd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingListOfWaterFallOutputResponseRepresentation.cls @@ -0,0 +1,11 @@ +global class PricingListOfWaterFallOutputResponseRepresentation { + global String uid; + global List waterFall; + global PricingListOfWaterFallOutputResponseRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingRecipeLookUpTableResponseRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingRecipeLookUpTableResponseRepresentation.cls new file mode 100644 index 0000000..3f0900d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingRecipeLookUpTableResponseRepresentation.cls @@ -0,0 +1,12 @@ +global class PricingRecipeLookUpTableResponseRepresentation { + global String id; + global Boolean isInternal; + global String pricingComponentType; + global PricingRecipeLookUpTableResponseRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingRecipeOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingRecipeOutputRepresentation.cls new file mode 100644 index 0000000..f1d15ff --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingRecipeOutputRepresentation.cls @@ -0,0 +1,19 @@ +global class PricingRecipeOutputRepresentation { + global Boolean active; + global String createdBy; + global Datetime createdOn; + global List decisionTables; + global String id; + global String name; + global String procedureCreatedBy; + global Datetime procedureCreatedOn; + global String procedureId; + global String procedureName; + global PricingRecipeOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingRecipePostOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingRecipePostOutputRepresentation.cls new file mode 100644 index 0000000..a766d02 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingRecipePostOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class PricingRecipePostOutputRepresentation { + global ConnectApi.PricingErrorResponse error; + global Boolean isSuccess; + global PricingRecipePostOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingRecipeResponseRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingRecipeResponseRepresentation.cls new file mode 100644 index 0000000..241f1cc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingRecipeResponseRepresentation.cls @@ -0,0 +1,11 @@ +global class PricingRecipeResponseRepresentation { + global List recipes; + global Boolean success; + global PricingRecipeResponseRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingResourceFamily.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingResourceFamily.cls new file mode 100644 index 0000000..71349d9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingResourceFamily.cls @@ -0,0 +1,3 @@ +global class PricingResourceFamily { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingResult.cls new file mode 100644 index 0000000..d3a259c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingResult.cls @@ -0,0 +1,13 @@ +global class PricingResult { + global String currencyIsoCode; + global ConnectApi.ErrorResponse error; + global List pricingLineItemResults; + global Boolean success; + global PricingResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingResultLineItem.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingResultLineItem.cls new file mode 100644 index 0000000..fa64d8f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingResultLineItem.cls @@ -0,0 +1,15 @@ +global class PricingResultLineItem { + global ConnectApi.ErrorResponse error; + global String listPrice; + global String pricebookEntryId; + global String productId; + global Boolean success; + global String unitPrice; + global PricingResultLineItem() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingTermUnit.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingTermUnit.cls new file mode 100644 index 0000000..a8f70ca --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingTermUnit.cls @@ -0,0 +1,4 @@ +global enum PricingTermUnit { +ANNUAL, +MONTHS +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingWaterFallMetaDataResponseRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingWaterFallMetaDataResponseRepresentation.cls new file mode 100644 index 0000000..4071723 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingWaterFallMetaDataResponseRepresentation.cls @@ -0,0 +1,12 @@ +global class PricingWaterFallMetaDataResponseRepresentation { + global Boolean aggregation; + global Boolean discount; + global String displayName; + global PricingWaterFallMetaDataResponseRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingWaterFallResponseRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingWaterFallResponseRepresentation.cls new file mode 100644 index 0000000..da81e42 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PricingWaterFallResponseRepresentation.cls @@ -0,0 +1,20 @@ +global class PricingWaterFallResponseRepresentation { + global List customOutputs; + global String discount; + global String discountType; + global String element; + global Double listAmount; + global ConnectApi.PricingWaterFallMetaDataResponseRepresentation metaData; + global Double netAmount; + global Integer stepNumber; + global Double totalListAmount; + global Double totalNetAmount; + global String uuid; + global PricingWaterFallResponseRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProcessDefinitionInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProcessDefinitionInput.cls new file mode 100644 index 0000000..6287b7f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProcessDefinitionInput.cls @@ -0,0 +1,10 @@ +global class ProcessDefinitionInput { + global String layoutType; + global List processDetail; + global ProcessDefinitionInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProcessDefinitionOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProcessDefinitionOutputRepresentation.cls new file mode 100644 index 0000000..ab44416 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProcessDefinitionOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class ProcessDefinitionOutputRepresentation { + global String layoutType; + global List processDetail; + global ProcessDefinitionOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProcessDetailInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProcessDetailInput.cls new file mode 100644 index 0000000..2d1f2b5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProcessDetailInput.cls @@ -0,0 +1,24 @@ +global class ProcessDetailInput { + global String apexClassName; + global String dataSourceType; + global String developerName; + global String displayRecordFieldName; + global Boolean isRetryAllowedAfterLimit; + global String label; + global String linkedVerificationProcessDetailName; + global Integer optionalVerifierCount; + global Integer retryLimit; + global String searchObjectName; + global String searchResultFilter; + global String searchResultSortOrder; + global String searchResultUniqueIdField; + global Integer searchSequenceNo; + global String searchType; + global List verificationProcessFieldList; + global ProcessDetailInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProcessDetailOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProcessDetailOutputRepresentation.cls new file mode 100644 index 0000000..93bc8e7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProcessDetailOutputRepresentation.cls @@ -0,0 +1,25 @@ +global class ProcessDetailOutputRepresentation { + global String apexClassName; + global String dataSourceType; + global String developerName; + global String displayRecordFieldName; + global Boolean isRetryAllowedAfterLimit; + global String label; + global String linkedVerificationProcessDetailName; + global Integer optionalVerifierCount; + global Integer retryLimit; + global String searchObjectName; + global String searchResultFilter; + global String searchResultSortOrder; + global String searchResultUniqueIdField; + global Integer searchSequenceNo; + global String searchType; + global ConnectApi.VerificationProcessFieldListOutputRepresentation verificationProcessFieldList; + global ProcessDetailOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProcessRuleConditionFilterCriteriaOperator.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProcessRuleConditionFilterCriteriaOperator.cls new file mode 100644 index 0000000..634b639 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProcessRuleConditionFilterCriteriaOperator.cls @@ -0,0 +1,4 @@ +global enum ProcessRuleConditionFilterCriteriaOperator { +NONQUALIFYING, +QUALIFYING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProcessRuleStepType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProcessRuleStepType.cls new file mode 100644 index 0000000..4c3dc42 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProcessRuleStepType.cls @@ -0,0 +1,6 @@ +global enum ProcessRuleStepType { +ACTION, +CONDITION, +CONDITIONGROUP, +DEFAULTPATH +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributeInfo.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributeInfo.cls new file mode 100644 index 0000000..70977d4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributeInfo.cls @@ -0,0 +1,16 @@ +global class ProductAttributeInfo { + global List allowableValues; + global String apiName; + global List availableValues; + global String fieldEnumOrId; + global String label; + global String objectName; + global Integer sequence; + global ProductAttributeInfo() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributeSelectionInfo.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributeSelectionInfo.cls new file mode 100644 index 0000000..d2f5f34 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributeSelectionInfo.cls @@ -0,0 +1,13 @@ +global class ProductAttributeSelectionInfo { + global String apiName; + global String label; + global Integer sequence; + global String value; + global ProductAttributeSelectionInfo() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributeSet.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributeSet.cls new file mode 100644 index 0000000..dd8ed13 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributeSet.cls @@ -0,0 +1,12 @@ +global class ProductAttributeSet { + global Map attributes; + global String developerName; + global String id; + global ProductAttributeSet() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributeSetInfo.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributeSetInfo.cls new file mode 100644 index 0000000..40f46c5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributeSetInfo.cls @@ -0,0 +1,15 @@ +global class ProductAttributeSetInfo { + global Map attributeInfo; + global String description; + global String developerName; + global String id; + global String masterLabel; + global Integer sequence; + global ProductAttributeSetInfo() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributeSetSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributeSetSummary.cls new file mode 100644 index 0000000..f0ea99e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributeSetSummary.cls @@ -0,0 +1,12 @@ +global class ProductAttributeSetSummary { + global String apiName; + global List attributes; + global String label; + global ProductAttributeSetSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributeSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributeSummary.cls new file mode 100644 index 0000000..cb3c617 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributeSummary.cls @@ -0,0 +1,13 @@ +global class ProductAttributeSummary { + global String apiName; + global String label; + global Integer sequence; + global String value; + global ProductAttributeSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributesToProductEntry.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributesToProductEntry.cls new file mode 100644 index 0000000..649db36 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductAttributesToProductEntry.cls @@ -0,0 +1,12 @@ +global class ProductAttributesToProductEntry { + global String canonicalKey; + global String productId; + global List selectedAttributes; + global ProductAttributesToProductEntry() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCategoryData.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCategoryData.cls new file mode 100644 index 0000000..343d6b2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCategoryData.cls @@ -0,0 +1,12 @@ +global class ProductCategoryData { + global String description; + global String id; + global String name; + global ProductCategoryData() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCategoryDetail.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCategoryDetail.cls new file mode 100644 index 0000000..5aa3036 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCategoryDetail.cls @@ -0,0 +1,14 @@ +global class ProductCategoryDetail { + global ConnectApi.ProductCategoryMedia bannerImage; + global Map fields; + global String id; + global List mediaGroups; + global ConnectApi.ProductCategoryMedia tileImage; + global ProductCategoryDetail() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCategoryDetailCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCategoryDetailCollection.cls new file mode 100644 index 0000000..9ba9ba1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCategoryDetailCollection.cls @@ -0,0 +1,10 @@ +global class ProductCategoryDetailCollection { + global List productCategories; + global ProductCategoryDetailCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCategoryMedia.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCategoryMedia.cls new file mode 100644 index 0000000..5aaadf3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCategoryMedia.cls @@ -0,0 +1,17 @@ +global class ProductCategoryMedia { + global String alternateText; + global String contentVersionId; + global String id; + global ConnectApi.ProductMediaType mediaType; + global Integer sortOrder; + global String thumbnailUrl; + global String title; + global String url; + global ProductCategoryMedia() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCategoryMediaGroup.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCategoryMediaGroup.cls new file mode 100644 index 0000000..4894145 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCategoryMediaGroup.cls @@ -0,0 +1,14 @@ +global class ProductCategoryMediaGroup { + global String developerName; + global String id; + global List mediaItems; + global String name; + global ConnectApi.ProductMediaUsageType usageType; + global ProductCategoryMediaGroup() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCategoryPath.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCategoryPath.cls new file mode 100644 index 0000000..d9c1ba1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCategoryPath.cls @@ -0,0 +1,10 @@ +global class ProductCategoryPath { + global List path; + global ProductCategoryPath() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCheckAvailabilityInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCheckAvailabilityInputRepresentation.cls new file mode 100644 index 0000000..fd089e9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductCheckAvailabilityInputRepresentation.cls @@ -0,0 +1,10 @@ +global class ProductCheckAvailabilityInputRepresentation { + global String product2Id; + global Double quantity; + global ProductCheckAvailabilityInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductChild.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductChild.cls new file mode 100644 index 0000000..55aeae4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductChild.cls @@ -0,0 +1,11 @@ +global class ProductChild { + global String defaultQuantity; + global ConnectApi.ProductDetail productInfo; + global ProductChild() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductChildCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductChildCollection.cls new file mode 100644 index 0000000..3b853ce --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductChildCollection.cls @@ -0,0 +1,18 @@ +global class ProductChildCollection { + global Integer count; + global String currentPageToken; + global String currentPageUrl; + global List items; + global String nextPageToken; + global String nextPageUrl; + global String previousPageToken; + global String previousPageUrl; + global Integer total; + global ProductChildCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductClass.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductClass.cls new file mode 100644 index 0000000..9276bf5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductClass.cls @@ -0,0 +1,7 @@ +global enum ProductClass { +BUNDLE, +SET, +SIMPLE, +VARIATION, +VARIATIONPARENT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductDetail.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductDetail.cls new file mode 100644 index 0000000..ebaaacb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductDetail.cls @@ -0,0 +1,22 @@ +global class ProductDetail { + global Map attributeSetInfo; + global ConnectApi.ProductMedia defaultImage; + global ConnectApi.ProductEntitlement entitlement; + global Map fields; + global String id; + global List mediaGroups; + global ConnectApi.ProductCategoryPath primaryProductCategoryPath; + global ConnectApi.ProductClass productClass; + global List productSellingModels; + global ConnectApi.PurchaseQuantityRule purchaseQuantityRule; + global ConnectApi.ProductAttributeSet variationAttributeSet; + global ConnectApi.ProductVariationInfo variationInfo; + global String variationParentId; + global ProductDetail() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductDetailsOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductDetailsOutputRepresentation.cls new file mode 100644 index 0000000..9eaf6da --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductDetailsOutputRepresentation.cls @@ -0,0 +1,21 @@ +global class ProductDetailsOutputRepresentation { + global List attributes; + global String currencyIsoCode; + global String description; + global Map fields; + global List imageGroups; + global Double listPrice; + global String name; + global String productId; + global ConnectApi.ProductQuantityRuleOutputRepresentation productQuantityRule; + global String stockKeepingUnit; + global Double unitPrice; + global List variants; + global ProductDetailsOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductEntitlement.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductEntitlement.cls new file mode 100644 index 0000000..fcee8e9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductEntitlement.cls @@ -0,0 +1,10 @@ +global class ProductEntitlement { + global Boolean canViewPrice; + global ProductEntitlement() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductFileFormat.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductFileFormat.cls new file mode 100644 index 0000000..916f4be --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductFileFormat.cls @@ -0,0 +1,5 @@ +global enum ProductFileFormat { +DOCUMENT, +PDF, +SPREADSHEET +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductImageGroupOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductImageGroupOutputRepresentation.cls new file mode 100644 index 0000000..904479f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductImageGroupOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class ProductImageGroupOutputRepresentation { + global List images; + global String viewType; + global ProductImageGroupOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductImageOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductImageOutputRepresentation.cls new file mode 100644 index 0000000..0970899 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductImageOutputRepresentation.cls @@ -0,0 +1,14 @@ +global class ProductImageOutputRepresentation { + global String alternateText; + global String mediaType; + global String thumbnailUrl; + global String title; + global String url; + global ProductImageOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductImageViewType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductImageViewType.cls new file mode 100644 index 0000000..c66901b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductImageViewType.cls @@ -0,0 +1,6 @@ +global enum ProductImageViewType { +LARGE, +MEDIUM, +SMALL, +SWATCH +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductInventory.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductInventory.cls new file mode 100644 index 0000000..392b0de --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductInventory.cls @@ -0,0 +1,14 @@ +global class ProductInventory { + global String availableToFulfill; + global String availableToOrder; + global String onHand; + global String reserved; + global String safetyStockCount; + global ProductInventory() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductInventoryPricing.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductInventoryPricing.cls new file mode 100644 index 0000000..faa828d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductInventoryPricing.cls @@ -0,0 +1,13 @@ +global class ProductInventoryPricing { + global String id; + global ConnectApi.ProductInventory productInventory; + global ConnectApi.ProductPrice productPrice; + global String stockKeepingUnit; + global ProductInventoryPricing() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductMedia.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductMedia.cls new file mode 100644 index 0000000..13f8b59 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductMedia.cls @@ -0,0 +1,17 @@ +global class ProductMedia { + global String alternateText; + global String contentVersionId; + global String id; + global ConnectApi.ProductMediaType mediaType; + global Integer sortOrder; + global String thumbnailUrl; + global String title; + global String url; + global ProductMedia() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductMediaGroup.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductMediaGroup.cls new file mode 100644 index 0000000..191eff5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductMediaGroup.cls @@ -0,0 +1,14 @@ +global class ProductMediaGroup { + global String developerName; + global String id; + global List mediaItems; + global String name; + global ConnectApi.ProductMediaUsageType usageType; + global ProductMediaGroup() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductMediaType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductMediaType.cls new file mode 100644 index 0000000..f1d5b49 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductMediaType.cls @@ -0,0 +1,5 @@ +global enum ProductMediaType { +DOCUMENT, +IMAGE, +VIDEO +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductMediaUsageType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductMediaUsageType.cls new file mode 100644 index 0000000..f246ccf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductMediaUsageType.cls @@ -0,0 +1,7 @@ +global enum ProductMediaUsageType { +ATTACHMENT, +BANNER, +LISTING, +STANDARD, +TILE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductOverview.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductOverview.cls new file mode 100644 index 0000000..2d59e6b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductOverview.cls @@ -0,0 +1,16 @@ +global class ProductOverview { + global ConnectApi.ProductMedia defaultImage; + global ConnectApi.ErrorResponse error; + global Map fields; + global String id; + global ConnectApi.PricingResultLineItem prices; + global String sku; + global Boolean success; + global ProductOverview() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductOverviewCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductOverviewCollection.cls new file mode 100644 index 0000000..2639154 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductOverviewCollection.cls @@ -0,0 +1,11 @@ +global class ProductOverviewCollection { + global List products; + global Integer total; + global ProductOverviewCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductPrice.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductPrice.cls new file mode 100644 index 0000000..2a3a1e0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductPrice.cls @@ -0,0 +1,15 @@ +global class ProductPrice { + global String currencyIsoCode; + global String listPrice; + global ConnectApi.PriceAdjustmentSchedule priceAdjustment; + global String pricebookEntryId; + global List productPriceEntries; + global String unitPrice; + global ProductPrice() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductPriceEntry.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductPriceEntry.cls new file mode 100644 index 0000000..93f3d1d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductPriceEntry.cls @@ -0,0 +1,16 @@ +global class ProductPriceEntry { + global ConnectApi.ErrorResponse error; + global String listPrice; + global ConnectApi.PriceAdjustmentSchedule priceAdjustment; + global String pricebookEntryId; + global String productSellingModelId; + global Boolean success; + global String unitPrice; + global ProductPriceEntry() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductQuantityRuleOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductQuantityRuleOutputRepresentation.cls new file mode 100644 index 0000000..c265d41 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductQuantityRuleOutputRepresentation.cls @@ -0,0 +1,12 @@ +global class ProductQuantityRuleOutputRepresentation { + global String increment; + global String maximum; + global String minimum; + global ProductQuantityRuleOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSchemaType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSchemaType.cls new file mode 100644 index 0000000..24db113 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSchemaType.cls @@ -0,0 +1,5 @@ +global enum ProductSchemaType { +ATTRIBUTE, +CUSTOM, +STANDARD +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductScope.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductScope.cls new file mode 100644 index 0000000..ae89636 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductScope.cls @@ -0,0 +1,4 @@ +global enum ProductScope { +DETAIL, +SUMMARY +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSearchGroupingInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSearchGroupingInput.cls new file mode 100644 index 0000000..bcf9c01 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSearchGroupingInput.cls @@ -0,0 +1,10 @@ +global class ProductSearchGroupingInput { + global ConnectApi.CommerceSearchGroupingOption groupingOption; + global ConnectApi.CommerceSearchTopProductType topProductType; + global ProductSearchGroupingInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSearchInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSearchInput.cls new file mode 100644 index 0000000..5bde2bc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSearchInput.cls @@ -0,0 +1,18 @@ +global class ProductSearchInput { + global String categoryId; + global List fields; + global ConnectApi.ProductSearchGroupingInput grouping; + global Boolean includePrices; + global Boolean includeQuantityRule; + global Integer page; + global Integer pageSize; + global List refinements; + global String searchTerm; + global String sortRuleId; + global ProductSearchInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSearchResults.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSearchResults.cls new file mode 100644 index 0000000..83b01c4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSearchResults.cls @@ -0,0 +1,14 @@ +global class ProductSearchResults { + global ConnectApi.SearchCategory categories; + global String correlationId; + global List facets; + global String locale; + global ConnectApi.ProductSummaryPage productsPage; + global ProductSearchResults() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSearchSuggestionsResults.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSearchSuggestionsResults.cls new file mode 100644 index 0000000..fc05762 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSearchSuggestionsResults.cls @@ -0,0 +1,10 @@ +global class ProductSearchSuggestionsResults { + global List recentSearchSuggestions; + global ProductSearchSuggestionsResults() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSellingModel.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSellingModel.cls new file mode 100644 index 0000000..6801d02 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSellingModel.cls @@ -0,0 +1,14 @@ +global class ProductSellingModel { + global String id; + global String name; + global Integer pricingTerm; + global ConnectApi.PricingTermUnit pricingTermUnit; + global ConnectApi.SellingModelType sellingModelType; + global ProductSellingModel() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSummary.cls new file mode 100644 index 0000000..5948187 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSummary.cls @@ -0,0 +1,17 @@ +global class ProductSummary { + global ConnectApi.ProductMedia defaultImage; + global Map fields; + global String id; + global String name; + global ConnectApi.PricingResultLineItem prices; + global ConnectApi.ProductClass productClass; + global ConnectApi.PurchaseQuantityRule purchaseQuantityRule; + global ConnectApi.ProductAttributeSetSummary variationAttributeSet; + global ProductSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSummaryPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSummaryPage.cls new file mode 100644 index 0000000..aa7b3db --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductSummaryPage.cls @@ -0,0 +1,13 @@ +global class ProductSummaryPage { + global String currencyIsoCode; + global Integer pageSize; + global List products; + global Long total; + global ProductSummaryPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductTransferStatusEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductTransferStatusEnum.cls new file mode 100644 index 0000000..7efe820 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductTransferStatusEnum.cls @@ -0,0 +1,4 @@ +global enum ProductTransferStatusEnum { +COMPLETED, +FAILED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductVariantOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductVariantOutputRepresentation.cls new file mode 100644 index 0000000..02d34ba --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductVariantOutputRepresentation.cls @@ -0,0 +1,15 @@ +global class ProductVariantOutputRepresentation { + global Double listPrice; + global Double price; + global String productId; + global String stockKeepingUnit; + global Double unitPrice; + global Map variationValues; + global ProductVariantOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductVariationAttributeOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductVariationAttributeOutputRepresentation.cls new file mode 100644 index 0000000..d824ef4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductVariationAttributeOutputRepresentation.cls @@ -0,0 +1,12 @@ +global class ProductVariationAttributeOutputRepresentation { + global String apiName; + global String label; + global List variationAttributeValues; + global ProductVariationAttributeOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductVariationAttributeValueOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductVariationAttributeValueOutputRepresentation.cls new file mode 100644 index 0000000..e298886 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductVariationAttributeValueOutputRepresentation.cls @@ -0,0 +1,12 @@ +global class ProductVariationAttributeValueOutputRepresentation { + global String name; + global Boolean orderable; + global String value; + global ProductVariationAttributeValueOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductVariationInfo.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductVariationInfo.cls new file mode 100644 index 0000000..0d75d14 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProductVariationInfo.cls @@ -0,0 +1,11 @@ +global class ProductVariationInfo { + global List attributesToProductMappings; + global Map variationAttributeInfo; + global ProductVariationInfo() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramApplicationFileInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramApplicationFileInputRepresentation.cls new file mode 100644 index 0000000..6c3972a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramApplicationFileInputRepresentation.cls @@ -0,0 +1,9 @@ +global class ProgramApplicationFileInputRepresentation { + global String contentDocumentId; + global ProgramApplicationFileInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramApplicationItemInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramApplicationItemInputRepresentation.cls new file mode 100644 index 0000000..6cf240b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramApplicationItemInputRepresentation.cls @@ -0,0 +1,10 @@ +global class ProgramApplicationItemInputRepresentation { + global String programProductId; + global String status; + global ProgramApplicationItemInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramApplicationOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramApplicationOutputRepresentation.cls new file mode 100644 index 0000000..77ee5b1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramApplicationOutputRepresentation.cls @@ -0,0 +1,12 @@ +global class ProgramApplicationOutputRepresentation { + global String applicationId; + global String message; + global Boolean success; + global ProgramApplicationOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramEnrollmentsDTO.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramEnrollmentsDTO.cls new file mode 100644 index 0000000..519ba19 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramEnrollmentsDTO.cls @@ -0,0 +1,13 @@ +global class ProgramEnrollmentsDTO { + global Datetime applicationDate; + global Datetime endDate; + global String id; + global Datetime startDate; + global String status; + global ProgramEnrollmentsDTO() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramEnrollmentsInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramEnrollmentsInputRepresentation.cls new file mode 100644 index 0000000..9a6dbbf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramEnrollmentsInputRepresentation.cls @@ -0,0 +1,9 @@ +global class ProgramEnrollmentsInputRepresentation { + global List enrollees; + global ProgramEnrollmentsInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramEnrollmentsOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramEnrollmentsOutputRepresentation.cls new file mode 100644 index 0000000..0e15ab0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramEnrollmentsOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class ProgramEnrollmentsOutputRepresentation { + global String message; + global Boolean success; + global ProgramEnrollmentsOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramManagement.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramManagement.cls new file mode 100644 index 0000000..4d5d290 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramManagement.cls @@ -0,0 +1,3 @@ +global class ProgramManagement { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramRebateTypes.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramRebateTypes.cls new file mode 100644 index 0000000..9e3fe00 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProgramRebateTypes.cls @@ -0,0 +1,12 @@ +global class ProgramRebateTypes { + global List appliedRebateTypes; + global List eligibleRebateTypes; + global String referenceObjectId; + global ProgramRebateTypes() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Programapplicationinputrepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Programapplicationinputrepresentation.cls new file mode 100644 index 0000000..2a70b9c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Programapplicationinputrepresentation.cls @@ -0,0 +1,3 @@ +global class Programapplicationinputrepresentation { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProjectedRebateAmountCalc.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProjectedRebateAmountCalc.cls new file mode 100644 index 0000000..c4da0d9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProjectedRebateAmountCalc.cls @@ -0,0 +1,14 @@ +global class ProjectedRebateAmountCalc { + global List detailedProjectedRebateAmountCalc; + global String error; + global String programRebateTypeId; + global String referenceRecordId; + global Double totalProjectedRebateAmount; + global ProjectedRebateAmountCalc() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionAdjustmentTargetType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionAdjustmentTargetType.cls new file mode 100644 index 0000000..aca381c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionAdjustmentTargetType.cls @@ -0,0 +1,4 @@ +global enum PromotionAdjustmentTargetType { +CART, +ITEM +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionBonusProduct.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionBonusProduct.cls new file mode 100644 index 0000000..875d7ab --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionBonusProduct.cls @@ -0,0 +1,13 @@ +global class PromotionBonusProduct { + global String adjustmentBasisReference; + global String bonusProductId; + global String causeId; + global List qualifyingItems; + global PromotionBonusProduct() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCart.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCart.cls new file mode 100644 index 0000000..621fc56 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCart.cls @@ -0,0 +1,17 @@ +global class PromotionCart { + global List bonusProducts; + global List cartAdjustmentGroups; + global List cartItems; + global String currencyIsoCode; + global String id; + global String totalAdjustmentBaseAmount; + global String totalNetAmount; + global String totalProductBaseAmount; + global PromotionCart() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartAdjustmentGroup.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartAdjustmentGroup.cls new file mode 100644 index 0000000..1d53e43 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartAdjustmentGroup.cls @@ -0,0 +1,18 @@ +global class PromotionCartAdjustmentGroup { + global String adjustmentBasisReference; + global String adjustmentDescription; + global ConnectApi.AdjustmentType adjustmentType; + global String adjustmentValue; + global String baseAmount; + global String cartId; + global String id; + global String priceAdjustmentCauseId; + global Integer priority; + global PromotionCartAdjustmentGroup() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartDeliveryGroupInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartDeliveryGroupInput.cls new file mode 100644 index 0000000..47ba28a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartDeliveryGroupInput.cls @@ -0,0 +1,10 @@ +global class PromotionCartDeliveryGroupInput { + global String cartDeliveryGroupId; + global String deliveryMethodId; + global PromotionCartDeliveryGroupInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartInput.cls new file mode 100644 index 0000000..b8684ba --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartInput.cls @@ -0,0 +1,11 @@ +global class PromotionCartInput { + global List cartItems; + global String currencyIsoCode; + global String id; + global PromotionCartInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartItem.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartItem.cls new file mode 100644 index 0000000..e90b138 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartItem.cls @@ -0,0 +1,25 @@ +global class PromotionCartItem { + global String cartDeliveryGroupId; + global String cartId; + global List cartItemPriceAdjustments; + global String id; + global String itemDescription; + global String itemName; + global String listPrice; + global String product2Id; + global String quantity; + global String salesPrice; + global String sku; + global String totalAdjustmentBaseAmount; + global String totalLineBaseAmount; + global String totalListBaseAmount; + global String totalNetAmount; + global ConnectApi.CartItemType type; + global PromotionCartItem() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartItemInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartItemInput.cls new file mode 100644 index 0000000..5034ea0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartItemInput.cls @@ -0,0 +1,21 @@ +global class PromotionCartItemInput { + global String cartDeliveryGroupId; + global String cartId; + global String id; + global String itemDescription; + global String itemName; + global String listPrice; + global String product2Id; + global String quantity; + global String salesPrice; + global String sku; + global String totalLineBaseAmount; + global String totalListBaseAmount; + global ConnectApi.CartItemType type; + global PromotionCartItemInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartItemKey.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartItemKey.cls new file mode 100644 index 0000000..274f4c0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartItemKey.cls @@ -0,0 +1,11 @@ +global class PromotionCartItemKey { + global String cartItemId; + global String cartItemQuantityIdentifier; + global PromotionCartItemKey() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartItemPriceAdjustment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartItemPriceAdjustment.cls new file mode 100644 index 0000000..f201715 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCartItemPriceAdjustment.cls @@ -0,0 +1,21 @@ +global class PromotionCartItemPriceAdjustment { + global ConnectApi.AdjustmentAmountScope adjustmentAmountScope; + global String adjustmentBasisReference; + global String adjustmentDescription; + global ConnectApi.PromotionAdjustmentTargetType adjustmentTargetType; + global ConnectApi.AdjustmentType adjustmentType; + global String adjustmentValue; + global String baseAmount; + global String cartAdjustmentGroupId; + global String cartItemId; + global String id; + global String priceAdjustmentCauseId; + global Integer priority; + global PromotionCartItemPriceAdjustment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCoupon.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCoupon.cls new file mode 100644 index 0000000..7a5d3ae --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionCoupon.cls @@ -0,0 +1,13 @@ +global class PromotionCoupon { + global String couponCode; + global String couponErrorCode; + global String id; + global Boolean isValidCoupon; + global PromotionCoupon() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionEvaluateInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionEvaluateInput.cls new file mode 100644 index 0000000..7ab47e1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionEvaluateInput.cls @@ -0,0 +1,17 @@ +global class PromotionEvaluateInput { + global ConnectApi.PromotionCartInput cart; + global List cartDeliveryGroups; + global List couponCodes; + global String effectiveAccountId; + global Boolean isItemizeHeaderAdjustments; + global List parentProducts; + global List productCategories; + global List segments; + global String webStoreId; + global PromotionEvaluateInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionEvaluation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionEvaluation.cls new file mode 100644 index 0000000..486f8a8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionEvaluation.cls @@ -0,0 +1,11 @@ +global class PromotionEvaluation { + global ConnectApi.PromotionCart cart; + global List coupons; + global PromotionEvaluation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionParentProductsInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionParentProductsInput.cls new file mode 100644 index 0000000..25ea0e8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionParentProductsInput.cls @@ -0,0 +1,10 @@ +global class PromotionParentProductsInput { + global String childProductId; + global String parentProductId; + global PromotionParentProductsInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionProductCategoriesInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionProductCategoriesInput.cls new file mode 100644 index 0000000..4a37e5e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PromotionProductCategoriesInput.cls @@ -0,0 +1,10 @@ +global class PromotionProductCategoriesInput { + global String categoryId; + global String productId; + global PromotionProductCategoriesInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProviderOutputCollectionRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProviderOutputCollectionRepresentation.cls new file mode 100644 index 0000000..208310e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProviderOutputCollectionRepresentation.cls @@ -0,0 +1,11 @@ +global class ProviderOutputCollectionRepresentation { + global Integer count; + global List items; + global ProviderOutputCollectionRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProviderOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProviderOutputRepresentation.cls new file mode 100644 index 0000000..fcbd697 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProviderOutputRepresentation.cls @@ -0,0 +1,14 @@ +global class ProviderOutputRepresentation { + global ConnectApi.ApexClassOutputRepresentation apexClass; + global List effectiveMappings; + global String epn; + global String name; + global String type; + global ProviderOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProvidersError.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProvidersError.cls new file mode 100644 index 0000000..26f5809 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProvidersError.cls @@ -0,0 +1,11 @@ +global class ProvidersError { + global String code; + global List messages; + global ProvidersError() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProvidersInputResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProvidersInputResult.cls new file mode 100644 index 0000000..eec7b74 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProvidersInputResult.cls @@ -0,0 +1,11 @@ +global class ProvidersInputResult { + global List detail; + global ConnectApi.ProvidersError error; + global ProvidersInputResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProvidersInputResultDetail.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProvidersInputResultDetail.cls new file mode 100644 index 0000000..f0ad50d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ProvidersInputResultDetail.cls @@ -0,0 +1,11 @@ +global class ProvidersInputResultDetail { + global ConnectApi.ProvidersError error; + global String providerId; + global ProvidersInputResultDetail() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PublishSchedule.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PublishSchedule.cls new file mode 100644 index 0000000..3502267 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PublishSchedule.cls @@ -0,0 +1,9 @@ +global enum PublishSchedule { +FOUR, +NOREFRESH, +ONE, +SIX, +TWELVE, +TWENTYFOUR, +TWO +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PublishStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PublishStatus.cls new file mode 100644 index 0000000..50b5868 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PublishStatus.cls @@ -0,0 +1,4 @@ +global enum PublishStatus { +DRAFT, +LIVE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PurchaseQuantityRule.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PurchaseQuantityRule.cls new file mode 100644 index 0000000..4485b12 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/PurchaseQuantityRule.cls @@ -0,0 +1,12 @@ +global class PurchaseQuantityRule { + global String increment; + global String maximum; + global String minimum; + global PurchaseQuantityRule() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QuantityWithSkuInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QuantityWithSkuInputRepresentation.cls new file mode 100644 index 0000000..8e381df --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QuantityWithSkuInputRepresentation.cls @@ -0,0 +1,10 @@ +global class QuantityWithSkuInputRepresentation { + global Double quantity; + global String stockKeepingUnit; + global QuantityWithSkuInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QueryLanguage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QueryLanguage.cls new file mode 100644 index 0000000..7077d0c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QueryLanguage.cls @@ -0,0 +1,4 @@ +global enum QueryLanguage { +SAQL, +SQL +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionAndAnswers.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionAndAnswers.cls new file mode 100644 index 0000000..bd7b774 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionAndAnswers.cls @@ -0,0 +1,7 @@ +global class QuestionAndAnswers { + global Object clone() { } + global static ConnectApi.QuestionAndAnswersSuggestions getSuggestions(String communityId, String q, String subjectId, Boolean includeArticles, Integer maxResults) { } + global static void setTestGetSuggestions(String communityId, String q, String subjectId, Boolean includeArticles, Integer maxResults, ConnectApi.QuestionAndAnswersSuggestions result) { } + global static ConnectApi.QuestionAndAnswersCapability updateQuestionAndAnswers(String communityId, String feedElementId, ConnectApi.QuestionAndAnswersCapabilityInput questionAndAnswersCapability) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionAndAnswersCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionAndAnswersCapability.cls new file mode 100644 index 0000000..65db6d5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionAndAnswersCapability.cls @@ -0,0 +1,15 @@ +global class QuestionAndAnswersCapability { + global ConnectApi.Comment bestAnswer; + global ConnectApi.UserSummary bestAnswerSelectedBy; + global Boolean canCurrentUserSelectOrRemoveBestAnswer; + global ConnectApi.CandidateAnswersStatus candidateAnswers; + global ConnectApi.Reference escalatedCase; + global String questionTitle; + global QuestionAndAnswersCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionAndAnswersCapabilityInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionAndAnswersCapabilityInput.cls new file mode 100644 index 0000000..10e8c9b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionAndAnswersCapabilityInput.cls @@ -0,0 +1,10 @@ +global class QuestionAndAnswersCapabilityInput { + global String bestAnswerId; + global String questionTitle; + global QuestionAndAnswersCapabilityInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionAndAnswersSuggestions.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionAndAnswersSuggestions.cls new file mode 100644 index 0000000..24551bc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionAndAnswersSuggestions.cls @@ -0,0 +1,11 @@ +global class QuestionAndAnswersSuggestions { + global List articles; + global List questions; + global QuestionAndAnswersSuggestions() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionAttachment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionAttachment.cls new file mode 100644 index 0000000..654cf80 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionAttachment.cls @@ -0,0 +1,13 @@ +global class QuestionAttachment { + global ConnectApi.Comment bestAnswer; + global ConnectApi.UserSummary bestAnswerSelectedBy; + global Boolean canCurrentUserSelectOrRemoveBestAnswer; + global String questionTitle; + global QuestionAttachment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionAttachmentInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionAttachmentInput.cls new file mode 100644 index 0000000..50289e7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionAttachmentInput.cls @@ -0,0 +1,9 @@ +global class QuestionAttachmentInput { + global String questionTitle; + global QuestionAttachmentInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionContextType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionContextType.cls new file mode 100644 index 0000000..74cb494 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QuestionContextType.cls @@ -0,0 +1,3 @@ +global enum QuestionContextType { +CASE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QuickTextContext.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QuickTextContext.cls new file mode 100644 index 0000000..f455946 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/QuickTextContext.cls @@ -0,0 +1,4 @@ +global enum QuickTextContext { +PREVIEW, +RUNTIME +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RankAverageDistanceInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RankAverageDistanceInputRepresentation.cls new file mode 100644 index 0000000..af966be --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RankAverageDistanceInputRepresentation.cls @@ -0,0 +1,13 @@ +global class RankAverageDistanceInputRepresentation { + global String deliveryCountryCode; + global String deliveryPostalCode; + global String distanceUnit; + global String sortResult; + global List targetLocations; + global RankAverageDistanceInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RankAverageDistanceOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RankAverageDistanceOutputRepresentation.cls new file mode 100644 index 0000000..c389d75 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RankAverageDistanceOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class RankAverageDistanceOutputRepresentation { + global String distanceUnit; + global List results; + global RankAverageDistanceOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RateLimitException.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RateLimitException.cls new file mode 100644 index 0000000..a7194be --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RateLimitException.cls @@ -0,0 +1,6 @@ +global class RateLimitException extends Exception { + global Object clone() { } + global String getErrorCode() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RawDataInputWrap.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RawDataInputWrap.cls new file mode 100644 index 0000000..a9b569b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RawDataInputWrap.cls @@ -0,0 +1,9 @@ +global class RawDataInputWrap { + global List rawDataInputWrap; + global RawDataInputWrap() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReadBy.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReadBy.cls new file mode 100644 index 0000000..63fb979 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReadBy.cls @@ -0,0 +1,11 @@ +global class ReadBy { + global Datetime lastReadDateByUser; + global ConnectApi.UserSummary user; + global ReadBy() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReadByCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReadByCapability.cls new file mode 100644 index 0000000..67a4550 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReadByCapability.cls @@ -0,0 +1,12 @@ +global class ReadByCapability { + global Boolean isReadByMe; + global Datetime lastReadDateByMe; + global ConnectApi.ReadByPage page; + global ReadByCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReadByCapabilityInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReadByCapabilityInput.cls new file mode 100644 index 0000000..36eac00 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReadByCapabilityInput.cls @@ -0,0 +1,10 @@ +global class ReadByCapabilityInput { + global Boolean isReadByMe; + global Datetime lastReadDateByMe; + global ReadByCapabilityInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReadByPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReadByPage.cls new file mode 100644 index 0000000..2cab410 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReadByPage.cls @@ -0,0 +1,17 @@ +global class ReadByPage { + global String currentPageToken; + global String currentPageUrl; + global List items; + global String nextPageToken; + global String nextPageUrl; + global String previousPageToken; + global String previousPageUrl; + global Integer total; + global ReadByPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecipeSortOrderEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecipeSortOrderEnum.cls new file mode 100644 index 0000000..ec19b8a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecipeSortOrderEnum.cls @@ -0,0 +1,4 @@ +global enum RecipeSortOrderEnum { +ASCENDING, +DESCENDING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecipientEngagementContextInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecipientEngagementContextInput.cls new file mode 100644 index 0000000..2ecfca5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecipientEngagementContextInput.cls @@ -0,0 +1,10 @@ +global class RecipientEngagementContextInput { + global Map recipientEngagementContext; + global String recipientId; + global RecipientEngagementContextInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Recommendation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Recommendation.cls new file mode 100644 index 0000000..6e21709 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Recommendation.cls @@ -0,0 +1,18 @@ +global class Recommendation { + global String acceptanceLabel; + global String actionReference; + global String description; + global String externalId; + global String id; + global ConnectApi.FileAsset image; + global String name; + global String rejectionLabel; + global String url; + global Recommendation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationActionType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationActionType.cls new file mode 100644 index 0000000..e2508e8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationActionType.cls @@ -0,0 +1,5 @@ +global enum RecommendationActionType { +FOLLOW, +JOIN, +VIEW +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationAudience.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationAudience.cls new file mode 100644 index 0000000..67875bf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationAudience.cls @@ -0,0 +1,17 @@ +global class RecommendationAudience { + global ConnectApi.AudienceCriteria criteria; + global String id; + global Integer memberCount; + global ConnectApi.UserReferencePage members; + global ConnectApi.User modifiedBy; + global Datetime modifiedDate; + global String name; + global String url; + global RecommendationAudience() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationAudienceCriteriaType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationAudienceCriteriaType.cls new file mode 100644 index 0000000..5a7086f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationAudienceCriteriaType.cls @@ -0,0 +1,4 @@ +global enum RecommendationAudienceCriteriaType { +CUSTOMLIST, +MAXDAYSINCOMMUNITY +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationAudienceInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationAudienceInput.cls new file mode 100644 index 0000000..bc818a6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationAudienceInput.cls @@ -0,0 +1,12 @@ +global class RecommendationAudienceInput { + global ConnectApi.AudienceCriteriaInput criteria; + global ConnectApi.RecommendationAudienceMemberOperationType memberOperationType; + global List members; + global String name; + global RecommendationAudienceInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationAudienceMemberOperationType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationAudienceMemberOperationType.cls new file mode 100644 index 0000000..c60ab36 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationAudienceMemberOperationType.cls @@ -0,0 +1,4 @@ +global enum RecommendationAudienceMemberOperationType { +ADD, +REMOVE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationAudiencePage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationAudiencePage.cls new file mode 100644 index 0000000..2dd1dfb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationAudiencePage.cls @@ -0,0 +1,14 @@ +global class RecommendationAudiencePage { + global Integer audienceCount; + global String currentPageUrl; + global String nextPageUrl; + global String previousPageUrl; + global List recommendationAudiences; + global RecommendationAudiencePage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationChannel.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationChannel.cls new file mode 100644 index 0000000..41c70a5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationChannel.cls @@ -0,0 +1,8 @@ +global enum RecommendationChannel { +CUSTOMCHANNEL1, +CUSTOMCHANNEL2, +CUSTOMCHANNEL3, +CUSTOMCHANNEL4, +CUSTOMCHANNEL5, +DEFAULTCHANNEL +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationCollection.cls new file mode 100644 index 0000000..677d7c3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationCollection.cls @@ -0,0 +1,10 @@ +global class RecommendationCollection { + global List recommendations; + global RecommendationCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationDefinition.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationDefinition.cls new file mode 100644 index 0000000..66f3b98 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationDefinition.cls @@ -0,0 +1,17 @@ +global class RecommendationDefinition { + global String actionUrl; + global String actionUrlName; + global String explanation; + global String id; + global String name; + global ConnectApi.Photo photo; + global String title; + global String url; + global RecommendationDefinition() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationDefinitionInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationDefinitionInput.cls new file mode 100644 index 0000000..cd8c928 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationDefinitionInput.cls @@ -0,0 +1,13 @@ +global class RecommendationDefinitionInput { + global String actionUrl; + global String actionUrlName; + global String explanation; + global String name; + global String title; + global RecommendationDefinitionInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationDefinitionPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationDefinitionPage.cls new file mode 100644 index 0000000..397cad7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationDefinitionPage.cls @@ -0,0 +1,11 @@ +global class RecommendationDefinitionPage { + global List recommendationDefinitions; + global String url; + global RecommendationDefinitionPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationExplanation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationExplanation.cls new file mode 100644 index 0000000..2457cf7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationExplanation.cls @@ -0,0 +1,10 @@ +global class RecommendationExplanation { + global String detailsUrl; + global RecommendationExplanation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationExplanationType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationExplanationType.cls new file mode 100644 index 0000000..38e2830 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationExplanationType.cls @@ -0,0 +1,29 @@ +global enum RecommendationExplanationType { +ARTICLEHASRELATEDCONTENT, +ARTICLEVIEWEDTOGETHER, +ARTICLEVIEWEDTOGETHERWITHVIEWERS, +CUSTOM, +FILEPOPULAR, +FILEVIEWEDTOGETHER, +FOLLOWEDTOGETHERWITHFOLLOWEES, +GROUPMEMBERSFOLLOWED, +GROUPNEW, +GROUPPOPULAR, +ITEMVIEWEDTOGETHER, +POPULARAPP, +RECORDOWNED, +RECORDPARENTOFFOLLOWED, +RECORDVIEWED, +TOPICFOLLOWEDTOGETHER, +TOPICFOLLOWEDTOGETHERWITHFOLLOWEES, +TOPICPOPULARFOLLOWED, +TOPICPOPULARLIKED, +USERDIRECTREPORT, +USERFOLLOWEDTOGETHER, +USERFOLLOWSSAMEUSERS, +USERMANAGER, +USERNEW, +USERPEER, +USERPOPULAR, +USERVIEWINGSAMERECORDS +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationList.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationList.cls new file mode 100644 index 0000000..133185b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationList.cls @@ -0,0 +1,10 @@ +global class RecommendationList { + global List recommendations; + global RecommendationList() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationMode.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationMode.cls new file mode 100644 index 0000000..b0f69eb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationMode.cls @@ -0,0 +1,4 @@ +global enum RecommendationMode { +INTELLIGENT, +LEARNING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationReaction.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationReaction.cls new file mode 100644 index 0000000..e0db33e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationReaction.cls @@ -0,0 +1,23 @@ +global class RecommendationReaction { + global String aiModel; + global ConnectApi.Reference contextRecord; + global ConnectApi.Reference createdBy; + global Datetime createdDate; + global String externalId; + global String id; + global ConnectApi.Reference onBehalfOf; + global ConnectApi.RecommendationReactionType reactionType; + global ConnectApi.RecommendationMode recommendationMode; + global Double recommendationScore; + global ConnectApi.RecordSnapshot strategy; + global ConnectApi.RecordSnapshot targetAction; + global ConnectApi.Reference targetRecord; + global String url; + global RecommendationReaction() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationReactionInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationReactionInput.cls new file mode 100644 index 0000000..1a12885 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationReactionInput.cls @@ -0,0 +1,20 @@ +global class RecommendationReactionInput { + global String aiModel; + global String contextRecordId; + global String executionId; + global String externalId; + global String onBehalfOfId; + global ConnectApi.RecommendationReactionType reactionType; + global ConnectApi.RecommendationMode recommendationMode; + global Double recommendationScore; + global String strategyName; + global String targetActionId; + global String targetActionName; + global String targetId; + global RecommendationReactionInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationReactionType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationReactionType.cls new file mode 100644 index 0000000..e5edd54 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationReactionType.cls @@ -0,0 +1,4 @@ +global enum RecommendationReactionType { +ACCEPTED, +REJECTED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationReactions.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationReactions.cls new file mode 100644 index 0000000..195c3f5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationReactions.cls @@ -0,0 +1,12 @@ +global class RecommendationReactions { + global String currentPageUrl; + global String nextPageUrl; + global List reactions; + global RecommendationReactions() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationType.cls new file mode 100644 index 0000000..39b7249 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationType.cls @@ -0,0 +1,10 @@ +global enum RecommendationType { +APPS, +ARTICLES, +CUSTOM, +FILES, +GROUPS, +RECORDS, +TOPICS, +USERS +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Recommendations.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Recommendations.cls new file mode 100644 index 0000000..4d7ddf5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Recommendations.cls @@ -0,0 +1,51 @@ +global class Recommendations { + global Object clone() { } + global static ConnectApi.RecommendationAudience createRecommendationAudience(String communityId, ConnectApi.RecommendationAudienceInput recommendationAudience) { } + global static ConnectApi.RecommendationAudience createRecommendationAudience(String communityId, String name) { } + global static ConnectApi.RecommendationDefinition createRecommendationDefinition(String communityId, String name, String title, String actionUrl, String actionUrlName, String explanation) { } + global static ConnectApi.RecommendationDefinition createRecommendationDefinition(String communityId, ConnectApi.RecommendationDefinitionInput recommendationDefinition) { } + global static ConnectApi.ScheduledRecommendation createScheduledRecommendation(String communityId, String recommendationDefinitionId, Integer rank, Boolean enabled, String recommendationAudienceId, ConnectApi.RecommendationChannel channel) { } + global static ConnectApi.ScheduledRecommendation createScheduledRecommendation(String communityId, String recommendationDefinitionId, Integer rank, Boolean enabled, String recommendationAudienceId) { } + global static ConnectApi.ScheduledRecommendation createScheduledRecommendation(String communityId, ConnectApi.ScheduledRecommendationInput scheduledRecommendation) { } + global static void deleteRecommendationAudience(String communityId, String recommendationAudienceId) { } + global static void deleteRecommendationDefinition(String communityId, String recommendationDefinitionId) { } + global static void deleteRecommendationDefinitionPhoto(String communityId, String recommendationDefinitionId) { } + global static void deleteScheduledRecommendation(String communityId, String scheduledRecommendationId, Boolean deleteDefinitionIfLast) { } + global static ConnectApi.RecommendationAudience getRecommendationAudience(String communityId, String recommendationAudienceId) { } + global static ConnectApi.UserReferencePage getRecommendationAudienceMembership(String communityId, String recommendationAudienceId, Integer pageParam, Integer pageSize) { } + global static ConnectApi.UserReferencePage getRecommendationAudienceMembership(String communityId, String recommendationAudienceId) { } + global static ConnectApi.RecommendationAudiencePage getRecommendationAudiences(String communityId, Integer pageParam, Integer pageSize) { } + global static ConnectApi.RecommendationAudiencePage getRecommendationAudiences(String communityId) { } + global static ConnectApi.RecommendationDefinition getRecommendationDefinition(String communityId, String recommendationDefinitionId) { } + global static ConnectApi.Photo getRecommendationDefinitionPhoto(String communityId, String recommendationDefinitionId) { } + global static ConnectApi.RecommendationDefinitionPage getRecommendationDefinitions(String communityId) { } + global static ConnectApi.RecommendationCollection getRecommendationForUser(String communityId, String userId, ConnectApi.RecommendationActionType action, String objectId) { } + global static ConnectApi.RecommendationCollection getRecommendationsForUser(String communityId, String userId, ConnectApi.RecommendationActionType action, String objectCategory, ConnectApi.RecommendationActionType contextAction, String contextObjectId, ConnectApi.RecommendationChannel channel, Integer maxResults) { } + global static ConnectApi.RecommendationCollection getRecommendationsForUser(String communityId, String userId, ConnectApi.RecommendationActionType action, ConnectApi.RecommendationActionType contextAction, String contextObjectId, ConnectApi.RecommendationChannel channel, Integer maxResults) { } + global static ConnectApi.RecommendationCollection getRecommendationsForUser(String communityId, String userId, ConnectApi.RecommendationActionType action, String objectCategory, ConnectApi.RecommendationActionType contextAction, String contextObjectId, Integer maxResults) { } + global static ConnectApi.RecommendationCollection getRecommendationsForUser(String communityId, String userId, ConnectApi.RecommendationActionType action, ConnectApi.RecommendationActionType contextAction, String contextObjectId, Integer maxResults) { } + global static ConnectApi.RecommendationCollection getRecommendationsForUser(String communityId, String userId, ConnectApi.RecommendationActionType contextAction, String contextObjectId, ConnectApi.RecommendationChannel channel, Integer maxResults) { } + global static ConnectApi.RecommendationCollection getRecommendationsForUser(String communityId, String userId, ConnectApi.RecommendationActionType contextAction, String contextObjectId, Integer maxResults) { } + global static ConnectApi.ScheduledRecommendation getScheduledRecommendation(String communityId, String scheduledRecommendationId) { } + global static ConnectApi.ScheduledRecommendationPage getScheduledRecommendations(String communityId, ConnectApi.RecommendationChannel channel) { } + global static ConnectApi.ScheduledRecommendationPage getScheduledRecommendations(String communityId) { } + global static void rejectRecommendationForUser(String communityId, String userId, ConnectApi.RecommendationActionType action, ConnectApi.RecommendedObjectType objectEnum) { } + global static void rejectRecommendationForUser(String communityId, String userId, ConnectApi.RecommendationActionType action, String objectId) { } + global static void setTestGetRecommendationForUser(String communityId, String userId, ConnectApi.RecommendationActionType action, String objectId, ConnectApi.RecommendationCollection result) { } + global static void setTestGetRecommendationsForUser(String communityId, String userId, ConnectApi.RecommendationActionType action, String objectCategory, ConnectApi.RecommendationActionType contextAction, String contextObjectId, ConnectApi.RecommendationChannel channel, Integer maxResults, ConnectApi.RecommendationCollection result) { } + global static void setTestGetRecommendationsForUser(String communityId, String userId, ConnectApi.RecommendationActionType action, ConnectApi.RecommendationActionType contextAction, String contextObjectId, ConnectApi.RecommendationChannel channel, Integer maxResults, ConnectApi.RecommendationCollection result) { } + global static void setTestGetRecommendationsForUser(String communityId, String userId, ConnectApi.RecommendationActionType action, String objectCategory, ConnectApi.RecommendationActionType contextAction, String contextObjectId, Integer maxResults, ConnectApi.RecommendationCollection result) { } + global static void setTestGetRecommendationsForUser(String communityId, String userId, ConnectApi.RecommendationActionType action, ConnectApi.RecommendationActionType contextAction, String contextObjectId, Integer maxResults, ConnectApi.RecommendationCollection result) { } + global static void setTestGetRecommendationsForUser(String communityId, String userId, ConnectApi.RecommendationActionType contextAction, String contextObjectId, ConnectApi.RecommendationChannel channel, Integer maxResults, ConnectApi.RecommendationCollection result) { } + global static void setTestGetRecommendationsForUser(String communityId, String userId, ConnectApi.RecommendationActionType contextAction, String contextObjectId, Integer maxResults, ConnectApi.RecommendationCollection result) { } + global static ConnectApi.RecommendationAudience updateRecommendationAudience(String communityId, String recommendationAudienceId, ConnectApi.RecommendationAudienceInput recommendationAudience) { } + global static ConnectApi.RecommendationDefinition updateRecommendationDefinition(String communityId, String recommendationDefinitionId, String name, String title, String actionUrl, String actionUrlName, String explanation) { } + global static ConnectApi.RecommendationDefinition updateRecommendationDefinition(String communityId, String recommendationDefinitionId, ConnectApi.RecommendationDefinitionInput recommendationDefinition) { } + global static ConnectApi.Photo updateRecommendationDefinitionPhoto(String communityId, String recommendationDefinitionId, String fileId, Integer versionNumber) { } + global static ConnectApi.Photo updateRecommendationDefinitionPhoto(String communityId, String recommendationDefinitionId, ConnectApi.BinaryInput fileUpload) { } + global static ConnectApi.Photo updateRecommendationDefinitionPhotoWithAttributes(String communityId, String recommendationDefinitionId, ConnectApi.PhotoInput photo, ConnectApi.BinaryInput fileUpload) { } + global static ConnectApi.Photo updateRecommendationDefinitionPhotoWithAttributes(String communityId, String recommendationDefinitionId, ConnectApi.PhotoInput photo) { } + global static ConnectApi.ScheduledRecommendation updateScheduledRecommendation(String communityId, String scheduledRecommendationId, Integer rank, Boolean enabled, String recommendationAudienceId) { } + global static ConnectApi.ScheduledRecommendation updateScheduledRecommendation(String communityId, String scheduledRecommendationId, ConnectApi.ScheduledRecommendationInput scheduledRecommendation) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationsCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationsCapability.cls new file mode 100644 index 0000000..dddb448 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendationsCapability.cls @@ -0,0 +1,10 @@ +global class RecommendationsCapability { + global List items; + global RecommendationsCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendedObject.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendedObject.cls new file mode 100644 index 0000000..6c87bc0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendedObject.cls @@ -0,0 +1,11 @@ +global class RecommendedObject { + global String idOrEnum; + global ConnectApi.Motif motif; + global RecommendedObject() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendedObjectType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendedObjectType.cls new file mode 100644 index 0000000..547f8c7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecommendedObjectType.cls @@ -0,0 +1,3 @@ +global enum RecommendedObjectType { +TODAY +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAccessDetailRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAccessDetailRepresentation.cls new file mode 100644 index 0000000..351acdc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAccessDetailRepresentation.cls @@ -0,0 +1,12 @@ +global class RecordAccessDetailRepresentation { + global String recordId; + global List sharingReasons; + global String userId; + global RecordAccessDetailRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionCollectionMapRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionCollectionMapRepresentation.cls new file mode 100644 index 0000000..0108a8e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionCollectionMapRepresentation.cls @@ -0,0 +1,11 @@ +global class RecordAlertActionCollectionMapRepresentation { + global Boolean hasErrors; + global Map results; + global RecordAlertActionCollectionMapRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionInfoCollectionRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionInfoCollectionRepresentation.cls new file mode 100644 index 0000000..db740d4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionInfoCollectionRepresentation.cls @@ -0,0 +1,10 @@ +global class RecordAlertActionInfoCollectionRepresentation { + global List actionInfoCollection; + global RecordAlertActionInfoCollectionRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionInfoRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionInfoRepresentation.cls new file mode 100644 index 0000000..7967e58 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionInfoRepresentation.cls @@ -0,0 +1,11 @@ +global class RecordAlertActionInfoRepresentation { + global String actionName; + global List parameters; + global RecordAlertActionInfoRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionInputRepresentation.cls new file mode 100644 index 0000000..cd565bb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionInputRepresentation.cls @@ -0,0 +1,11 @@ +global class RecordAlertActionInputRepresentation { + global String actionName; + global List actionParameters; + global String recordAlertId; + global RecordAlertActionInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionOutputRepresentation.cls new file mode 100644 index 0000000..83fbe3a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionOutputRepresentation.cls @@ -0,0 +1,12 @@ +global class RecordAlertActionOutputRepresentation { + global ConnectApi.RecordAlertRepresentation recordAlert; + global List recordAlertErrors; + global String status; + global RecordAlertActionOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionParameterInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionParameterInput.cls new file mode 100644 index 0000000..4e1114e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionParameterInput.cls @@ -0,0 +1,10 @@ +global class RecordAlertActionParameterInput { + global String name; + global String value; + global RecordAlertActionParameterInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionSingleOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionSingleOutputRepresentation.cls new file mode 100644 index 0000000..46659fe --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertActionSingleOutputRepresentation.cls @@ -0,0 +1,14 @@ +global class RecordAlertActionSingleOutputRepresentation { + global String actionName; + global List errors; + global ConnectApi.RecordAlertRepresentation recordAlert; + global String recordAlertId; + global String status; + global RecordAlertActionSingleOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertBulkActionInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertBulkActionInputRepresentation.cls new file mode 100644 index 0000000..e18808b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertBulkActionInputRepresentation.cls @@ -0,0 +1,9 @@ +global class RecordAlertBulkActionInputRepresentation { + global List actions; + global RecordAlertBulkActionInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertCollectionMapRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertCollectionMapRepresentation.cls new file mode 100644 index 0000000..27905c3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertCollectionMapRepresentation.cls @@ -0,0 +1,11 @@ +global class RecordAlertCollectionMapRepresentation { + global Boolean hasErrors; + global Map results; + global RecordAlertCollectionMapRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertCollectionRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertCollectionRepresentation.cls new file mode 100644 index 0000000..6b7e42e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertCollectionRepresentation.cls @@ -0,0 +1,12 @@ +global class RecordAlertCollectionRepresentation { + global List recordAlertErrors; + global List recordAlerts; + global String status; + global RecordAlertCollectionRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertErrorRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertErrorRepresentation.cls new file mode 100644 index 0000000..407c5af --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertErrorRepresentation.cls @@ -0,0 +1,11 @@ +global class RecordAlertErrorRepresentation { + global String errorCode; + global String errorMessage; + global RecordAlertErrorRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertErrorType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertErrorType.cls new file mode 100644 index 0000000..a940575 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertErrorType.cls @@ -0,0 +1,14 @@ +global enum RecordAlertErrorType { +APEX_EXECUTION_ERROR, +API_EXCEPTION, +DATABASE_FETCH_ERROR, +EXPRESSION_SET_EXECUTION_EXCEPTION, +FAILURE, +INSUFFICIENT_ACCESS_ON_RECORD_ALERT, +INVALID_RECORD_ALERT_TEMPLATE, +INVALID_RECORD_ID, +INVALID_SNOOZE_UNTIL_DATE, +NO_DATASOURCE_DEFINED, +PARTIAL_SUCCESS, +SUCCESS +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertRepresentation.cls new file mode 100644 index 0000000..c469001 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertRepresentation.cls @@ -0,0 +1,23 @@ +global class RecordAlertRepresentation { + global ConnectApi.RecordAlertActionInfoCollectionRepresentation actions; + global Boolean active; + global String description; + global Datetime effectiveDate; + global String id; + global String parentId; + global String recordAlertCategoryName; + global String severity; + global Datetime snoozeUntilDate; + global ConnectApi.RecordAlertSourceType source; + global String sourceSystemId; + global String subject; + global Datetime validUntilDate; + global String whatId; + global RecordAlertRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertSeverityType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertSeverityType.cls new file mode 100644 index 0000000..fd583de --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertSeverityType.cls @@ -0,0 +1,5 @@ +global enum RecordAlertSeverityType { +ERROR, +INFO, +WARNING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertSourceType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertSourceType.cls new file mode 100644 index 0000000..a883f70 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordAlertSourceType.cls @@ -0,0 +1,5 @@ +global enum RecordAlertSourceType { +BUSINESSRULESENGINE, +EXTERNAL, +INTERNAL +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordCapability.cls new file mode 100644 index 0000000..22b8ab1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordCapability.cls @@ -0,0 +1,11 @@ +global class RecordCapability { + global String recordId; + global String url; + global RecordCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordCapabilityInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordCapabilityInput.cls new file mode 100644 index 0000000..561e489 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordCapabilityInput.cls @@ -0,0 +1,9 @@ +global class RecordCapabilityInput { + global String recordId; + global RecordCapabilityInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordColumnOrder.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordColumnOrder.cls new file mode 100644 index 0000000..dcaeb07 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordColumnOrder.cls @@ -0,0 +1,4 @@ +global enum RecordColumnOrder { +LEFTRIGHT, +TOPDOWN +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordField.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordField.cls new file mode 100644 index 0000000..d96f9a8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordField.cls @@ -0,0 +1,9 @@ +global class RecordField { + global RecordField() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordFieldType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordFieldType.cls new file mode 100644 index 0000000..22f8d00 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordFieldType.cls @@ -0,0 +1,21 @@ +global enum RecordFieldType { +ADDRESS, +BLANK, +BOOLEAN, +COMPOUND, +CREATEDBY, +CURRENCY, +DATE, +DATETIME, +EMAIL, +LASTMODIFIEDBY, +LOCATION, +NAME, +NUMBER, +PERCENT, +PHONE, +PICKLIST, +REFERENCE, +TEXT, +TIME +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordFilterCriteriaFamily.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordFilterCriteriaFamily.cls new file mode 100644 index 0000000..5026b84 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordFilterCriteriaFamily.cls @@ -0,0 +1,3 @@ +global class RecordFilterCriteriaFamily { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordSeoProperties.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordSeoProperties.cls new file mode 100644 index 0000000..7147663 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordSeoProperties.cls @@ -0,0 +1,15 @@ +global class RecordSeoProperties { + global String canonicalUrl; + global Map fields; + global String objectName; + global String recordId; + global String recordName; + global Map translations; + global RecordSeoProperties() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordSnapshot.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordSnapshot.cls new file mode 100644 index 0000000..3da1084 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordSnapshot.cls @@ -0,0 +1,11 @@ +global class RecordSnapshot { + global String id; + global String nameAtSnapshot; + global RecordSnapshot() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordSnapshotAttachment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordSnapshotAttachment.cls new file mode 100644 index 0000000..369bcaa --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordSnapshotAttachment.cls @@ -0,0 +1,10 @@ +global class RecordSnapshotAttachment { + global ConnectApi.RecordView recordView; + global RecordSnapshotAttachment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordSnapshotCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordSnapshotCapability.cls new file mode 100644 index 0000000..686dfce --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordSnapshotCapability.cls @@ -0,0 +1,10 @@ +global class RecordSnapshotCapability { + global ConnectApi.RecordView recordView; + global RecordSnapshotCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordSummary.cls new file mode 100644 index 0000000..0d0bdf7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordSummary.cls @@ -0,0 +1,10 @@ +global class RecordSummary { + global ConnectApi.EntityLabel entityLabel; + global RecordSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordSummaryList.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordSummaryList.cls new file mode 100644 index 0000000..c67e919 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordSummaryList.cls @@ -0,0 +1,11 @@ +global class RecordSummaryList { + global List records; + global String url; + global RecordSummaryList() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordView.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordView.cls new file mode 100644 index 0000000..5f07ca4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordView.cls @@ -0,0 +1,10 @@ +global class RecordView { + global List sections; + global RecordView() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordViewSection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordViewSection.cls new file mode 100644 index 0000000..8312b78 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordViewSection.cls @@ -0,0 +1,14 @@ +global class RecordViewSection { + global Integer columnCount; + global ConnectApi.RecordColumnOrder columnOrder; + global List fields; + global String heading; + global Boolean isCollapsible; + global RecordViewSection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Recordalert.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Recordalert.cls new file mode 100644 index 0000000..8e3491d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Recordalert.cls @@ -0,0 +1,3 @@ +global class Recordalert { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Records.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Records.cls new file mode 100644 index 0000000..f6008b0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Records.cls @@ -0,0 +1,6 @@ +global class Records { + global Object clone() { } + global static ConnectApi.Motif getMotif(String communityId, String idOrPrefix) { } + global static List getMotifBatch(String communityId, List idOrPrefixList) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordsetFilterCriteria.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordsetFilterCriteria.cls new file mode 100644 index 0000000..2f8dc9b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordsetFilterCriteria.cls @@ -0,0 +1,11 @@ +global class RecordsetFilterCriteria { + global String criteriaId; + global List recordIds; + global RecordsetFilterCriteria() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordsetFilterCriteriaCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordsetFilterCriteriaCollection.cls new file mode 100644 index 0000000..4b209ee --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordsetFilterCriteriaCollection.cls @@ -0,0 +1,10 @@ +global class RecordsetFilterCriteriaCollection { + global List recordsetFilters; + global RecordsetFilterCriteriaCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordsetFilterCriteriaInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordsetFilterCriteriaInput.cls new file mode 100644 index 0000000..4014618 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RecordsetFilterCriteriaInput.cls @@ -0,0 +1,12 @@ +global class RecordsetFilterCriteriaInput { + global List criteriaIds; + global Boolean enforceSharing; + global String filteredObjectName; + global List recordIds; + global RecordsetFilterCriteriaInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RedeemVoucherInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RedeemVoucherInput.cls new file mode 100644 index 0000000..133b2a0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RedeemVoucherInput.cls @@ -0,0 +1,10 @@ +global class RedeemVoucherInput { + global String currencyIsoCode; + global Double redeemAmount; + global RedeemVoucherInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RedeemVoucherOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RedeemVoucherOutput.cls new file mode 100644 index 0000000..f877843 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RedeemVoucherOutput.cls @@ -0,0 +1,11 @@ +global class RedeemVoucherOutput { + global String currencyIsoCode; + global Double remainingAmount; + global RedeemVoucherOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Reference.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Reference.cls new file mode 100644 index 0000000..7f52762 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Reference.cls @@ -0,0 +1,11 @@ +global class Reference { + global String id; + global String url; + global Reference() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferenceItemBaseInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferenceItemBaseInput.cls new file mode 100644 index 0000000..6de0943 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferenceItemBaseInput.cls @@ -0,0 +1,30 @@ +global class ReferenceItemBaseInput { + global Double amount; + global Integer billDayOfMonth; + global String billToContactId; + global String billingAccountId; + global ConnectApi.BillingAddressRequest billingAddress; + global ConnectApi.BillingMethodEnum billingMethod; + global String billingScheduleEndDate; + global String billingScheduleStartDate; + global Integer billingStartMonth; + global Integer billingTerm; + global ConnectApi.InvoiceBillingTermUnitEnum billingTermUnit; + global String billingTreatmentId; + global ConnectApi.BillingTypeEnum billingType; + global String currencyIsoCode; + global String paymentTermId; + global ConnectApi.PeriodBoundaryEnum periodBoundary; + global String productId; + global String productName; + global String prorationPolicyId; + global String referenceId; + global String referenceItemId; + global ConnectApi.BillingAddressRequest shippingAddress; + global String taxTreatmentId; + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferenceItemCodeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferenceItemCodeEnum.cls new file mode 100644 index 0000000..c5421b3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferenceItemCodeEnum.cls @@ -0,0 +1,4 @@ +global enum ReferenceItemCodeEnum { +ORDERCHARGE, +ORDERPRODUCT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferenceLineError.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferenceLineError.cls new file mode 100644 index 0000000..c5a07dd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferenceLineError.cls @@ -0,0 +1,11 @@ +global class ReferenceLineError { + global List errors; + global String referenceLineId; + global ReferenceLineError() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferenceRecordField.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferenceRecordField.cls new file mode 100644 index 0000000..886bb44 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferenceRecordField.cls @@ -0,0 +1,10 @@ +global class ReferenceRecordField { + global ConnectApi.RecordSummary reference; + global ReferenceRecordField() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferenceWithDateRecordField.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferenceWithDateRecordField.cls new file mode 100644 index 0000000..649e54a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferenceWithDateRecordField.cls @@ -0,0 +1,11 @@ +global class ReferenceWithDateRecordField { + global Datetime dateValue; + global ConnectApi.RecordSummary reference; + global ReferenceWithDateRecordField() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferencedRefundRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferencedRefundRequest.cls new file mode 100644 index 0000000..1c78b7d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferencedRefundRequest.cls @@ -0,0 +1,14 @@ +global class ReferencedRefundRequest { + global String accountId; + global Double amount; + global String clientContext; + global String comments; + global Datetime effectiveDate; + global ConnectApi.PaymentGroupRequest paymentGroup; + global ReferencedRefundRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferencedRefundResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferencedRefundResponse.cls new file mode 100644 index 0000000..ff463cf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferencedRefundResponse.cls @@ -0,0 +1,14 @@ +global class ReferencedRefundResponse { + global ConnectApi.ErrorResponse error; + global ConnectApi.RefundGatewayResponse gatewayResponse; + global List paymentGatewayLogs; + global ConnectApi.PaymentGroupResponse paymentGroup; + global ConnectApi.RefundResponse refund; + global ReferencedRefundResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferralEventConnect.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferralEventConnect.cls new file mode 100644 index 0000000..b96d359 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferralEventConnect.cls @@ -0,0 +1,3 @@ +global class ReferralEventConnect { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferralEventInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferralEventInput.cls new file mode 100644 index 0000000..fa4f813 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferralEventInput.cls @@ -0,0 +1,21 @@ +global class ReferralEventInput { + global String contactId; + global String email; + global ConnectApi.EventTypeResource eventType; + global String firstName; + global Datetime joiningDate; + global String lastName; + global String orderReferenceId; + global String productId; + global Double purchaseAmount; + global Integer purchaseQuantity; + global Map referralAdditionalAttributes; + global String referralCode; + global Map transactionJournalAdditionalAttributes; + global ReferralEventInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferralEventOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferralEventOutput.cls new file mode 100644 index 0000000..3aae082 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReferralEventOutput.cls @@ -0,0 +1,14 @@ +global class ReferralEventOutput { + global String contactId; + global String referralId; + global String referralStage; + global List transactionJournalIds; + global String voucherId; + global ReferralEventOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RefinementInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RefinementInput.cls new file mode 100644 index 0000000..da3f31d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RefinementInput.cls @@ -0,0 +1,10 @@ +global class RefinementInput { + global ConnectApi.CommerceSearchAttributeType attributeType; + global String nameOrId; + global ConnectApi.CommerceSearchFacetType type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RefundGatewayResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RefundGatewayResponse.cls new file mode 100644 index 0000000..c993f73 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RefundGatewayResponse.cls @@ -0,0 +1,9 @@ +global class RefundGatewayResponse { + global RefundGatewayResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RefundLineApplyRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RefundLineApplyRequest.cls new file mode 100644 index 0000000..c759a11 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RefundLineApplyRequest.cls @@ -0,0 +1,12 @@ +global class RefundLineApplyRequest { + global Double amount; + global String appliedToId; + global String comments; + global Datetime effectiveDate; + global RefundLineApplyRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RefundLineApplyResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RefundLineApplyResponse.cls new file mode 100644 index 0000000..650c924 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RefundLineApplyResponse.cls @@ -0,0 +1,11 @@ +global class RefundLineApplyResponse { + global Datetime appliedDate; + global String id; + global RefundLineApplyResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RefundRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RefundRequest.cls new file mode 100644 index 0000000..960cb1d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RefundRequest.cls @@ -0,0 +1,6 @@ +global class RefundRequest { + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RefundResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RefundResponse.cls new file mode 100644 index 0000000..b797a66 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RefundResponse.cls @@ -0,0 +1,17 @@ +global class RefundResponse { + global String accountId; + global Double amount; + global String currencyIsoCode; + global Datetime effectiveDate; + global String id; + global String refundNumber; + global Datetime requestDate; + global String status; + global RefundResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RelatedFeedPost.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RelatedFeedPost.cls new file mode 100644 index 0000000..2f5ff7d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RelatedFeedPost.cls @@ -0,0 +1,10 @@ +global class RelatedFeedPost { + global Double score; + global String title; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RelatedFeedPostType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RelatedFeedPostType.cls new file mode 100644 index 0000000..e183b43 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RelatedFeedPostType.cls @@ -0,0 +1,6 @@ +global enum RelatedFeedPostType { +ANSWERED, +BESTANSWER, +GENERIC, +UNANSWERED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RelatedFeedPosts.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RelatedFeedPosts.cls new file mode 100644 index 0000000..18e16e2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RelatedFeedPosts.cls @@ -0,0 +1,10 @@ +global class RelatedFeedPosts { + global List relatedFeedPosts; + global RelatedFeedPosts() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RelatedQuestion.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RelatedQuestion.cls new file mode 100644 index 0000000..d6abe76 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RelatedQuestion.cls @@ -0,0 +1,11 @@ +global class RelatedQuestion { + global Boolean hasBestAnswer; + global ConnectApi.InteractionsCapability interactions; + global RelatedQuestion() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReleaseHeldFOCapacityInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReleaseHeldFOCapacityInputRepresentation.cls new file mode 100644 index 0000000..3ee624b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReleaseHeldFOCapacityInputRepresentation.cls @@ -0,0 +1,9 @@ +global class ReleaseHeldFOCapacityInputRepresentation { + global List releaseHeldFOCapacityRequests; + global ReleaseHeldFOCapacityInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReleaseHeldFOCapacityOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReleaseHeldFOCapacityOutputRepresentation.cls new file mode 100644 index 0000000..419e590 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReleaseHeldFOCapacityOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class ReleaseHeldFOCapacityOutputRepresentation { + global List releaseHeldFOCapacityResponses; + global ReleaseHeldFOCapacityOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReleaseHeldFOCapacityRequestInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReleaseHeldFOCapacityRequestInputRepresentation.cls new file mode 100644 index 0000000..6d58f4d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReleaseHeldFOCapacityRequestInputRepresentation.cls @@ -0,0 +1,10 @@ +global class ReleaseHeldFOCapacityRequestInputRepresentation { + global Boolean allOrNothing; + global List capacityRequests; + global ReleaseHeldFOCapacityRequestInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReleaseHeldFOCapacityResponseOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReleaseHeldFOCapacityResponseOutputRepresentation.cls new file mode 100644 index 0000000..1ceef58 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReleaseHeldFOCapacityResponseOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class ReleaseHeldFOCapacityResponseOutputRepresentation { + global List capacityResponses; + global ReleaseHeldFOCapacityResponseOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReopenedByOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReopenedByOutput.cls new file mode 100644 index 0000000..cf0b016 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReopenedByOutput.cls @@ -0,0 +1,10 @@ +global class ReopenedByOutput { + global String username; + global ReopenedByOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReplyIntent.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReplyIntent.cls new file mode 100644 index 0000000..5ca4d23 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReplyIntent.cls @@ -0,0 +1,10 @@ +global class ReplyIntent { + global ConnectApi.ManagedSocialAccount managedSocialAccount; + global ReplyIntent() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReplyIntents.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReplyIntents.cls new file mode 100644 index 0000000..87670fd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReplyIntents.cls @@ -0,0 +1,10 @@ +global class ReplyIntents { + global List replies; + global ReplyIntents() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReplyRecommendationsChannelType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReplyRecommendationsChannelType.cls new file mode 100644 index 0000000..e0e8ed6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReplyRecommendationsChannelType.cls @@ -0,0 +1,3 @@ +global enum ReplyRecommendationsChannelType { +CHAT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReplyRecommendationsMetric.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReplyRecommendationsMetric.cls new file mode 100644 index 0000000..58490da --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReplyRecommendationsMetric.cls @@ -0,0 +1,19 @@ +global class ReplyRecommendationsMetric { + global Integer activeAgentCount; + global Integer agentsEngaged; + global Integer conversationsCount; + global Integer conversationsWithEngagements; + global Datetime metricsDate; + global Integer predictionsCount; + global Integer recommendationsCount; + global Integer recommendationsEditCount; + global Integer recommendationsNotHelpfulCount; + global Integer recommendationsPostCount; + global ReplyRecommendationsMetric() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReplyRecommendationsMetrics.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReplyRecommendationsMetrics.cls new file mode 100644 index 0000000..a0fbdc5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReplyRecommendationsMetrics.cls @@ -0,0 +1,10 @@ +global class ReplyRecommendationsMetrics { + global List replyRecommendationsMetrics; + global ReplyRecommendationsMetrics() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryDirectoryEntryCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryDirectoryEntryCollection.cls new file mode 100644 index 0000000..380d0ec --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryDirectoryEntryCollection.cls @@ -0,0 +1,10 @@ +global class RepositoryDirectoryEntryCollection { + global List directoryEntries; + global RepositoryDirectoryEntryCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryFileDetail.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryFileDetail.cls new file mode 100644 index 0000000..f73d792 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryFileDetail.cls @@ -0,0 +1,9 @@ +global class RepositoryFileDetail { + global RepositoryFileDetail() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryFileSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryFileSummary.cls new file mode 100644 index 0000000..569bf05 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryFileSummary.cls @@ -0,0 +1,9 @@ +global class RepositoryFileSummary { + global RepositoryFileSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryFolderDetail.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryFolderDetail.cls new file mode 100644 index 0000000..63ded43 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryFolderDetail.cls @@ -0,0 +1,9 @@ +global class RepositoryFolderDetail { + global RepositoryFolderDetail() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryFolderItem.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryFolderItem.cls new file mode 100644 index 0000000..6970830 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryFolderItem.cls @@ -0,0 +1,12 @@ +global class RepositoryFolderItem { + global ConnectApi.RepositoryFileSummary file; + global ConnectApi.RepositoryFolderSummary folder; + global ConnectApi.FolderItemType type; + global RepositoryFolderItem() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryFolderItemsCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryFolderItemsCollection.cls new file mode 100644 index 0000000..01e4a26 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryFolderItemsCollection.cls @@ -0,0 +1,13 @@ +global class RepositoryFolderItemsCollection { + global String currentPageUrl; + global List items; + global String nextPageUrl; + global String previousPageUrl; + global RepositoryFolderItemsCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryFolderSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryFolderSummary.cls new file mode 100644 index 0000000..b093cde --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryFolderSummary.cls @@ -0,0 +1,9 @@ +global class RepositoryFolderSummary { + global RepositoryFolderSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryGroupSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryGroupSummary.cls new file mode 100644 index 0000000..dd76e6d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryGroupSummary.cls @@ -0,0 +1,11 @@ +global class RepositoryGroupSummary { + global ConnectApi.ContentHubGroupType groupType; + global String name; + global RepositoryGroupSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryPermissionTypeCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryPermissionTypeCollection.cls new file mode 100644 index 0000000..0b5e868 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryPermissionTypeCollection.cls @@ -0,0 +1,10 @@ +global class RepositoryPermissionTypeCollection { + global List permissionTypes; + global RepositoryPermissionTypeCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryUserSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryUserSummary.cls new file mode 100644 index 0000000..0be1014 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RepositoryUserSummary.cls @@ -0,0 +1,11 @@ +global class RepositoryUserSummary { + global String firstName; + global String lastName; + global RepositoryUserSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Repricing.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Repricing.cls new file mode 100644 index 0000000..00569dc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Repricing.cls @@ -0,0 +1,3 @@ +global class Repricing { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Reputation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Reputation.cls new file mode 100644 index 0000000..964d51b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Reputation.cls @@ -0,0 +1,12 @@ +global class Reputation { + global ConnectApi.ReputationLevel reputationLevel; + global Double reputationPoints; + global String url; + global Reputation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReputationLevel.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReputationLevel.cls new file mode 100644 index 0000000..92932e6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReputationLevel.cls @@ -0,0 +1,12 @@ +global class ReputationLevel { + global String levelImageUrl; + global String levelName; + global Integer levelNumber; + global ReputationLevel() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RequestHeader.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RequestHeader.cls new file mode 100644 index 0000000..7c8a97a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RequestHeader.cls @@ -0,0 +1,11 @@ +global class RequestHeader { + global String name; + global String value; + global RequestHeader() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RequestHeaderInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RequestHeaderInput.cls new file mode 100644 index 0000000..88884df --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RequestHeaderInput.cls @@ -0,0 +1,10 @@ +global class RequestHeaderInput { + global String name; + global String value; + global RequestHeaderInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RequestingPractitionerOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RequestingPractitionerOutput.cls new file mode 100644 index 0000000..7ab1204 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RequestingPractitionerOutput.cls @@ -0,0 +1,11 @@ +global class RequestingPractitionerOutput { + global String healthCareProviderId; + global String requestingPractitionerNpi; + global RequestingPractitionerOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ResourceLinkSegment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ResourceLinkSegment.cls new file mode 100644 index 0000000..e299d40 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ResourceLinkSegment.cls @@ -0,0 +1,10 @@ +global class ResourceLinkSegment { + global String url; + global ResourceLinkSegment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ResponseSuggestion.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ResponseSuggestion.cls new file mode 100644 index 0000000..fd9499a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ResponseSuggestion.cls @@ -0,0 +1,11 @@ +global class ResponseSuggestion { + global String response; + global Double score; + global ConnectApi.EinsteinResponseType type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ResponseSuggestions.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ResponseSuggestions.cls new file mode 100644 index 0000000..fcfc2cf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ResponseSuggestions.cls @@ -0,0 +1,14 @@ +global class ResponseSuggestions { + global Boolean isError; + global String message; + global String modelStatus; + global String requestId; + global List responseSuggestions; + global ResponseSuggestions() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnItemsInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnItemsInputRepresentation.cls new file mode 100644 index 0000000..3b91140 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnItemsInputRepresentation.cls @@ -0,0 +1,11 @@ +global class ReturnItemsInputRepresentation { + global List returnOrderItemDeliveryCharges; + global List returnOrderItemFees; + global List returnOrderItems; + global ReturnItemsInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnItemsOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnItemsOutputRepresentation.cls new file mode 100644 index 0000000..6f5e719 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnItemsOutputRepresentation.cls @@ -0,0 +1,12 @@ +global class ReturnItemsOutputRepresentation { + global String changeOrderId; + global String feeChangeOrderId; + global List returnLineItemSplits; + global ReturnItemsOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrder.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrder.cls new file mode 100644 index 0000000..be8d449 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrder.cls @@ -0,0 +1,3 @@ +global class ReturnOrder { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderInputRepresentation.cls new file mode 100644 index 0000000..7a12c0e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderInputRepresentation.cls @@ -0,0 +1,12 @@ +global class ReturnOrderInputRepresentation { + global String orderSummaryId; + global String returnOrderLifeCycleType; + global List returnOrderLineItems; + global String status; + global ReturnOrderInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderItemDeliveryChargeInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderItemDeliveryChargeInputRepresentation.cls new file mode 100644 index 0000000..6320518 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderItemDeliveryChargeInputRepresentation.cls @@ -0,0 +1,9 @@ +global class ReturnOrderItemDeliveryChargeInputRepresentation { + global String returnOrderLineItemId; + global ReturnOrderItemDeliveryChargeInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderItemFeeInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderItemFeeInputRepresentation.cls new file mode 100644 index 0000000..8440ecc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderItemFeeInputRepresentation.cls @@ -0,0 +1,11 @@ +global class ReturnOrderItemFeeInputRepresentation { + global Double quantityReturned; + global Double quantityToCancel; + global String returnOrderLineItemId; + global ReturnOrderItemFeeInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderItemInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderItemInputRepresentation.cls new file mode 100644 index 0000000..8a3f426 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderItemInputRepresentation.cls @@ -0,0 +1,14 @@ +global class ReturnOrderItemInputRepresentation { + global Double quantityReceived; + global Double quantityRejected; + global Double quantityReturned; + global Double quantityToCancel; + global String reasonForRejection; + global String returnOrderLineItemId; + global ReturnOrderItemInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderItemSplitLineOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderItemSplitLineOutputRepresentation.cls new file mode 100644 index 0000000..242a4e0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderItemSplitLineOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class ReturnOrderItemSplitLineOutputRepresentation { + global String newReturnOrderItemId; + global String originalReturnOrderItemId; + global ReturnOrderItemSplitLineOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderLineItemFeeInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderLineItemFeeInputRepresentation.cls new file mode 100644 index 0000000..ce82b93 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderLineItemFeeInputRepresentation.cls @@ -0,0 +1,13 @@ +global class ReturnOrderLineItemFeeInputRepresentation { + global Double amount; + global String amountType; + global String description; + global String product2Id; + global String reason; + global ReturnOrderLineItemFeeInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderLineItemInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderLineItemInputRepresentation.cls new file mode 100644 index 0000000..5b3fc02 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderLineItemInputRepresentation.cls @@ -0,0 +1,14 @@ +global class ReturnOrderLineItemInputRepresentation { + global Boolean canReduceShipping; + global String orderItemSummaryId; + global Double quantityExpected; + global Double quantityReceived; + global String reasonForReturn; + global List returnOrderLineItemFees; + global ReturnOrderLineItemInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderOutputRepresentation.cls new file mode 100644 index 0000000..a83d5af --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ReturnOrderOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class ReturnOrderOutputRepresentation { + global String returnOrderId; + global ReturnOrderOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueAddressInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueAddressInputRepresentation.cls new file mode 100644 index 0000000..e73a982 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueAddressInputRepresentation.cls @@ -0,0 +1,15 @@ +global class RevenueAddressInputRepresentation { + global String city; + global String country; + global Double latitude; + global Double longitude; + global String postalCode; + global String state; + global String street; + global RevenueAddressInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueAsyncLineLevelOutputResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueAsyncLineLevelOutputResponse.cls new file mode 100644 index 0000000..f825b39 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueAsyncLineLevelOutputResponse.cls @@ -0,0 +1,15 @@ +global class RevenueAsyncLineLevelOutputResponse { + global List errors; + global List referenceLineErrorResults; + global String referenceLineType; + global String requestIdentifier; + global String statusURL; + global Boolean success; + global RevenueAsyncLineLevelOutputResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueAsyncRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueAsyncRepresentation.cls new file mode 100644 index 0000000..8e67316 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueAsyncRepresentation.cls @@ -0,0 +1,13 @@ +global class RevenueAsyncRepresentation { + global List errors; + global String requestIdentifier; + global String statusURL; + global Boolean success; + global RevenueAsyncRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueElementRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueElementRequest.cls new file mode 100644 index 0000000..5ed62db --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueElementRequest.cls @@ -0,0 +1,25 @@ +global class RevenueElementRequest { + global Double amount; + global String currencyIsoCode; + global Datetime endDate; + global String externalReference; + global String externalReferenceDataSource; + global String financeBookId; + global Datetime fullRecognitionDate; + global String legalEntityId; + global String matchingId; + global String referenceEntityItem; + global Double revenueAllocationAmount; + global Double revenueExpectedAmount; + global Double revenueLiabilityAmount; + global String revenueRecognitionPolicyId; + global String revenueRecognitionTreatmentId; + global ConnectApi.RevenueRecognitionType revenueRecognitionType; + global Datetime startDate; + global RevenueElementRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueElementResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueElementResult.cls new file mode 100644 index 0000000..1f2bd21 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueElementResult.cls @@ -0,0 +1,13 @@ +global class RevenueElementResult { + global List errors; + global Boolean isSuccess; + global String message; + global List revenueElementIds; + global RevenueElementResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueRecognition.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueRecognition.cls new file mode 100644 index 0000000..7a7e95a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueRecognition.cls @@ -0,0 +1,3 @@ +global class RevenueRecognition { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueRecognitionRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueRecognitionRepresentation.cls new file mode 100644 index 0000000..922664e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueRecognitionRepresentation.cls @@ -0,0 +1,10 @@ +global class RevenueRecognitionRepresentation { + global List revenueRecognitionRepresentations; + global RevenueRecognitionRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueRecognitionType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueRecognitionType.cls new file mode 100644 index 0000000..377fe75 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/RevenueRecognitionType.cls @@ -0,0 +1,4 @@ +global enum RevenueRecognitionType { +PROJECTION, +RECOGNITION +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Routing.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Routing.cls new file mode 100644 index 0000000..c43fe25 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Routing.cls @@ -0,0 +1,3 @@ +global class Routing { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SaleApiPaymentMethodRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SaleApiPaymentMethodRequest.cls new file mode 100644 index 0000000..583fccb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SaleApiPaymentMethodRequest.cls @@ -0,0 +1,9 @@ +global class SaleApiPaymentMethodRequest { + global ConnectApi.CardPaymentMethodRequest cardPaymentMethod; + global SaleApiPaymentMethodRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SaleGatewayResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SaleGatewayResponse.cls new file mode 100644 index 0000000..560293d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SaleGatewayResponse.cls @@ -0,0 +1,9 @@ +global class SaleGatewayResponse { + global SaleGatewayResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SaleRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SaleRequest.cls new file mode 100644 index 0000000..0d09378 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SaleRequest.cls @@ -0,0 +1,16 @@ +global class SaleRequest { + global String accountId; + global Double amount; + global String comments; + global String currencyIsoCode; + global Datetime effectiveDate; + global String paymentGatewayId; + global ConnectApi.PaymentGroupRequest paymentGroup; + global ConnectApi.SaleApiPaymentMethodRequest paymentMethod; + global SaleRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SaleResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SaleResponse.cls new file mode 100644 index 0000000..9055d2a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SaleResponse.cls @@ -0,0 +1,15 @@ +global class SaleResponse { + global ConnectApi.ErrorResponse error; + global ConnectApi.SaleGatewayResponse gatewayResponse; + global ConnectApi.PaymentResponse payment; + global List paymentGatewayLogs; + global ConnectApi.PaymentGroupResponse paymentGroup; + global ConnectApi.PaymentMethodResponse paymentMethod; + global SaleResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SalesforceInbox.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SalesforceInbox.cls new file mode 100644 index 0000000..1dc9b84 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SalesforceInbox.cls @@ -0,0 +1,3 @@ +global class SalesforceInbox { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SaqlQueryInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SaqlQueryInput.cls new file mode 100644 index 0000000..8a0b858 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SaqlQueryInput.cls @@ -0,0 +1,14 @@ +global class SaqlQueryInput { + global ConnectApi.AnalyticsLicenseAttributes licenseAttributes; + global ConnectApi.SaqlQueryMetadata metadata; + global String name; + global String query; + global ConnectApi.QueryLanguage queryLanguage; + global String timezone; + global SaqlQueryInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SaqlQueryMetadata.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SaqlQueryMetadata.cls new file mode 100644 index 0000000..67801bf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SaqlQueryMetadata.cls @@ -0,0 +1,13 @@ +global class SaqlQueryMetadata { + global String originalQueryHash; + global Integer queryId; + global Integer querySequenceId; + global String uiSessionId; + global String uiTabId; + global SaqlQueryMetadata() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ScheduledRecommendation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ScheduledRecommendation.cls new file mode 100644 index 0000000..f66d922 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ScheduledRecommendation.cls @@ -0,0 +1,16 @@ +global class ScheduledRecommendation { + global ConnectApi.RecommendationChannel channel; + global Boolean enabled; + global String id; + global Integer rank; + global String recommendationAudienceId; + global ConnectApi.RecommendationDefinition recommendationDefinitionRepresentation; + global String url; + global ScheduledRecommendation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ScheduledRecommendationInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ScheduledRecommendationInput.cls new file mode 100644 index 0000000..6812a73 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ScheduledRecommendationInput.cls @@ -0,0 +1,13 @@ +global class ScheduledRecommendationInput { + global ConnectApi.RecommendationChannel channel; + global Boolean enabled; + global Integer rank; + global String recommendationAudienceId; + global String recommendationDefinitionId; + global ScheduledRecommendationInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ScheduledRecommendationPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ScheduledRecommendationPage.cls new file mode 100644 index 0000000..531ac73 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ScheduledRecommendationPage.cls @@ -0,0 +1,11 @@ +global class ScheduledRecommendationPage { + global List scheduledRecommendations; + global String url; + global ScheduledRecommendationPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Scope.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Scope.cls new file mode 100644 index 0000000..d827be0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Scope.cls @@ -0,0 +1,11 @@ +global class Scope { + global String name; + global String value; + global Scope() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchCategory.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchCategory.cls new file mode 100644 index 0000000..58fd9ee --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchCategory.cls @@ -0,0 +1,12 @@ +global class SearchCategory { + global ConnectApi.ProductCategoryData category; + global List children; + global Long productCount; + global SearchCategory() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchFacet.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchFacet.cls new file mode 100644 index 0000000..63ad3bd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchFacet.cls @@ -0,0 +1,14 @@ +global class SearchFacet { + global ConnectApi.CommerceSearchAttributeType attributeType; + global String displayName; + global Integer displayRank; + global ConnectApi.CommerceSearchFacetDisplayType displayType; + global ConnectApi.CommerceSearchFacetType facetType; + global String nameOrId; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchFieldRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchFieldRepresentation.cls new file mode 100644 index 0000000..83ad78f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchFieldRepresentation.cls @@ -0,0 +1,11 @@ +global class SearchFieldRepresentation { + global String developerName; + global String value; + global SearchFieldRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchFilterRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchFilterRepresentation.cls new file mode 100644 index 0000000..df23b94 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchFilterRepresentation.cls @@ -0,0 +1,10 @@ +global class SearchFilterRepresentation { + global String developerName; + global String value; + global SearchFilterRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchInput.cls new file mode 100644 index 0000000..301a3ef --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchInput.cls @@ -0,0 +1,11 @@ +global class SearchInput { + global List searchFilters; + global String searchTerm; + global ConnectApi.VerificationContextInput verificationContext; + global SearchInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchOutputRepresentation.cls new file mode 100644 index 0000000..b8bc69f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchOutputRepresentation.cls @@ -0,0 +1,13 @@ +global class SearchOutputRepresentation { + global Boolean isSuccess; + global String message; + global List searchResult; + global List searchResultHeader; + global SearchOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchResultHeaderRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchResultHeaderRepresentation.cls new file mode 100644 index 0000000..9ffea64 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchResultHeaderRepresentation.cls @@ -0,0 +1,12 @@ +global class SearchResultHeaderRepresentation { + global String dataType; + global String developerName; + global String displayLabel; + global SearchResultHeaderRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchResultRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchResultRepresentation.cls new file mode 100644 index 0000000..56f69a7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchResultRepresentation.cls @@ -0,0 +1,10 @@ +global class SearchResultRepresentation { + global List searchFields; + global SearchResultRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchResultRulesCollectionOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchResultRulesCollectionOutputRepresentation.cls new file mode 100644 index 0000000..eb7ac54 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchResultRulesCollectionOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class SearchResultRulesCollectionOutputRepresentation { + global List searchRules; + global SearchResultRulesCollectionOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchResultsRule.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchResultsRule.cls new file mode 100644 index 0000000..cf1d789 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchResultsRule.cls @@ -0,0 +1,13 @@ +global class SearchResultsRule { + global List locales; + global List ruleDefinition; + global String searchResultsRuleId; + global ConnectApi.SearchResultsRuleTypeEnum type; + global SearchResultsRule() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchResultsRuleTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchResultsRuleTypeEnum.cls new file mode 100644 index 0000000..b4cc535 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchResultsRuleTypeEnum.cls @@ -0,0 +1,3 @@ +global enum SearchResultsRuleTypeEnum { +INCLUDE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchSuggestion.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchSuggestion.cls new file mode 100644 index 0000000..d1739a2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchSuggestion.cls @@ -0,0 +1,9 @@ +global class SearchSuggestion { + global SearchSuggestion() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchSuggestionWithProductSuggestion.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchSuggestionWithProductSuggestion.cls new file mode 100644 index 0000000..2eb2d58 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SearchSuggestionWithProductSuggestion.cls @@ -0,0 +1,10 @@ +global class SearchSuggestionWithProductSuggestion { + global List suggestedProducts; + global SearchSuggestionWithProductSuggestion() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SegmentType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SegmentType.cls new file mode 100644 index 0000000..520ceeb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SegmentType.cls @@ -0,0 +1,4 @@ +global enum SegmentType { +DBT, +LOOKALIKE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SelectedSearchResultInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SelectedSearchResultInput.cls new file mode 100644 index 0000000..e4046a2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SelectedSearchResultInput.cls @@ -0,0 +1,11 @@ +global class SelectedSearchResultInput { + global String objectName; + global String selectedRecordId; + global List selectedRecordObject; + global SelectedSearchResultInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SelectedSearchResultOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SelectedSearchResultOutputRepresentation.cls new file mode 100644 index 0000000..edabf79 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SelectedSearchResultOutputRepresentation.cls @@ -0,0 +1,12 @@ +global class SelectedSearchResultOutputRepresentation { + global String objectName; + global String selectedRecordId; + global List selectedRecordObject; + global SelectedSearchResultOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SelectedVerifiedResultInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SelectedVerifiedResultInput.cls new file mode 100644 index 0000000..154c7fd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SelectedVerifiedResultInput.cls @@ -0,0 +1,9 @@ +global class SelectedVerifiedResultInput { + global List verifiedDetails; + global SelectedVerifiedResultInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SelectedVerifiedResultOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SelectedVerifiedResultOutputRepresentation.cls new file mode 100644 index 0000000..787c21f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SelectedVerifiedResultOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class SelectedVerifiedResultOutputRepresentation { + global List verifiedDetails; + global SelectedVerifiedResultOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SellingModelType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SellingModelType.cls new file mode 100644 index 0000000..74a6f38 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SellingModelType.cls @@ -0,0 +1,5 @@ +global enum SellingModelType { +EVERGREEN, +ONETIME, +TERMDEFINED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SemanticSearchQueryInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SemanticSearchQueryInput.cls new file mode 100644 index 0000000..85ca532 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SemanticSearchQueryInput.cls @@ -0,0 +1,9 @@ +global class SemanticSearchQueryInput { + global String query; + global SemanticSearchQueryInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SequenceOrderPaymentSummaryInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SequenceOrderPaymentSummaryInputRepresentation.cls new file mode 100644 index 0000000..069b83e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SequenceOrderPaymentSummaryInputRepresentation.cls @@ -0,0 +1,10 @@ +global class SequenceOrderPaymentSummaryInputRepresentation { + global Double amount; + global String orderPaymentSummaryId; + global SequenceOrderPaymentSummaryInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SequenceVerificationInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SequenceVerificationInput.cls new file mode 100644 index 0000000..bbbfd12 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SequenceVerificationInput.cls @@ -0,0 +1,13 @@ +global class SequenceVerificationInput { + global String developerName; + global String fieldDeveloperName; + global String inputValue; + global String selectedRecordId; + global String verificationToken; + global SequenceVerificationInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SequenceVerificationRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SequenceVerificationRepresentation.cls new file mode 100644 index 0000000..dd54e8a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SequenceVerificationRepresentation.cls @@ -0,0 +1,23 @@ +global class SequenceVerificationRepresentation { + global String developerName; + global String fieldDataType; + global String fieldDeveloperName; + global String fieldType; + global Boolean finalVerification; + global Boolean isInput; + global Boolean isVerified; + global String label; + global Integer optionalVerifications; + global Integer requiredVerifications; + global Integer retryCount; + global String selectedRecordId; + global ConnectApi.ErrorResponseRepresentation status; + global String verificationToken; + global SequenceVerificationRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceAppointmentInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceAppointmentInput.cls new file mode 100644 index 0000000..ccecabe --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceAppointmentInput.cls @@ -0,0 +1,26 @@ +global class ServiceAppointmentInput { + global String additionalInformation; + global String appointmentType; + global String city; + global String comments; + global String contactId; + global String country; + global String description; + global String engagementChannelTypeId; + global List extendedFields; + global String parentRecordId; + global String postalCode; + global Datetime schedEndTime; + global Datetime schedStartTime; + global String serviceTerritoryId; + global String state; + global String street; + global String subject; + global String workTypeId; + global ServiceAppointmentInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceAppointmentOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceAppointmentOutput.cls new file mode 100644 index 0000000..717ca43 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceAppointmentOutput.cls @@ -0,0 +1,10 @@ +global class ServiceAppointmentOutput { + global ConnectApi.ServiceAppointmentResult result; + global ServiceAppointmentOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceAppointmentResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceAppointmentResult.cls new file mode 100644 index 0000000..cbd1f12 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceAppointmentResult.cls @@ -0,0 +1,12 @@ +global class ServiceAppointmentResult { + global List assignedResourceIds; + global String parentRecordId; + global String serviceAppointmentId; + global ServiceAppointmentResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceCatalogFrequentActionsOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceCatalogFrequentActionsOutput.cls new file mode 100644 index 0000000..be481e0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceCatalogFrequentActionsOutput.cls @@ -0,0 +1,11 @@ +global class ServiceCatalogFrequentActionsOutput { + global List dynamicActions; + global List staticActions; + global ServiceCatalogFrequentActionsOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceCatalogItemAttributes.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceCatalogItemAttributes.cls new file mode 100644 index 0000000..b675f2d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceCatalogItemAttributes.cls @@ -0,0 +1,10 @@ +global class ServiceCatalogItemAttributes { + global Map data; + global ServiceCatalogItemAttributes() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceCatalogItemsFetchOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceCatalogItemsFetchOutput.cls new file mode 100644 index 0000000..691bc83 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceCatalogItemsFetchOutput.cls @@ -0,0 +1,12 @@ +global class ServiceCatalogItemsFetchOutput { + global List actions; + global ConnectApi.ServiceCatalogFrequentActionsOutput frequentActions; + global ConnectApi.EngagementStatusOutput status; + global ServiceCatalogItemsFetchOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceCatalogItemsOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceCatalogItemsOutput.cls new file mode 100644 index 0000000..3de0096 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceCatalogItemsOutput.cls @@ -0,0 +1,14 @@ +global class ServiceCatalogItemsOutput { + global Object actionDefinition; + global String actionDescription; + global String actionId; + global String actionLabel; + global String actionType; + global ServiceCatalogItemsOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceCatalogStaticActionsOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceCatalogStaticActionsOutput.cls new file mode 100644 index 0000000..f541d04 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceCatalogStaticActionsOutput.cls @@ -0,0 +1,12 @@ +global class ServiceCatalogStaticActionsOutput { + global String actionId; + global String businessName; + global Integer order; + global ServiceCatalogStaticActionsOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceEinsteinAppType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceEinsteinAppType.cls new file mode 100644 index 0000000..b9dd31b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceEinsteinAppType.cls @@ -0,0 +1,7 @@ +global enum ServiceEinsteinAppType { +ARTICLERECOMMENDATION, +FAQ, +REPLYRECOMMENDATION, +USECASEEXPLORER, +UTTERANCERECOMMENDATION +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceEinsteinModelManagement.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceEinsteinModelManagement.cls new file mode 100644 index 0000000..3aa2500 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceEinsteinModelManagement.cls @@ -0,0 +1,4 @@ +global enum ServiceEinsteinModelManagement { +STARTDATAGENERATION, +STARTTRAINING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceEinsteinModelTrainingErrorCode.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceEinsteinModelTrainingErrorCode.cls new file mode 100644 index 0000000..20947d1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceEinsteinModelTrainingErrorCode.cls @@ -0,0 +1,4 @@ +global enum ServiceEinsteinModelTrainingErrorCode { +NOTENOUGHDATA, +UNKNOWN +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceEinsteinModelTrainingStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceEinsteinModelTrainingStatus.cls new file mode 100644 index 0000000..6b3b549 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceEinsteinModelTrainingStatus.cls @@ -0,0 +1,11 @@ +global enum ServiceEinsteinModelTrainingStatus { +COMPLETED, +DATAGENERATIONCOMPLETED, +DATAGENERATIONFAILED, +DATAGENERATIONINPROGRESS, +FAILED, +INPROGRESS, +NOMODEL, +NOTSTARTED, +SKIPPED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceEinsteinReadinessCheckType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceEinsteinReadinessCheckType.cls new file mode 100644 index 0000000..54c793b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceEinsteinReadinessCheckType.cls @@ -0,0 +1,3 @@ +global enum ServiceEinsteinReadinessCheckType { +C2C_ENABLEMENT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceProcessRecordRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceProcessRecordRepresentation.cls new file mode 100644 index 0000000..893da61 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceProcessRecordRepresentation.cls @@ -0,0 +1,14 @@ +global class ServiceProcessRecordRepresentation { + global ConnectApi.ServiceCatalogItemAttributes attributes; + global String caseId; + global String caseNumber; + global String svcCatalogItemDefApiName; + global String svcCatalogRequestId; + global ServiceProcessRecordRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceProcessRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceProcessRepresentation.cls new file mode 100644 index 0000000..3a771f1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceProcessRepresentation.cls @@ -0,0 +1,13 @@ +global class ServiceProcessRepresentation { + global String caseId; + global String caseNumber; + global String caseStatus; + global String svcCatalogRequestId; + global ServiceProcessRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceProcessRequestInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceProcessRequestInputRepresentation.cls new file mode 100644 index 0000000..5b9c861 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServiceProcessRequestInputRepresentation.cls @@ -0,0 +1,12 @@ +global class ServiceProcessRequestInputRepresentation { + global Map attributes; + global Map caseInfo; + global List documentInfo; + global String svcCatalogItemDefApiName; + global ServiceProcessRequestInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServicingFacilityOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServicingFacilityOutput.cls new file mode 100644 index 0000000..219d60e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServicingFacilityOutput.cls @@ -0,0 +1,11 @@ +global class ServicingFacilityOutput { + global String servicingFacilityId; + global String servicingFacilityNpi; + global ServicingFacilityOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServicingPractitionerOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServicingPractitionerOutput.cls new file mode 100644 index 0000000..8b38117 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ServicingPractitionerOutput.cls @@ -0,0 +1,11 @@ +global class ServicingPractitionerOutput { + global String healthCareProviderId; + global String servicingPractitionerNpi; + global ServicingPractitionerOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SetupCallResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SetupCallResult.cls new file mode 100644 index 0000000..c82cdd5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SetupCallResult.cls @@ -0,0 +1,13 @@ +global class SetupCallResult { + global String errorMessage; + global Boolean isModerator; + global Boolean isSuccess; + global ConnectApi.NotifyAccessResult notifyAccess; + global SetupCallResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ShareRelationshipArrayRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ShareRelationshipArrayRepresentation.cls new file mode 100644 index 0000000..76c9a3a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ShareRelationshipArrayRepresentation.cls @@ -0,0 +1,10 @@ +global class ShareRelationshipArrayRepresentation { + global List path; + global ShareRelationshipArrayRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ShareRelationshipOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ShareRelationshipOutput.cls new file mode 100644 index 0000000..6d57aad --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ShareRelationshipOutput.cls @@ -0,0 +1,12 @@ +global class ShareRelationshipOutput { + global String developerName; + global String id; + global String type; + global ShareRelationshipOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Sharing.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Sharing.cls new file mode 100644 index 0000000..3cfef05 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Sharing.cls @@ -0,0 +1,6 @@ +global class Sharing { + global Object clone() { } + global static ConnectApi.RecordAccessDetailRepresentation getRecordAccessDetail(String recordId, String userId, Integer maxReasons, Boolean displayRelationshipPaths) { } + global static ConnectApi.RecordAccessDetailRepresentation getRecordAccessDetail(String recordId, String userId, Integer maxReasons) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SharingReasonRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SharingReasonRepresentation.cls new file mode 100644 index 0000000..e110e73 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SharingReasonRepresentation.cls @@ -0,0 +1,14 @@ +global class SharingReasonRepresentation { + global String accessLevel; + global String reasonForAccess; + global String relationship; + global List relationshipPaths; + global ConnectApi.UserOrGroupRepresentation shareRecipient; + global SharingReasonRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ShiftsFromPattern.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ShiftsFromPattern.cls new file mode 100644 index 0000000..23bc2d7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ShiftsFromPattern.cls @@ -0,0 +1,13 @@ +global class ShiftsFromPattern { + global Integer count; + global ConnectApi.ShiftsFromPatternError error; + global Boolean isSuccess; + global List recordIds; + global ShiftsFromPattern() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ShiftsFromPatternError.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ShiftsFromPatternError.cls new file mode 100644 index 0000000..cf987e0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ShiftsFromPatternError.cls @@ -0,0 +1,12 @@ +global class ShiftsFromPatternError { + global String code; + global String invalidServiceResourceId; + global String message; + global ShiftsFromPatternError() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ShiftsFromPatternInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ShiftsFromPatternInput.cls new file mode 100644 index 0000000..d365e05 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ShiftsFromPatternInput.cls @@ -0,0 +1,15 @@ +global class ShiftsFromPatternInput { + global String schedulingEndDate; + global Integer schedulingOccurrences; + global String schedulingStartDate; + global String serviceResourceId; + global List serviceResourceIdList; + global String serviceTerritoryId; + global String shiftStatus; + global ShiftsFromPatternInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SimulationContextInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SimulationContextInput.cls new file mode 100644 index 0000000..c33f0ce --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SimulationContextInput.cls @@ -0,0 +1,10 @@ +global class SimulationContextInput { + global String name; + global Object value; + global SimulationContextInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SiteSearchItem.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SiteSearchItem.cls new file mode 100644 index 0000000..bbec543 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SiteSearchItem.cls @@ -0,0 +1,15 @@ +global class SiteSearchItem { + global String contentReference; + global String contentTypeDeveloperName; + global String highlightedSnippet; + global String id; + global ConnectApi.ConnectSitesPageType pageType; + global String title; + global SiteSearchItem() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SiteSearchResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SiteSearchResult.cls new file mode 100644 index 0000000..de7f939 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SiteSearchResult.cls @@ -0,0 +1,19 @@ +global class SiteSearchResult { + global String currentPageToken; + global String currentPageUrl; + global List items; + global String language; + global String nextPageToken; + global String nextPageUrl; + global Integer pageSize; + global String previousPageToken; + global String previousPageUrl; + global Integer totalItems; + global SiteSearchResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Sites.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Sites.cls new file mode 100644 index 0000000..d1d48eb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Sites.cls @@ -0,0 +1,5 @@ +global class Sites { + global Object clone() { } + global static ConnectApi.SiteSearchResult searchSite(String siteId, String queryTerm, String pageToken, Integer pageSize, String language) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SlotStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SlotStatus.cls new file mode 100644 index 0000000..29251f0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SlotStatus.cls @@ -0,0 +1,5 @@ +global enum SlotStatus { +SERVICENOTAVAILABLE, +SLOTAVAILABLE, +SLOTNOTAVAILABLE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartAnswer.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartAnswer.cls new file mode 100644 index 0000000..a4dcbad --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartAnswer.cls @@ -0,0 +1,13 @@ +global class SmartAnswer { + global String answer; + global String id; + global Integer score; + global ConnectApi.EinsteinAnswerType type; + global String url; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartAnswers.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartAnswers.cls new file mode 100644 index 0000000..ef1d0c8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartAnswers.cls @@ -0,0 +1,10 @@ +global class SmartAnswers { + global List answers; + global SmartAnswers() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModel.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModel.cls new file mode 100644 index 0000000..5cb0ba6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModel.cls @@ -0,0 +1,31 @@ +global class SmartDataDiscoveryAIModel { + global String coefficientsUrl; + global ConnectApi.SmartDataDiscoveryUser createdBy; + global Datetime createdDate; + global String description; + global String id; + global ConnectApi.AbstractSmartDataDiscoveryAIModelSource input; + global String label; + global ConnectApi.SmartDataDiscoveryUser lastModifiedBy; + global Datetime lastModifiedDate; + global String metricsUrl; + global Object modelData; + global List modelFields; + global String modelFileUrl; + global ConnectApi.AbstractSmartDataDiscoveryModelRuntime modelRuntime; + global String name; + global String namespace; + global String predictedField; + global ConnectApi.AbstractSmartDataDiscoveryPredictionProperty predictionProperty; + global ConnectApi.SmartDataDiscoveryAIModelStatus status; + global List transformations; + global String url; + global Map validationResult; + global SmartDataDiscoveryAIModel() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelClassificationMetrics.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelClassificationMetrics.cls new file mode 100644 index 0000000..5ffd437 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelClassificationMetrics.cls @@ -0,0 +1,16 @@ +global class SmartDataDiscoveryAIModelClassificationMetrics { + global Double auc; + global Double falseNegativeRate; + global Double falsePositiveRate; + global Double gini; + global Double mcc; + global Double trueNegativeRate; + global Double truePositiveRate; + global SmartDataDiscoveryAIModelClassificationMetrics() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelCoefficientCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelCoefficientCollection.cls new file mode 100644 index 0000000..4a586ca --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelCoefficientCollection.cls @@ -0,0 +1,13 @@ +global class SmartDataDiscoveryAIModelCoefficientCollection { + global List coefficients; + global String nextPageUrl; + global Integer totalSize; + global String url; + global SmartDataDiscoveryAIModelCoefficientCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelCollection.cls new file mode 100644 index 0000000..23b1a1e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelCollection.cls @@ -0,0 +1,13 @@ +global class SmartDataDiscoveryAIModelCollection { + global List models; + global String nextPageUrl; + global Integer totalSize; + global String url; + global SmartDataDiscoveryAIModelCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelCollectionSortOrderType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelCollectionSortOrderType.cls new file mode 100644 index 0000000..9f77b19 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelCollectionSortOrderType.cls @@ -0,0 +1,8 @@ +global enum SmartDataDiscoveryAIModelCollectionSortOrderType { +CREATEDDATE, +DESCRIPTION, +NAME, +PREDICTIONFIELDNAME, +PREDICTIONTYPE, +RUNTIMETYPE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelDiscoverySource.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelDiscoverySource.cls new file mode 100644 index 0000000..8e5b178 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelDiscoverySource.cls @@ -0,0 +1,11 @@ +global class SmartDataDiscoveryAIModelDiscoverySource { + global ConnectApi.SmartDataDiscoveryAssetReference story; + global ConnectApi.SmartDataDiscoveryAssetReference storyHistory; + global SmartDataDiscoveryAIModelDiscoverySource() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelDiscoverySourceInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelDiscoverySourceInput.cls new file mode 100644 index 0000000..0f53d02 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelDiscoverySourceInput.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryAIModelDiscoverySourceInput { + global ConnectApi.SmartDataDiscoveryAssetReferenceInput runId; + global SmartDataDiscoveryAIModelDiscoverySourceInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelInput.cls new file mode 100644 index 0000000..0727f4e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelInput.cls @@ -0,0 +1,20 @@ +global class SmartDataDiscoveryAIModelInput { + global String description; + global ConnectApi.SmartDataDiscoveryAbstractAIModelSourceInput input; + global String label; + global Object modelData; + global List modelFields; + global ConnectApi.AbstractSmartDataDiscoveryModelRuntimeInput modelRuntime; + global String name; + global String predictedField; + global ConnectApi.SmartDataDiscoveryAbstractPredictionPropertyInput predictionProperty; + global ConnectApi.SmartDataDiscoveryAIModelStatus status; + global List transformations; + global Object validationResult; + global SmartDataDiscoveryAIModelInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelMulticlassMetrics.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelMulticlassMetrics.cls new file mode 100644 index 0000000..1f7fd07 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelMulticlassMetrics.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryAIModelMulticlassMetrics { + global SmartDataDiscoveryAIModelMulticlassMetrics() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelRegressionMetrics.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelRegressionMetrics.cls new file mode 100644 index 0000000..fd36267 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelRegressionMetrics.cls @@ -0,0 +1,13 @@ +global class SmartDataDiscoveryAIModelRegressionMetrics { + global Double mae; + global String residualsUrl; + global Double rmse; + global Double rsquared; + global SmartDataDiscoveryAIModelRegressionMetrics() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelResidual.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelResidual.cls new file mode 100644 index 0000000..e16094e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelResidual.cls @@ -0,0 +1,11 @@ +global class SmartDataDiscoveryAIModelResidual { + global Double actual; + global Double predicted; + global SmartDataDiscoveryAIModelResidual() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelResidualCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelResidualCollection.cls new file mode 100644 index 0000000..19d87e4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelResidualCollection.cls @@ -0,0 +1,13 @@ +global class SmartDataDiscoveryAIModelResidualCollection { + global String nextPageUrl; + global List residuals; + global Integer totalSize; + global String url; + global SmartDataDiscoveryAIModelResidualCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelStatus.cls new file mode 100644 index 0000000..c245acd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelStatus.cls @@ -0,0 +1,10 @@ +global enum SmartDataDiscoveryAIModelStatus { +DISABLED, +ENABLED, +UPLOADCOMPLETED, +UPLOADFAILED, +UPLOADING, +VALIDATING, +VALIDATIONCOMPLETED, +VALIDATIONFAILED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelTransformation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelTransformation.cls new file mode 100644 index 0000000..bcde2ac --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelTransformation.cls @@ -0,0 +1,14 @@ +global class SmartDataDiscoveryAIModelTransformation { + global String id; + global List sourceFields; + global Map state; + global List targetFields; + global ConnectApi.SmartDataDiscoveryAIModelTransformationTypeEnum type; + global SmartDataDiscoveryAIModelTransformation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelTransformationInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelTransformationInput.cls new file mode 100644 index 0000000..aaaebc4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelTransformationInput.cls @@ -0,0 +1,12 @@ +global class SmartDataDiscoveryAIModelTransformationInput { + global List sourceFieldNames; + global Object state; + global List targetFieldNames; + global ConnectApi.SmartDataDiscoveryAIModelTransformationTypeEnum type; + global SmartDataDiscoveryAIModelTransformationInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelTransformationTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelTransformationTypeEnum.cls new file mode 100644 index 0000000..0718200 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelTransformationTypeEnum.cls @@ -0,0 +1,10 @@ +global enum SmartDataDiscoveryAIModelTransformationTypeEnum { +CATEGORICALIMPUTATION, +EXTRACTDAYOFWEEK, +EXTRACTMONTHOFYEAR, +FREETEXTCLUSTERING, +NUMERICALIMPUTATION, +SENTIMENTANALYSIS, +TIMESERIESFORECAST, +TYPOGRAPHICCLUSTERING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelUserUploadSource.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelUserUploadSource.cls new file mode 100644 index 0000000..d855f96 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelUserUploadSource.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryAIModelUserUploadSource { + global SmartDataDiscoveryAIModelUserUploadSource() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelUserUploadSourceInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelUserUploadSourceInput.cls new file mode 100644 index 0000000..f45bcc0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAIModelUserUploadSourceInput.cls @@ -0,0 +1,8 @@ +global class SmartDataDiscoveryAIModelUserUploadSourceInput { + global SmartDataDiscoveryAIModelUserUploadSourceInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractAIModelSourceInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractAIModelSourceInput.cls new file mode 100644 index 0000000..8d68290 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractAIModelSourceInput.cls @@ -0,0 +1,8 @@ +global class SmartDataDiscoveryAbstractAIModelSourceInput { + global ConnectApi.SmartDataDiscoveryModelSourceTypeEnum type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractClassificationThreshold.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractClassificationThreshold.cls new file mode 100644 index 0000000..ae9e36a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractClassificationThreshold.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryAbstractClassificationThreshold { + global ConnectApi.SmartDataDiscoveryClassificationTypeEnum type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractClassificationThresholdInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractClassificationThresholdInput.cls new file mode 100644 index 0000000..8862ab3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractClassificationThresholdInput.cls @@ -0,0 +1,8 @@ +global class SmartDataDiscoveryAbstractClassificationThresholdInput { + global ConnectApi.SmartDataDiscoveryClassificationTypeEnum type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractFieldMappingSourceInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractFieldMappingSourceInput.cls new file mode 100644 index 0000000..ba3a15d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractFieldMappingSourceInput.cls @@ -0,0 +1,8 @@ +global class SmartDataDiscoveryAbstractFieldMappingSourceInput { + global ConnectApi.SmartDataDiscoveryFieldMapSourceTypeEnum type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractModelFieldInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractModelFieldInput.cls new file mode 100644 index 0000000..d3f957f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractModelFieldInput.cls @@ -0,0 +1,12 @@ +global class SmartDataDiscoveryAbstractModelFieldInput { + global Boolean disparateImpact; + global String label; + global String name; + global Boolean sensitive; + global ConnectApi.SmartDataDiscoveryModelFieldTypeEnum type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractPredict.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractPredict.cls new file mode 100644 index 0000000..e1342f5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractPredict.cls @@ -0,0 +1,14 @@ +global class SmartDataDiscoveryAbstractPredict { + global Double baseLine; + global ConnectApi.SmartDataDiscoveryPredictImportWarnings importWarnings; + global List middleValues; + global Double other; + global Integer smallTermCount; + global Double total; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractPredictionPropertyInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractPredictionPropertyInput.cls new file mode 100644 index 0000000..d5bc73b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAbstractPredictionPropertyInput.cls @@ -0,0 +1,8 @@ +global class SmartDataDiscoveryAbstractPredictionPropertyInput { + global ConnectApi.SmartDataDiscoveryPredictionTypeEnum type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAggregatePredictConditionRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAggregatePredictConditionRepresentation.cls new file mode 100644 index 0000000..16f708d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAggregatePredictConditionRepresentation.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryAggregatePredictConditionRepresentation { + global Integer count; + global SmartDataDiscoveryAggregatePredictConditionRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAggregatePredictStatusEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAggregatePredictStatusEnum.cls new file mode 100644 index 0000000..a852f98 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAggregatePredictStatusEnum.cls @@ -0,0 +1,4 @@ +global enum SmartDataDiscoveryAggregatePredictStatusEnum { +ERROR, +SUCCESS +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAggregatePredictionErrorRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAggregatePredictionErrorRepresentation.cls new file mode 100644 index 0000000..d9218e5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAggregatePredictionErrorRepresentation.cls @@ -0,0 +1,11 @@ +global class SmartDataDiscoveryAggregatePredictionErrorRepresentation { + global Integer errorCode; + global String message; + global SmartDataDiscoveryAggregatePredictionErrorRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAggregatePredictionRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAggregatePredictionRepresentation.cls new file mode 100644 index 0000000..d0c246a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAggregatePredictionRepresentation.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryAggregatePredictionRepresentation { + global Double value; + global SmartDataDiscoveryAggregatePredictionRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAssetReference.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAssetReference.cls new file mode 100644 index 0000000..cea1568 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAssetReference.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryAssetReference { + global SmartDataDiscoveryAssetReference() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAssetReferenceInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAssetReferenceInput.cls new file mode 100644 index 0000000..ad42f43 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryAssetReferenceInput.cls @@ -0,0 +1,8 @@ +global class SmartDataDiscoveryAssetReferenceInput { + global SmartDataDiscoveryAssetReferenceInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryBaseAssetReference.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryBaseAssetReference.cls new file mode 100644 index 0000000..db0ff6f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryBaseAssetReference.cls @@ -0,0 +1,13 @@ +global class SmartDataDiscoveryBaseAssetReference { + global String id; + global String label; + global String name; + global String namespace; + global String url; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryBinaryClassificationThreshold.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryBinaryClassificationThreshold.cls new file mode 100644 index 0000000..7efd289 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryBinaryClassificationThreshold.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryBinaryClassificationThreshold { + global Double value; + global SmartDataDiscoveryBinaryClassificationThreshold() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryBinaryClassificationThresholdInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryBinaryClassificationThresholdInput.cls new file mode 100644 index 0000000..91ccb63 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryBinaryClassificationThresholdInput.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryBinaryClassificationThresholdInput { + global Double value; + global SmartDataDiscoveryBinaryClassificationThresholdInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCategoricalImputationMethodEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCategoricalImputationMethodEnum.cls new file mode 100644 index 0000000..becd513 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCategoricalImputationMethodEnum.cls @@ -0,0 +1,3 @@ +global enum SmartDataDiscoveryCategoricalImputationMethodEnum { +AUTO +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCategoricalImputationTransformation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCategoricalImputationTransformation.cls new file mode 100644 index 0000000..c9f5097 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCategoricalImputationTransformation.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryCategoricalImputationTransformation { + global ConnectApi.SmartDataDiscoveryCategoricalImputationMethodEnum imputeMethod; + global SmartDataDiscoveryCategoricalImputationTransformation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCategoricalImputationTransformationInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCategoricalImputationTransformationInput.cls new file mode 100644 index 0000000..28eeced --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCategoricalImputationTransformationInput.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryCategoricalImputationTransformationInput { + global ConnectApi.SmartDataDiscoveryCategoricalImputationMethodEnum imputeMethod; + global SmartDataDiscoveryCategoricalImputationTransformationInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCategoricalProjectedPrediction.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCategoricalProjectedPrediction.cls new file mode 100644 index 0000000..22d79a2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCategoricalProjectedPrediction.cls @@ -0,0 +1,11 @@ +global class SmartDataDiscoveryCategoricalProjectedPrediction { + global Map classProbabilities; + global String prediction; + global SmartDataDiscoveryCategoricalProjectedPrediction() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryClassificationAlgorithmTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryClassificationAlgorithmTypeEnum.cls new file mode 100644 index 0000000..8c1662b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryClassificationAlgorithmTypeEnum.cls @@ -0,0 +1,7 @@ +global enum SmartDataDiscoveryClassificationAlgorithmTypeEnum { +BEST, +DRF, +GBM, +GLM, +XGBOOST +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryClassificationPredictionProperty.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryClassificationPredictionProperty.cls new file mode 100644 index 0000000..75e1173 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryClassificationPredictionProperty.cls @@ -0,0 +1,11 @@ +global class SmartDataDiscoveryClassificationPredictionProperty { + global ConnectApi.SmartDataDiscoveryClassificationAlgorithmTypeEnum algorithmType; + global ConnectApi.SmartDataDiscoveryAbstractClassificationThreshold classificationThreshold; + global SmartDataDiscoveryClassificationPredictionProperty() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryClassificationPredictionPropertyInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryClassificationPredictionPropertyInput.cls new file mode 100644 index 0000000..b48d3c8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryClassificationPredictionPropertyInput.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryClassificationPredictionPropertyInput { + global ConnectApi.SmartDataDiscoveryClassificationAlgorithmTypeEnum algorithmType; + global ConnectApi.SmartDataDiscoveryAbstractClassificationThresholdInput classificationThreshold; + global SmartDataDiscoveryClassificationPredictionPropertyInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryClassificationTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryClassificationTypeEnum.cls new file mode 100644 index 0000000..dab968c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryClassificationTypeEnum.cls @@ -0,0 +1,3 @@ +global enum SmartDataDiscoveryClassificationTypeEnum { +BINARY +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCluster.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCluster.cls new file mode 100644 index 0000000..b86dbcc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCluster.cls @@ -0,0 +1,14 @@ +global class SmartDataDiscoveryCluster { + global Boolean ignored; + global Integer itemCount; + global String label; + global String name; + global List values; + global SmartDataDiscoveryCluster() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryClusterInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryClusterInput.cls new file mode 100644 index 0000000..da65827 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryClusterInput.cls @@ -0,0 +1,12 @@ +global class SmartDataDiscoveryClusterInput { + global Boolean ignored; + global String label; + global String name; + global List values; + global SmartDataDiscoveryClusterInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryComplexFilterInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryComplexFilterInput.cls new file mode 100644 index 0000000..0e58f30 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryComplexFilterInput.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryComplexFilterInput { + global List filters; + global SmartDataDiscoveryComplexFilterInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryContact.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryContact.cls new file mode 100644 index 0000000..2a206b8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryContact.cls @@ -0,0 +1,11 @@ +global class SmartDataDiscoveryContact { + global String email; + global String name; + global SmartDataDiscoveryContact() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCustomPrescribableFieldDefinition.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCustomPrescribableFieldDefinition.cls new file mode 100644 index 0000000..f384c7d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCustomPrescribableFieldDefinition.cls @@ -0,0 +1,11 @@ +global class SmartDataDiscoveryCustomPrescribableFieldDefinition { + global List filters; + global String templateText; + global SmartDataDiscoveryCustomPrescribableFieldDefinition() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCustomPrescribableFieldDefinitionInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCustomPrescribableFieldDefinitionInput.cls new file mode 100644 index 0000000..cfca097 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCustomPrescribableFieldDefinitionInput.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryCustomPrescribableFieldDefinitionInput { + global List filters; + global String templateText; + global SmartDataDiscoveryCustomPrescribableFieldDefinitionInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCustomizableField.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCustomizableField.cls new file mode 100644 index 0000000..380f307 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCustomizableField.cls @@ -0,0 +1,11 @@ +global class SmartDataDiscoveryCustomizableField { + global List customDefinitions; + global ConnectApi.AbstractSmartDataDiscoveryModelField field; + global SmartDataDiscoveryCustomizableField() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCustomizableFieldDefinition.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCustomizableFieldDefinition.cls new file mode 100644 index 0000000..ae17f03 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCustomizableFieldDefinition.cls @@ -0,0 +1,11 @@ +global class SmartDataDiscoveryCustomizableFieldDefinition { + global List filters; + global String templateText; + global SmartDataDiscoveryCustomizableFieldDefinition() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCustomizableFieldDefinitionInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCustomizableFieldDefinitionInput.cls new file mode 100644 index 0000000..516ae01 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCustomizableFieldDefinitionInput.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryCustomizableFieldDefinitionInput { + global List filters; + global String templateText; + global SmartDataDiscoveryCustomizableFieldDefinitionInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCustomizableFieldInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCustomizableFieldInput.cls new file mode 100644 index 0000000..d8f2066 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryCustomizableFieldInput.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryCustomizableFieldInput { + global List customDefinitions; + global String fieldName; + global SmartDataDiscoveryCustomizableFieldInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryDataAlertFieldRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryDataAlertFieldRepresentation.cls new file mode 100644 index 0000000..27d1939 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryDataAlertFieldRepresentation.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryDataAlertFieldRepresentation { + global SmartDataDiscoveryDataAlertFieldRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryDataAlertType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryDataAlertType.cls new file mode 100644 index 0000000..a6296d8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryDataAlertType.cls @@ -0,0 +1,19 @@ +global enum SmartDataDiscoveryDataAlertType { +AUC, +COLLINEARFIELDS, +CORRELATEWITHPROTECTEDFIELDS, +CROSSVALIDATIONFAILED, +DATALEAKAGE, +DISPARATEIMPACT, +EXTREMEVALUES, +FALSEPREDICTIONRATE, +HIGHCARDINALITY, +IMBALANCEDDISTRIBUTION, +MISSINGCATEGORICALVALUES, +MISSINGVALUES, +OBVIOUSPREDICTOR, +RECOMMENDEDBUCKETS, +RSQUARED, +SINGLEVALUE, +SINGLEVALUEWITHOTHER +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryDiscoveryModelRuntime.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryDiscoveryModelRuntime.cls new file mode 100644 index 0000000..503501f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryDiscoveryModelRuntime.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryDiscoveryModelRuntime { + global SmartDataDiscoveryDiscoveryModelRuntime() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryDiscoveryModelRuntimeInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryDiscoveryModelRuntimeInput.cls new file mode 100644 index 0000000..f4a1fd7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryDiscoveryModelRuntimeInput.cls @@ -0,0 +1,8 @@ +global class SmartDataDiscoveryDiscoveryModelRuntimeInput { + global SmartDataDiscoveryDiscoveryModelRuntimeInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryDiscoveryNumericRangeInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryDiscoveryNumericRangeInput.cls new file mode 100644 index 0000000..8840637 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryDiscoveryNumericRangeInput.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryDiscoveryNumericRangeInput { + global Double max; + global Double min; + global SmartDataDiscoveryDiscoveryNumericRangeInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryDiscoveryPredictSettings.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryDiscoveryPredictSettings.cls new file mode 100644 index 0000000..cd3ace6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryDiscoveryPredictSettings.cls @@ -0,0 +1,13 @@ +global class SmartDataDiscoveryDiscoveryPredictSettings { + global List aggregateFunctions; + global Integer maxMiddleValues; + global Integer maxPrescriptions; + global Integer prescriptionImpactPercentage; + global ConnectApi.SmartDataDiscoveryProjectedPredictionSettingsInput projectedPredictions; + global SmartDataDiscoveryDiscoveryPredictSettings() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryExtractDayOfWeekTransformation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryExtractDayOfWeekTransformation.cls new file mode 100644 index 0000000..ca2a17d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryExtractDayOfWeekTransformation.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryExtractDayOfWeekTransformation { + global SmartDataDiscoveryExtractDayOfWeekTransformation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryExtractDayOfWeekTransformationInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryExtractDayOfWeekTransformationInput.cls new file mode 100644 index 0000000..dbb20d7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryExtractDayOfWeekTransformationInput.cls @@ -0,0 +1,8 @@ +global class SmartDataDiscoveryExtractDayOfWeekTransformationInput { + global SmartDataDiscoveryExtractDayOfWeekTransformationInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryExtractMonthOfYearTransformation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryExtractMonthOfYearTransformation.cls new file mode 100644 index 0000000..587e08b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryExtractMonthOfYearTransformation.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryExtractMonthOfYearTransformation { + global SmartDataDiscoveryExtractMonthOfYearTransformation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryExtractMonthOfYearTransformationInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryExtractMonthOfYearTransformationInput.cls new file mode 100644 index 0000000..462312d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryExtractMonthOfYearTransformationInput.cls @@ -0,0 +1,8 @@ +global class SmartDataDiscoveryExtractMonthOfYearTransformationInput { + global SmartDataDiscoveryExtractMonthOfYearTransformationInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryField.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryField.cls new file mode 100644 index 0000000..cc9ba63 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryField.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryField { + global String label; + global String name; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldInput.cls new file mode 100644 index 0000000..8181db5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldInput.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryFieldInput { + global String label; + global String name; + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMapSourceTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMapSourceTypeEnum.cls new file mode 100644 index 0000000..e1000a5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMapSourceTypeEnum.cls @@ -0,0 +1,4 @@ +global enum SmartDataDiscoveryFieldMapSourceTypeEnum { +ANALYTICSDATASETFIELD, +SALESFORCEFIELD +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMapping.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMapping.cls new file mode 100644 index 0000000..4906795 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMapping.cls @@ -0,0 +1,12 @@ +global class SmartDataDiscoveryFieldMapping { + global ConnectApi.AbstractSmartDataDiscoveryFieldMappingSource input; + global ConnectApi.SmartDataDiscoveryFieldMappingMappedField mappedField; + global ConnectApi.AbstractSmartDataDiscoveryModelField modelField; + global SmartDataDiscoveryFieldMapping() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingAnalyticsDatasetField.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingAnalyticsDatasetField.cls new file mode 100644 index 0000000..28cac43 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingAnalyticsDatasetField.cls @@ -0,0 +1,12 @@ +global class SmartDataDiscoveryFieldMappingAnalyticsDatasetField { + global String sobjectFieldJoinKey; + global ConnectApi.SmartDataDiscoveryAssetReference source; + global String sourceFieldJoinKey; + global SmartDataDiscoveryFieldMappingAnalyticsDatasetField() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingAnalyticsDatasetFieldInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingAnalyticsDatasetFieldInput.cls new file mode 100644 index 0000000..e8af78e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingAnalyticsDatasetFieldInput.cls @@ -0,0 +1,11 @@ +global class SmartDataDiscoveryFieldMappingAnalyticsDatasetFieldInput { + global String sobjectFieldJoinKey; + global ConnectApi.SmartDataDiscoveryAssetReferenceInput source; + global String sourceFieldJoinKey; + global SmartDataDiscoveryFieldMappingAnalyticsDatasetFieldInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingCollection.cls new file mode 100644 index 0000000..293317d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingCollection.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryFieldMappingCollection { + global List fieldMappingList; + global SmartDataDiscoveryFieldMappingCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingInput.cls new file mode 100644 index 0000000..6544e94 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingInput.cls @@ -0,0 +1,11 @@ +global class SmartDataDiscoveryFieldMappingInput { + global ConnectApi.SmartDataDiscoveryAbstractFieldMappingSourceInput input; + global String mappedFieldName; + global String modelFieldName; + global SmartDataDiscoveryFieldMappingInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingMappedField.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingMappedField.cls new file mode 100644 index 0000000..b0ffc4b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingMappedField.cls @@ -0,0 +1,12 @@ +global class SmartDataDiscoveryFieldMappingMappedField { + global String label; + global String name; + global String type; + global SmartDataDiscoveryFieldMappingMappedField() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingSalesforceField.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingSalesforceField.cls new file mode 100644 index 0000000..845fb33 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingSalesforceField.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryFieldMappingSalesforceField { + global SmartDataDiscoveryFieldMappingSalesforceField() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingSalesforceFieldInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingSalesforceFieldInput.cls new file mode 100644 index 0000000..4f2fd10 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFieldMappingSalesforceFieldInput.cls @@ -0,0 +1,8 @@ +global class SmartDataDiscoveryFieldMappingSalesforceFieldInput { + global SmartDataDiscoveryFieldMappingSalesforceFieldInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilter.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilter.cls new file mode 100644 index 0000000..65f3f01 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilter.cls @@ -0,0 +1,14 @@ +global class SmartDataDiscoveryFilter { + global String fieldName; + global List filterValues; + global ConnectApi.SmartDataDiscoveryFilterOperator operator; + global ConnectApi.SmartDataDiscoveryFilterFieldTypeEnum type; + global List values; + global SmartDataDiscoveryFilter() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterFieldTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterFieldTypeEnum.cls new file mode 100644 index 0000000..169b2d4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterFieldTypeEnum.cls @@ -0,0 +1,7 @@ +global enum SmartDataDiscoveryFilterFieldTypeEnum { +BOOLEAN, +DATE, +DATETIME, +NUMBER, +TEXT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterInput.cls new file mode 100644 index 0000000..25a5c4f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterInput.cls @@ -0,0 +1,13 @@ +global class SmartDataDiscoveryFilterInput { + global String fieldName; + global List filterValues; + global ConnectApi.SmartDataDiscoveryFilterOperator operator; + global ConnectApi.SmartDataDiscoveryFilterFieldTypeEnum type; + global List values; + global SmartDataDiscoveryFilterInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterList.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterList.cls new file mode 100644 index 0000000..eb705a8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterList.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryFilterList { + global List filters; + global SmartDataDiscoveryFilterList() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterOperator.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterOperator.cls new file mode 100644 index 0000000..1f1938f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterOperator.cls @@ -0,0 +1,15 @@ +global enum SmartDataDiscoveryFilterOperator { +BETWEEN, +CONTAINS, +ENDSWITH, +EQUAL, +GREATERTHAN, +GREATERTHANOREQUAL, +INSET, +LESSTHAN, +LESSTHANOREQUAL, +NOTBETWEEN, +NOTEQUAL, +NOTIN, +STARTSWITH +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterValue.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterValue.cls new file mode 100644 index 0000000..168dfb9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterValue.cls @@ -0,0 +1,11 @@ +global class SmartDataDiscoveryFilterValue { + global ConnectApi.SmartDataDiscoveryFilterValueTypeEnum type; + global String value; + global SmartDataDiscoveryFilterValue() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterValueInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterValueInput.cls new file mode 100644 index 0000000..14d2e3c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterValueInput.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryFilterValueInput { + global ConnectApi.SmartDataDiscoveryFilterValueTypeEnum type; + global String value; + global SmartDataDiscoveryFilterValueInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterValueTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterValueTypeEnum.cls new file mode 100644 index 0000000..258022d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFilterValueTypeEnum.cls @@ -0,0 +1,4 @@ +global enum SmartDataDiscoveryFilterValueTypeEnum { +CONSTANT, +PLACEHOLDER +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFreeTextClusteringTransformation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFreeTextClusteringTransformation.cls new file mode 100644 index 0000000..c9bcf92 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFreeTextClusteringTransformation.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryFreeTextClusteringTransformation { + global SmartDataDiscoveryFreeTextClusteringTransformation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFreeTextClusteringTransformationInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFreeTextClusteringTransformationInput.cls new file mode 100644 index 0000000..7157955 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryFreeTextClusteringTransformationInput.cls @@ -0,0 +1,8 @@ +global class SmartDataDiscoveryFreeTextClusteringTransformationInput { + global SmartDataDiscoveryFreeTextClusteringTransformationInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryH2OModelRuntime.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryH2OModelRuntime.cls new file mode 100644 index 0000000..10ce486 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryH2OModelRuntime.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryH2OModelRuntime { + global SmartDataDiscoveryH2OModelRuntime() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryH2OModelRuntimeInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryH2OModelRuntimeInput.cls new file mode 100644 index 0000000..ce8437b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryH2OModelRuntimeInput.cls @@ -0,0 +1,8 @@ +global class SmartDataDiscoveryH2OModelRuntimeInput { + global SmartDataDiscoveryH2OModelRuntimeInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryLiveMetricDetailRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryLiveMetricDetailRepresentation.cls new file mode 100644 index 0000000..ea43198 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryLiveMetricDetailRepresentation.cls @@ -0,0 +1,13 @@ +global class SmartDataDiscoveryLiveMetricDetailRepresentation { + global Datetime endDate; + global Integer rowCount; + global Datetime startDate; + global Map value; + global SmartDataDiscoveryLiveMetricDetailRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryLiveMetricsRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryLiveMetricsRepresentation.cls new file mode 100644 index 0000000..49a8a6f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryLiveMetricsRepresentation.cls @@ -0,0 +1,14 @@ +global class SmartDataDiscoveryLiveMetricsRepresentation { + global List disparateImpacts; + global List missingColumns; + global List outOfBoundsColumns; + global List predictions; + global List warnings; + global SmartDataDiscoveryLiveMetricsRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryManyToOneTransformationInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryManyToOneTransformationInput.cls new file mode 100644 index 0000000..8792bdd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryManyToOneTransformationInput.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryManyToOneTransformationInput { + global ConnectApi.SmartDataDiscoveryTransformationFilterInput postTransformationFilter; + global List sourceFieldNames; + global String targetFieldName; + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryMetricsCollectionRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryMetricsCollectionRepresentation.cls new file mode 100644 index 0000000..71233b0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryMetricsCollectionRepresentation.cls @@ -0,0 +1,14 @@ +global class SmartDataDiscoveryMetricsCollectionRepresentation { + global ConnectApi.SmartDataDiscoveryLiveMetricsRepresentation liveMetrics; + global Integer totalActiveModels; + global Integer totalModels; + global ConnectApi.SmartDataDiscoveryTrainingMetricsRepresentation trainingMetrics; + global String url; + global SmartDataDiscoveryMetricsCollectionRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModel.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModel.cls new file mode 100644 index 0000000..9013a28 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModel.cls @@ -0,0 +1,39 @@ +global class SmartDataDiscoveryModel { + global List actionableFields; + global List actionableVariables; + global ConnectApi.SmartDataDiscoveryAssetReference analysis; + global ConnectApi.SmartDataDiscoveryAbstractClassificationThreshold classificationThreshold; + global ConnectApi.SmartDataDiscoveryUser createdBy; + global Datetime createdDate; + global List customizableFactors; + global Map fieldMap; + global List fieldMappingList; + global List filters; + global String historyUrl; + global String id; + global Boolean isActive; + global Boolean isRefreshEnabled; + global String label; + global ConnectApi.SmartDataDiscoveryUser lastModifiedBy; + global Datetime lastModifiedDate; + global Double liveMetricThreshold; + global ConnectApi.SmartDataDiscoveryAssetReference model; + global String modelType; + global String name; + global String predictionDefinitionUrl; + global List prescribableFields; + global Integer sortOrder; + global Object state; + global String stateVersion; + global ConnectApi.SmartDataDiscoveryPredDefModelStatus status; + global ConnectApi.SmartDataDiscoveryAssetReference story; + global List transformationOverrides; + global String url; + global SmartDataDiscoveryModel() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelCard.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelCard.cls new file mode 100644 index 0000000..004f1b2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelCard.cls @@ -0,0 +1,18 @@ +global class SmartDataDiscoveryModelCard { + global ConnectApi.SmartDataDiscoveryContact contact; + global ConnectApi.SmartDataDiscoveryUser createdBy; + global Datetime createdDate; + global String id; + global String label; + global ConnectApi.SmartDataDiscoveryUser lastModifiedBy; + global Datetime lastModifiedDate; + global Map sections; + global String url; + global SmartDataDiscoveryModelCard() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelCollection.cls new file mode 100644 index 0000000..91e590a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelCollection.cls @@ -0,0 +1,12 @@ +global class SmartDataDiscoveryModelCollection { + global List models; + global Integer totalSize; + global String url; + global SmartDataDiscoveryModelCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldCollection.cls new file mode 100644 index 0000000..91a209d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldCollection.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryModelFieldCollection { + global List modelFields; + global SmartDataDiscoveryModelFieldCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldDate.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldDate.cls new file mode 100644 index 0000000..439adec --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldDate.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryModelFieldDate { + global List values; + global SmartDataDiscoveryModelFieldDate() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldDateInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldDateInput.cls new file mode 100644 index 0000000..07e2557 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldDateInput.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryModelFieldDateInput { + global List values; + global SmartDataDiscoveryModelFieldDateInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldNumeric.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldNumeric.cls new file mode 100644 index 0000000..443b4fc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldNumeric.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryModelFieldNumeric { + global List values; + global SmartDataDiscoveryModelFieldNumeric() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldNumericInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldNumericInput.cls new file mode 100644 index 0000000..537a7b4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldNumericInput.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryModelFieldNumericInput { + global List values; + global SmartDataDiscoveryModelFieldNumericInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldText.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldText.cls new file mode 100644 index 0000000..16bced0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldText.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryModelFieldText { + global List values; + global SmartDataDiscoveryModelFieldText() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldTextInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldTextInput.cls new file mode 100644 index 0000000..1714c7c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldTextInput.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryModelFieldTextInput { + global List values; + global SmartDataDiscoveryModelFieldTextInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldTypeEnum.cls new file mode 100644 index 0000000..4b6bbb8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelFieldTypeEnum.cls @@ -0,0 +1,5 @@ +global enum SmartDataDiscoveryModelFieldTypeEnum { +DATE, +NUMBER, +TEXT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelInput.cls new file mode 100644 index 0000000..980b1e4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelInput.cls @@ -0,0 +1,26 @@ +global class SmartDataDiscoveryModelInput { + global List actionableFields; + global ConnectApi.SmartDataDiscoveryAssetReferenceInput analysis; + global ConnectApi.SmartDataDiscoveryAbstractClassificationThresholdInput classificationThreshold; + global List customizableFactors; + global Map fieldMap; + global List fieldMapping; + global ConnectApi.SmartDataDiscoveryComplexFilterInput filterList; + global Boolean isActive; + global Boolean isRefreshEnabled; + global String label; + global Double liveMetricThreshold; + global ConnectApi.SmartDataDiscoveryAssetReferenceInput model; + global String name; + global List prescribableFields; + global Integer sortOrder; + global Object state; + global ConnectApi.SmartDataDiscoveryPredDefModelStatus status; + global List transformationOverrides; + global SmartDataDiscoveryModelInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelMetricType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelMetricType.cls new file mode 100644 index 0000000..78ba27b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelMetricType.cls @@ -0,0 +1,7 @@ +global enum SmartDataDiscoveryModelMetricType { +AUC, +COUNT, +OVERALLACCURACY, +PREDICTEDCOUNT, +R2 +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelRuntimeTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelRuntimeTypeEnum.cls new file mode 100644 index 0000000..bbe1b67 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelRuntimeTypeEnum.cls @@ -0,0 +1,7 @@ +global enum SmartDataDiscoveryModelRuntimeTypeEnum { +DISCOVERY, +H2O, +PY36TENSORFLOW244, +PY37SCIKITLEARN102, +PY37TENSORFLOW270 +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelSourceTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelSourceTypeEnum.cls new file mode 100644 index 0000000..b2c8f66 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryModelSourceTypeEnum.cls @@ -0,0 +1,4 @@ +global enum SmartDataDiscoveryModelSourceTypeEnum { +DISCOVERY, +USERUPLOAD +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryMulticlassClassificationPredictionProperty.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryMulticlassClassificationPredictionProperty.cls new file mode 100644 index 0000000..fe5e156 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryMulticlassClassificationPredictionProperty.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryMulticlassClassificationPredictionProperty { + global ConnectApi.SmartDataDiscoveryClassificationAlgorithmTypeEnum algorithmType; + global SmartDataDiscoveryMulticlassClassificationPredictionProperty() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryMulticlassClassificationPredictionPropertyInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryMulticlassClassificationPredictionPropertyInput.cls new file mode 100644 index 0000000..ffe28c5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryMulticlassClassificationPredictionPropertyInput.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryMulticlassClassificationPredictionPropertyInput { + global ConnectApi.SmartDataDiscoveryClassificationAlgorithmTypeEnum algorithmType; + global SmartDataDiscoveryMulticlassClassificationPredictionPropertyInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryMulticlassPredict.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryMulticlassPredict.cls new file mode 100644 index 0000000..360a5d4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryMulticlassPredict.cls @@ -0,0 +1,12 @@ +global class SmartDataDiscoveryMulticlassPredict { + global Map classProbabilites; + global String predictedClass; + global String type; + global SmartDataDiscoveryMulticlassPredict() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryMulticlassProbability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryMulticlassProbability.cls new file mode 100644 index 0000000..7947aaf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryMulticlassProbability.cls @@ -0,0 +1,11 @@ +global class SmartDataDiscoveryMulticlassProbability { + global String predictedClass; + global Double probability; + global SmartDataDiscoveryMulticlassProbability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericRange.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericRange.cls new file mode 100644 index 0000000..3436751 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericRange.cls @@ -0,0 +1,11 @@ +global class SmartDataDiscoveryNumericRange { + global Double max; + global Double min; + global SmartDataDiscoveryNumericRange() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericTransformationFilter.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericTransformationFilter.cls new file mode 100644 index 0000000..beb95e6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericTransformationFilter.cls @@ -0,0 +1,11 @@ +global class SmartDataDiscoveryNumericTransformationFilter { + global Double max; + global Double min; + global SmartDataDiscoveryNumericTransformationFilter() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericTransformationFilterInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericTransformationFilterInput.cls new file mode 100644 index 0000000..ab26d13 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericTransformationFilterInput.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryNumericTransformationFilterInput { + global Double max; + global Double min; + global SmartDataDiscoveryNumericTransformationFilterInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericalImputationMethodEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericalImputationMethodEnum.cls new file mode 100644 index 0000000..742e2ad --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericalImputationMethodEnum.cls @@ -0,0 +1,5 @@ +global enum SmartDataDiscoveryNumericalImputationMethodEnum { +MEAN, +MEDIAN, +MODE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericalImputationTransformation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericalImputationTransformation.cls new file mode 100644 index 0000000..1771000 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericalImputationTransformation.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryNumericalImputationTransformation { + global ConnectApi.SmartDataDiscoveryNumericalImputationMethodEnum imputeMethod; + global SmartDataDiscoveryNumericalImputationTransformation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericalImputationTransformationInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericalImputationTransformationInput.cls new file mode 100644 index 0000000..8961207 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericalImputationTransformationInput.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryNumericalImputationTransformationInput { + global ConnectApi.SmartDataDiscoveryNumericalImputationMethodEnum imputeMethod; + global SmartDataDiscoveryNumericalImputationTransformationInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericalProjectedPrediction.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericalProjectedPrediction.cls new file mode 100644 index 0000000..d73d29b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryNumericalProjectedPrediction.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryNumericalProjectedPrediction { + global Double prediction; + global SmartDataDiscoveryNumericalProjectedPrediction() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryOneToOneTransformationInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryOneToOneTransformationInput.cls new file mode 100644 index 0000000..def0f8f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryOneToOneTransformationInput.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryOneToOneTransformationInput { + global ConnectApi.SmartDataDiscoveryTransformationFilterInput postTransformationFilter; + global String sourceFieldName; + global String targetFieldName; + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryOutcomeGoal.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryOutcomeGoal.cls new file mode 100644 index 0000000..d861a99 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryOutcomeGoal.cls @@ -0,0 +1,5 @@ +global enum SmartDataDiscoveryOutcomeGoal { +MAXIMIZE, +MINIMIZE, +NONE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredDefCollectionSortOrderType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredDefCollectionSortOrderType.cls new file mode 100644 index 0000000..5a58ad5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredDefCollectionSortOrderType.cls @@ -0,0 +1,7 @@ +global enum SmartDataDiscoveryPredDefCollectionSortOrderType { +LASTUPDATE, +NAME, +OUTCOMEFIELDLABEL, +PREDICTIONTYPE, +SUBSCRIBEDENTITY +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredDefModelStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredDefModelStatus.cls new file mode 100644 index 0000000..3b83892 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredDefModelStatus.cls @@ -0,0 +1,4 @@ +global enum SmartDataDiscoveryPredDefModelStatus { +DISABLED, +ENABLED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredDefOutcome.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredDefOutcome.cls new file mode 100644 index 0000000..2437020 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredDefOutcome.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryPredDefOutcome { + global ConnectApi.SmartDataDiscoveryOutcomeGoal goal; + global SmartDataDiscoveryPredDefOutcome() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredDefOutcomeInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredDefOutcomeInput.cls new file mode 100644 index 0000000..0210b28 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredDefOutcomeInput.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryPredDefOutcomeInput { + global ConnectApi.SmartDataDiscoveryOutcomeGoal goal; + global SmartDataDiscoveryPredDefOutcomeInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredDefPushbackFieldInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredDefPushbackFieldInput.cls new file mode 100644 index 0000000..c1422e5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredDefPushbackFieldInput.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryPredDefPushbackFieldInput { + global Boolean createNewField; + global SmartDataDiscoveryPredDefPushbackFieldInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredict.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredict.cls new file mode 100644 index 0000000..07e4e56 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredict.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryPredict { + global SmartDataDiscoveryPredict() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictAggregateFunctionEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictAggregateFunctionEnum.cls new file mode 100644 index 0000000..f6b7c24 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictAggregateFunctionEnum.cls @@ -0,0 +1,5 @@ +global enum SmartDataDiscoveryPredictAggregateFunctionEnum { +AVERAGE, +MEDIAN, +SUM +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictColumn.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictColumn.cls new file mode 100644 index 0000000..2588d37 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictColumn.cls @@ -0,0 +1,14 @@ +global class SmartDataDiscoveryPredictColumn { + global String columnLabel; + global String columnName; + global String columnValue; + global ConnectApi.SmartDataDiscoveryPredictColumnCustomText customText; + global String inputValue; + global SmartDataDiscoveryPredictColumn() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictColumnCustomText.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictColumnCustomText.cls new file mode 100644 index 0000000..91af726 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictColumnCustomText.cls @@ -0,0 +1,11 @@ +global class SmartDataDiscoveryPredictColumnCustomText { + global Map mapping; + global String templateText; + global SmartDataDiscoveryPredictColumnCustomText() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictCondition.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictCondition.cls new file mode 100644 index 0000000..033a483 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictCondition.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryPredictCondition { + global SmartDataDiscoveryPredictCondition() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictErrorObject.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictErrorObject.cls new file mode 100644 index 0000000..4b6d9a1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictErrorObject.cls @@ -0,0 +1,11 @@ +global class SmartDataDiscoveryPredictErrorObject { + global Integer errorCode; + global String message; + global SmartDataDiscoveryPredictErrorObject() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictImportWarnings.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictImportWarnings.cls new file mode 100644 index 0000000..cb63035 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictImportWarnings.cls @@ -0,0 +1,12 @@ +global class SmartDataDiscoveryPredictImportWarnings { + global List mismatchedColumns; + global List missingColumns; + global List outOfBoundsColumns; + global SmartDataDiscoveryPredictImportWarnings() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictInput.cls new file mode 100644 index 0000000..c522461 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictInput.cls @@ -0,0 +1,11 @@ +global class SmartDataDiscoveryPredictInput { + global String entityId; + global Map exploratoryValues; + global String predictionDefinitionId; + global SmartDataDiscoveryPredictInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictInputRawData.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictInputRawData.cls new file mode 100644 index 0000000..c43ab52 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictInputRawData.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryPredictInputRawData { + global List columnNames; + global List rows; + global SmartDataDiscoveryPredictInputRawData() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictInputRecordOverrides.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictInputRecordOverrides.cls new file mode 100644 index 0000000..10eb734 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictInputRecordOverrides.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryPredictInputRecordOverrides { + global List columnNames; + global List rows; + global SmartDataDiscoveryPredictInputRecordOverrides() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictInputRecords.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictInputRecords.cls new file mode 100644 index 0000000..f5535ad --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictInputRecords.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryPredictInputRecords { + global List records; + global SmartDataDiscoveryPredictInputRecords() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictInputRowObject.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictInputRowObject.cls new file mode 100644 index 0000000..186e637 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictInputRowObject.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryPredictInputRowObject { + global String record; + global List row; + global SmartDataDiscoveryPredictInputRowObject() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictJob.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictJob.cls new file mode 100644 index 0000000..328778b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictJob.cls @@ -0,0 +1,27 @@ +global class SmartDataDiscoveryPredictJob { + global Integer batchSize; + global ConnectApi.SmartDataDiscoveryUser createdBy; + global Datetime createdDate; + global Integer failedRecords; + global List filters; + global String id; + global String label; + global ConnectApi.SmartDataDiscoveryUser lastModifiedBy; + global Datetime lastModifiedDate; + global String message; + global String name; + global ConnectApi.SmartDataDiscoveryAssetReference predictionDefinition; + global Integer processedRecords; + global ConnectApi.SmartDataDiscoveryPredictJobStatusEnum status; + global String subscribedEntity; + global Integer totalRecords; + global String url; + global Boolean useTerminalStateFilter; + global SmartDataDiscoveryPredictJob() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictJobCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictJobCollection.cls new file mode 100644 index 0000000..589dabd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictJobCollection.cls @@ -0,0 +1,12 @@ +global class SmartDataDiscoveryPredictJobCollection { + global List predictJobs; + global Integer totalSize; + global String url; + global SmartDataDiscoveryPredictJobCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictJobInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictJobInput.cls new file mode 100644 index 0000000..0a00736 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictJobInput.cls @@ -0,0 +1,12 @@ +global class SmartDataDiscoveryPredictJobInput { + global ConnectApi.SmartDataDiscoveryComplexFilterInput filters; + global String label; + global ConnectApi.SmartDataDiscoveryAssetReferenceInput predictionDefinition; + global Boolean useTerminalStateFilter; + global SmartDataDiscoveryPredictJobInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictJobStatusEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictJobStatusEnum.cls new file mode 100644 index 0000000..d4ceef0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictJobStatusEnum.cls @@ -0,0 +1,8 @@ +global enum SmartDataDiscoveryPredictJobStatusEnum { +CANCELLED, +COMPLETED, +FAILED, +INPROGRESS, +NOTSTARTED, +PAUSED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictJobUpdate.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictJobUpdate.cls new file mode 100644 index 0000000..8594ce7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictJobUpdate.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryPredictJobUpdate { + global ConnectApi.SmartDataDiscoveryPredictJobStatusEnum status; + global SmartDataDiscoveryPredictJobUpdate() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictObject.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictObject.cls new file mode 100644 index 0000000..66859e6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictObject.cls @@ -0,0 +1,13 @@ +global class SmartDataDiscoveryPredictObject { + global ConnectApi.SmartDataDiscoveryAssetReference model; + global ConnectApi.SmartDataDiscoveryAbstractPredict prediction; + global List prescriptions; + global ConnectApi.SmartDataDiscoveryProjectedPredictions projectedPredictions; + global SmartDataDiscoveryPredictObject() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictOutOfBoundsFields.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictOutOfBoundsFields.cls new file mode 100644 index 0000000..69f921f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictOutOfBoundsFields.cls @@ -0,0 +1,11 @@ +global class SmartDataDiscoveryPredictOutOfBoundsFields { + global String field; + global String maskedValue; + global SmartDataDiscoveryPredictOutOfBoundsFields() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictSettings.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictSettings.cls new file mode 100644 index 0000000..142f9a6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictSettings.cls @@ -0,0 +1,14 @@ +global class SmartDataDiscoveryPredictSettings { + global List aggregateFunctions; + global Integer maxMiddleValues; + global Integer maxPrescriptions; + global Integer prescriptionImpactPercentage; + global ConnectApi.SmartDataDiscoveryProjectedPredictionSettings projectedPredictions; + global SmartDataDiscoveryPredictSettings() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictStatusEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictStatusEnum.cls new file mode 100644 index 0000000..5e141fa --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictStatusEnum.cls @@ -0,0 +1,4 @@ +global enum SmartDataDiscoveryPredictStatusEnum { +ERROR, +SUCCESS +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictTypeEnum.cls new file mode 100644 index 0000000..1b9c275 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictTypeEnum.cls @@ -0,0 +1,5 @@ +global enum SmartDataDiscoveryPredictTypeEnum { +RAWDATA, +RECORDOVERRIDES, +RECORDS +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPrediction.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPrediction.cls new file mode 100644 index 0000000..6406736 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPrediction.cls @@ -0,0 +1,19 @@ +global class SmartDataDiscoveryPrediction { + global List aggregatePredictions; + global String entityId; + global Map exploratoryValues; + global ConnectApi.SmartDataDiscoveryAbstractPredict prediction; + global String predictionDefinition; + global String predictionDefinitionId; + global ConnectApi.SmartDataDiscoveryPredictionTypeEnum predictionType; + global List predictions; + global List prescriptions; + global ConnectApi.SmartDataDiscoveryPredictSettings settings; + global SmartDataDiscoveryPrediction() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictionDefinition.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictionDefinition.cls new file mode 100644 index 0000000..fca2d0a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictionDefinition.cls @@ -0,0 +1,38 @@ +global class SmartDataDiscoveryPredictionDefinition { + global Integer countOfActiveModels; + global Integer countOfModels; + global ConnectApi.SmartDataDiscoveryUser createdBy; + global Datetime createdDate; + global String id; + global Boolean isActive; + global Boolean isWritingToEntity; + global String label; + global ConnectApi.SmartDataDiscoveryUser lastModifiedBy; + global Datetime lastModifiedDate; + global String mappedOutcomeField; + global String modelsUrl; + global String name; + global String namespace; + global Integer ninetyDayWarningsCount; + global ConnectApi.SmartDataDiscoveryPredDefOutcome outcome; + global String outcomeField; + global String outcomeFieldLabel; + global ConnectApi.SmartDataDiscoveryOutcomeGoal outcomeGoal; + global ConnectApi.SmartDataDiscoveryPredictionTypeEnum predictionType; + global ConnectApi.SmartDataDiscoveryPushbackField pushbackField; + global ConnectApi.SmartDataDiscoveryPushbackType pushbackType; + global ConnectApi.SmartDataDiscoveryRefreshConfig refreshConfig; + global ConnectApi.SmartDataDiscoveryPredDefModelStatus status; + global String subscribedEntity; + global ConnectApi.SmartDataDiscoveryFilterList terminalStateFilter; + global Integer totalPredictionsCount; + global Integer totalWarningsCount; + global String url; + global SmartDataDiscoveryPredictionDefinition() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictionDefinitionCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictionDefinitionCollection.cls new file mode 100644 index 0000000..e79c6e3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictionDefinitionCollection.cls @@ -0,0 +1,13 @@ +global class SmartDataDiscoveryPredictionDefinitionCollection { + global String nextPageUrl; + global List predictionDefinitions; + global Integer totalSize; + global String url; + global SmartDataDiscoveryPredictionDefinitionCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictionDefinitionInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictionDefinitionInput.cls new file mode 100644 index 0000000..603c4f2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictionDefinitionInput.cls @@ -0,0 +1,24 @@ +global class SmartDataDiscoveryPredictionDefinitionInput { + global Boolean isActive; + global Boolean isWritingToEntity; + global String label; + global String mappedOutcomeField; + global String name; + global ConnectApi.SmartDataDiscoveryPredDefOutcomeInput outcome; + global String outcomeField; + global String outcomeFieldLabel; + global ConnectApi.SmartDataDiscoveryOutcomeGoal outcomeGoal; + global ConnectApi.SmartDataDiscoveryPredictionTypeEnum predictionType; + global ConnectApi.SmartDataDiscoveryPredDefPushbackFieldInput pushbackField; + global ConnectApi.SmartDataDiscoveryPushbackType pushbackType; + global ConnectApi.SmartDataDiscoveryRefreshConfigInput refreshConfig; + global ConnectApi.SmartDataDiscoveryPredDefModelStatus status; + global String subscribedEntity; + global ConnectApi.SmartDataDiscoveryComplexFilterInput terminalStateFilter; + global SmartDataDiscoveryPredictionDefinitionInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictionTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictionTypeEnum.cls new file mode 100644 index 0000000..f8aed47 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPredictionTypeEnum.cls @@ -0,0 +1,6 @@ +global enum SmartDataDiscoveryPredictionTypeEnum { +CLASSIFICATION, +MULTICLASSCLASSIFICATION, +REGRESSION, +UNKNOWN +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPrescribableField.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPrescribableField.cls new file mode 100644 index 0000000..86e185f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPrescribableField.cls @@ -0,0 +1,11 @@ +global class SmartDataDiscoveryPrescribableField { + global List customDefinitions; + global ConnectApi.AbstractSmartDataDiscoveryModelField field; + global SmartDataDiscoveryPrescribableField() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPrescribableFieldInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPrescribableFieldInput.cls new file mode 100644 index 0000000..320a321 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPrescribableFieldInput.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryPrescribableFieldInput { + global List customDefinitions; + global String fieldName; + global SmartDataDiscoveryPrescribableFieldInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionField.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionField.cls new file mode 100644 index 0000000..8e6e9da --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionField.cls @@ -0,0 +1,13 @@ +global class SmartDataDiscoveryProjectedPredictionField { + global ConnectApi.SmartDataDiscoveryProjectedPredictionsIntervalTypeEnum intervalType; + global String name; + global Integer numberOfIntervals; + global List projectedValues; + global SmartDataDiscoveryProjectedPredictionField() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionSettings.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionSettings.cls new file mode 100644 index 0000000..688868d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionSettings.cls @@ -0,0 +1,12 @@ +global class SmartDataDiscoveryProjectedPredictionSettings { + global Integer confidenceInterval; + global Integer numberOfIntervalsToProjectAhead; + global Boolean showProjectedPredictionByInterval; + global SmartDataDiscoveryProjectedPredictionSettings() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionSettingsInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionSettingsInput.cls new file mode 100644 index 0000000..f28e761 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionSettingsInput.cls @@ -0,0 +1,11 @@ +global class SmartDataDiscoveryProjectedPredictionSettingsInput { + global Integer confidenceInterval; + global Integer numberOfIntervalsToProjectAhead; + global Boolean showProjectedPredictionByInterval; + global SmartDataDiscoveryProjectedPredictionSettingsInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictions.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictions.cls new file mode 100644 index 0000000..378320d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictions.cls @@ -0,0 +1,14 @@ +global class SmartDataDiscoveryProjectedPredictions { + global List fields; + global ConnectApi.AbstractSmartDataDiscoveryProjectedPredictionsIntervalSetting intervalSetting; + global ConnectApi.SmartDataDiscoveryProjectedPredictionsIntervalTypeEnum intervalType; + global Integer numberOfIntervalsProjectedAhead; + global List predictions; + global SmartDataDiscoveryProjectedPredictions() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsCountFromDateIntervalSetting.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsCountFromDateIntervalSetting.cls new file mode 100644 index 0000000..fdc220c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsCountFromDateIntervalSetting.cls @@ -0,0 +1,12 @@ +global class SmartDataDiscoveryProjectedPredictionsCountFromDateIntervalSetting { + global String dateField; + global String dateFieldLabel; + global Integer numIntervals; + global SmartDataDiscoveryProjectedPredictionsCountFromDateIntervalSetting() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsCountFromDateIntervalSettingInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsCountFromDateIntervalSettingInput.cls new file mode 100644 index 0000000..8572f63 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsCountFromDateIntervalSettingInput.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryProjectedPredictionsCountFromDateIntervalSettingInput { + global String dateField; + global Integer numIntervals; + global SmartDataDiscoveryProjectedPredictionsCountFromDateIntervalSettingInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsCountIntervalSetting.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsCountIntervalSetting.cls new file mode 100644 index 0000000..dc66f94 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsCountIntervalSetting.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryProjectedPredictionsCountIntervalSetting { + global Integer numIntervals; + global SmartDataDiscoveryProjectedPredictionsCountIntervalSetting() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsCountIntervalSettingInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsCountIntervalSettingInput.cls new file mode 100644 index 0000000..6686cfc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsCountIntervalSettingInput.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryProjectedPredictionsCountIntervalSettingInput { + global Integer numIntervals; + global SmartDataDiscoveryProjectedPredictionsCountIntervalSettingInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsDateIntervalSetting.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsDateIntervalSetting.cls new file mode 100644 index 0000000..a706e67 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsDateIntervalSetting.cls @@ -0,0 +1,11 @@ +global class SmartDataDiscoveryProjectedPredictionsDateIntervalSetting { + global String dateField; + global String dateFieldLabel; + global SmartDataDiscoveryProjectedPredictionsDateIntervalSetting() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsDateIntervalSettingInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsDateIntervalSettingInput.cls new file mode 100644 index 0000000..8d659dd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsDateIntervalSettingInput.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryProjectedPredictionsDateIntervalSettingInput { + global String dateField; + global SmartDataDiscoveryProjectedPredictionsDateIntervalSettingInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsHistoricalDatasetInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsHistoricalDatasetInput.cls new file mode 100644 index 0000000..a25bee3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsHistoricalDatasetInput.cls @@ -0,0 +1,11 @@ +global class SmartDataDiscoveryProjectedPredictionsHistoricalDatasetInput { + global String datasetId; + global String datasetVersionId; + global SmartDataDiscoveryProjectedPredictionsHistoricalDatasetInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsHistoricalDatasetSourceInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsHistoricalDatasetSourceInput.cls new file mode 100644 index 0000000..c11abe7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsHistoricalDatasetSourceInput.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryProjectedPredictionsHistoricalDatasetSourceInput { + global ConnectApi.SmartDataDiscoveryAssetReferenceInput dataset; + global ConnectApi.SmartDataDiscoveryAssetReferenceInput datasetVersion; + global SmartDataDiscoveryProjectedPredictionsHistoricalDatasetSourceInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsIntervalSettingType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsIntervalSettingType.cls new file mode 100644 index 0000000..df9a71b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsIntervalSettingType.cls @@ -0,0 +1,5 @@ +global enum SmartDataDiscoveryProjectedPredictionsIntervalSettingType { +COUNT, +COUNTFROMDATE, +DATE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsIntervalTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsIntervalTypeEnum.cls new file mode 100644 index 0000000..acf886a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsIntervalTypeEnum.cls @@ -0,0 +1,6 @@ +global enum SmartDataDiscoveryProjectedPredictionsIntervalTypeEnum { +DAY, +MONTH, +QUARTER, +WEEK +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsOverride.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsOverride.cls new file mode 100644 index 0000000..ba73650 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsOverride.cls @@ -0,0 +1,11 @@ +global class SmartDataDiscoveryProjectedPredictionsOverride { + global String assetIdField; + global ConnectApi.AbstractSmartDataDiscoveryProjectedPredictionsIntervalSetting intervalOverride; + global SmartDataDiscoveryProjectedPredictionsOverride() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsOverrideInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsOverrideInput.cls new file mode 100644 index 0000000..ec7f217 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsOverrideInput.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryProjectedPredictionsOverrideInput { + global String assetIdField; + global ConnectApi.AbstractSmartDataDiscoveryProjectedPredictionsIntervalSettingInput intervalOverride; + global SmartDataDiscoveryProjectedPredictionsOverrideInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsTransformation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsTransformation.cls new file mode 100644 index 0000000..814e9f7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsTransformation.cls @@ -0,0 +1,16 @@ +global class SmartDataDiscoveryProjectedPredictionsTransformation { + global String assetIdFieldName; + global String dateFieldName; + global ConnectApi.SmartDataDiscoveryProjectedPredictionsHistoricalDatasetInput input; + global Integer numIntervals; + global ConnectApi.SmartDataDiscoveryProjectedPredictionsIntervalTypeEnum projectedPredictionsIntervalType; + global String projectionFieldName; + global Integer seasonalityPeriod; + global SmartDataDiscoveryProjectedPredictionsTransformation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsTransformationInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsTransformationInput.cls new file mode 100644 index 0000000..58969ad --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsTransformationInput.cls @@ -0,0 +1,15 @@ +global class SmartDataDiscoveryProjectedPredictionsTransformationInput { + global String assetIdFieldName; + global String dateFieldName; + global ConnectApi.SmartDataDiscoveryProjectedPredictionsHistoricalDatasetSourceInput input; + global Integer numIntervals; + global ConnectApi.SmartDataDiscoveryProjectedPredictionsIntervalTypeEnum projectedPredictionsIntervalType; + global String projectionFieldName; + global Integer seasonalityPeriod; + global SmartDataDiscoveryProjectedPredictionsTransformationInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsType.cls new file mode 100644 index 0000000..21ba8cf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedPredictionsType.cls @@ -0,0 +1,4 @@ +global enum SmartDataDiscoveryProjectedPredictionsType { +CATEGORICAL, +NUMERICAL +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedValue.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedValue.cls new file mode 100644 index 0000000..dc2f763 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryProjectedValue.cls @@ -0,0 +1,12 @@ +global class SmartDataDiscoveryProjectedValue { + global Double confidenceIntervalLowerBound; + global Double confidenceIntervalUpperBound; + global Double value; + global SmartDataDiscoveryProjectedValue() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPushbackField.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPushbackField.cls new file mode 100644 index 0000000..45dde8e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPushbackField.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryPushbackField { + global SmartDataDiscoveryPushbackField() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPushbackType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPushbackType.cls new file mode 100644 index 0000000..98c92d8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryPushbackType.cls @@ -0,0 +1,4 @@ +global enum SmartDataDiscoveryPushbackType { +AIRECORDINSIGHT, +DIRECT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRecipient.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRecipient.cls new file mode 100644 index 0000000..599f998 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRecipient.cls @@ -0,0 +1,12 @@ +global class SmartDataDiscoveryRecipient { + global String displayName; + global String id; + global ConnectApi.SmartDataDiscoveryRecipientTypeEnum type; + global SmartDataDiscoveryRecipient() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRecipientInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRecipientInput.cls new file mode 100644 index 0000000..22949f4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRecipientInput.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryRecipientInput { + global String id; + global SmartDataDiscoveryRecipientInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRecipientTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRecipientTypeEnum.cls new file mode 100644 index 0000000..e4ee7a8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRecipientTypeEnum.cls @@ -0,0 +1,4 @@ +global enum SmartDataDiscoveryRecipientTypeEnum { +GROUP, +USER +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshConfig.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshConfig.cls new file mode 100644 index 0000000..9316e8d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshConfig.cls @@ -0,0 +1,14 @@ +global class SmartDataDiscoveryRefreshConfig { + global Boolean isEnabled; + global List recipientList; + global Boolean shouldScoreAfterRefresh; + global ConnectApi.SmartDataDiscoveryUser userContext; + global Double warningThresholdPercentage; + global SmartDataDiscoveryRefreshConfig() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshConfigInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshConfigInput.cls new file mode 100644 index 0000000..72dcdfb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshConfigInput.cls @@ -0,0 +1,13 @@ +global class SmartDataDiscoveryRefreshConfigInput { + global Boolean isEnabled; + global List recipientList; + global Boolean shouldScoreAfterRefresh; + global ConnectApi.SmartDataDiscoveryAssetReferenceInput userContext; + global Double warningThresholdPercentage; + global SmartDataDiscoveryRefreshConfigInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshJob.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshJob.cls new file mode 100644 index 0000000..3ad2528 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshJob.cls @@ -0,0 +1,20 @@ +global class SmartDataDiscoveryRefreshJob { + global ConnectApi.SmartDataDiscoveryUser createdBy; + global Datetime createdDate; + global Datetime endTime; + global String id; + global String message; + global ConnectApi.SmartDataDiscoveryAssetReference refreshTarget; + global String refreshTasksUrl; + global Datetime startTime; + global ConnectApi.SmartDataDiscoveryRefreshJobStatusEnum status; + global ConnectApi.SmartDataDiscoveryRefreshJobTypeEnum type; + global String url; + global SmartDataDiscoveryRefreshJob() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshJobCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshJobCollection.cls new file mode 100644 index 0000000..8895827 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshJobCollection.cls @@ -0,0 +1,12 @@ +global class SmartDataDiscoveryRefreshJobCollection { + global List refreshJobs; + global Integer totalSize; + global String url; + global SmartDataDiscoveryRefreshJobCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshJobInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshJobInput.cls new file mode 100644 index 0000000..65e28c8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshJobInput.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryRefreshJobInput { + global ConnectApi.SmartDataDiscoveryAssetReferenceInput refreshTarget; + global ConnectApi.SmartDataDiscoveryRefreshJobStatusEnum status; + global SmartDataDiscoveryRefreshJobInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshJobStatusEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshJobStatusEnum.cls new file mode 100644 index 0000000..361ec15 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshJobStatusEnum.cls @@ -0,0 +1,11 @@ +global enum SmartDataDiscoveryRefreshJobStatusEnum { +CANCELLED, +COMPLETEDWITHWARNINGS, +FAILURE, +NORUNNABLETASKS, +NOTSTARTED, +RUNNING, +SCORINGJOBFAILED, +SUCCESS, +USERNOTFOUND +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshJobTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshJobTypeEnum.cls new file mode 100644 index 0000000..b602151 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshJobTypeEnum.cls @@ -0,0 +1,4 @@ +global enum SmartDataDiscoveryRefreshJobTypeEnum { +SCHEDULED, +USERTRIGGERED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshTask.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshTask.cls new file mode 100644 index 0000000..79dbb9f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshTask.cls @@ -0,0 +1,20 @@ +global class SmartDataDiscoveryRefreshTask { + global ConnectApi.SmartDataDiscoveryUser createdBy; + global Datetime createdDate; + global Datetime endTime; + global String id; + global String message; + global ConnectApi.SmartDataDiscoveryAssetReference refreshTarget; + global ConnectApi.SmartDataDiscoveryAssetReference refreshedAIModel; + global ConnectApi.SmartDataDiscoveryRefreshTaskSource source; + global Datetime startTime; + global ConnectApi.SmartDataDiscoveryRefreshTaskStatusEnum status; + global String url; + global SmartDataDiscoveryRefreshTask() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshTaskCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshTaskCollection.cls new file mode 100644 index 0000000..410e9a9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshTaskCollection.cls @@ -0,0 +1,12 @@ +global class SmartDataDiscoveryRefreshTaskCollection { + global List refreshTasks; + global Integer totalSize; + global String url; + global SmartDataDiscoveryRefreshTaskCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshTaskSource.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshTaskSource.cls new file mode 100644 index 0000000..98ff5d6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshTaskSource.cls @@ -0,0 +1,12 @@ +global class SmartDataDiscoveryRefreshTaskSource { + global ConnectApi.SmartDataDiscoveryAssetReference datasetVersion; + global ConnectApi.SmartDataDiscoveryAssetReference story; + global ConnectApi.SmartDataDiscoveryAssetReference storyVersion; + global SmartDataDiscoveryRefreshTaskSource() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshTaskStatusEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshTaskStatusEnum.cls new file mode 100644 index 0000000..252bc19 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRefreshTaskStatusEnum.cls @@ -0,0 +1,18 @@ +global enum SmartDataDiscoveryRefreshTaskStatusEnum { +ANALYSISNOTFOUND, +CANCELLED, +DATASETJOINFIELDSMISSING, +DATASETNOTFOUND, +DATASETNOTUPDATED, +FAILURE, +LIMITSREACHED, +MODELSCHEMACHANGED, +NOTSTARTED, +OUTCOMEVALUESCHANGED, +POISSONDISTRIBUTIONDISABLED, +RUNNING, +STORYCREATIONFAILURE, +SUCCESS, +USERNOTFOUND, +WARNINGTHRESHOLDREACHED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRegressionAlgorithmTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRegressionAlgorithmTypeEnum.cls new file mode 100644 index 0000000..6fd6d6d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRegressionAlgorithmTypeEnum.cls @@ -0,0 +1,6 @@ +global enum SmartDataDiscoveryRegressionAlgorithmTypeEnum { +DRF, +GBM, +GLM, +XGBOOST +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRegressionPredictionProperty.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRegressionPredictionProperty.cls new file mode 100644 index 0000000..45b2fd2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRegressionPredictionProperty.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryRegressionPredictionProperty { + global ConnectApi.SmartDataDiscoveryRegressionAlgorithmTypeEnum algorithmType; + global SmartDataDiscoveryRegressionPredictionProperty() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRegressionPredictionPropertyInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRegressionPredictionPropertyInput.cls new file mode 100644 index 0000000..44e93a6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRegressionPredictionPropertyInput.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryRegressionPredictionPropertyInput { + global ConnectApi.SmartDataDiscoveryRegressionAlgorithmTypeEnum algorithmType; + global SmartDataDiscoveryRegressionPredictionPropertyInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRowNestedList.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRowNestedList.cls new file mode 100644 index 0000000..63c292d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryRowNestedList.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryRowNestedList { + global List row; + global SmartDataDiscoveryRowNestedList() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryScikitLearn102ModelRuntime.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryScikitLearn102ModelRuntime.cls new file mode 100644 index 0000000..bb5def6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryScikitLearn102ModelRuntime.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryScikitLearn102ModelRuntime { + global SmartDataDiscoveryScikitLearn102ModelRuntime() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryScikitlearn102ModelRuntimeInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryScikitlearn102ModelRuntimeInput.cls new file mode 100644 index 0000000..91bae39 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryScikitlearn102ModelRuntimeInput.cls @@ -0,0 +1,8 @@ +global class SmartDataDiscoveryScikitlearn102ModelRuntimeInput { + global SmartDataDiscoveryScikitlearn102ModelRuntimeInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoverySentimentAnalysisTransformation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoverySentimentAnalysisTransformation.cls new file mode 100644 index 0000000..835df5a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoverySentimentAnalysisTransformation.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoverySentimentAnalysisTransformation { + global SmartDataDiscoverySentimentAnalysisTransformation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoverySentimentAnalysisTransformationInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoverySentimentAnalysisTransformationInput.cls new file mode 100644 index 0000000..3b3574d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoverySentimentAnalysisTransformationInput.cls @@ -0,0 +1,8 @@ +global class SmartDataDiscoverySentimentAnalysisTransformationInput { + global SmartDataDiscoverySentimentAnalysisTransformationInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoverySetupPropertyTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoverySetupPropertyTypeEnum.cls new file mode 100644 index 0000000..1301a67 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoverySetupPropertyTypeEnum.cls @@ -0,0 +1,7 @@ +global enum SmartDataDiscoverySetupPropertyTypeEnum { +AUTOPILOT, +FIELDS, +INPUT, +MODELCONFIGURATION, +OUTCOME +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoverySortOrderEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoverySortOrderEnum.cls new file mode 100644 index 0000000..5e30588 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoverySortOrderEnum.cls @@ -0,0 +1,4 @@ +global enum SmartDataDiscoverySortOrderEnum { +ASCENDING, +DESCENDING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryStoryNarrativeElementTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryStoryNarrativeElementTypeEnum.cls new file mode 100644 index 0000000..1f1d982 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryStoryNarrativeElementTypeEnum.cls @@ -0,0 +1,14 @@ +global enum SmartDataDiscoveryStoryNarrativeElementTypeEnum { +BADSECTION, +BODY, +BUCKETSMISMATCHSECTION, +GOODSECTION, +HEADING, +MISSINGVALUESSECTION, +NEWVALUESSECTION, +NUMBEREDLIST, +OUTCOMEVALUE, +PARAGRAPH, +SUBHEADING, +UNORDEREDLIST +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTensorFlow27ModelRuntime.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTensorFlow27ModelRuntime.cls new file mode 100644 index 0000000..5cd13b2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTensorFlow27ModelRuntime.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryTensorFlow27ModelRuntime { + global SmartDataDiscoveryTensorFlow27ModelRuntime() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTensorFlow27ModelRuntimeInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTensorFlow27ModelRuntimeInput.cls new file mode 100644 index 0000000..e601875 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTensorFlow27ModelRuntimeInput.cls @@ -0,0 +1,8 @@ +global class SmartDataDiscoveryTensorFlow27ModelRuntimeInput { + global SmartDataDiscoveryTensorFlow27ModelRuntimeInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTensorFlowModelRuntime.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTensorFlowModelRuntime.cls new file mode 100644 index 0000000..f91dd36 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTensorFlowModelRuntime.cls @@ -0,0 +1,9 @@ +global class SmartDataDiscoveryTensorFlowModelRuntime { + global SmartDataDiscoveryTensorFlowModelRuntime() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTensorFlowModelRuntimeInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTensorFlowModelRuntimeInput.cls new file mode 100644 index 0000000..1ef7ef2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTensorFlowModelRuntimeInput.cls @@ -0,0 +1,8 @@ +global class SmartDataDiscoveryTensorFlowModelRuntimeInput { + global SmartDataDiscoveryTensorFlowModelRuntimeInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTextTransformationFilter.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTextTransformationFilter.cls new file mode 100644 index 0000000..340aebc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTextTransformationFilter.cls @@ -0,0 +1,11 @@ +global class SmartDataDiscoveryTextTransformationFilter { + global List clusters; + global Boolean includeOthers; + global SmartDataDiscoveryTextTransformationFilter() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTextTransformationFilterInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTextTransformationFilterInput.cls new file mode 100644 index 0000000..6311bfd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTextTransformationFilterInput.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryTextTransformationFilterInput { + global List clusters; + global Boolean includeOthers; + global SmartDataDiscoveryTextTransformationFilterInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTrainingMetricsRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTrainingMetricsRepresentation.cls new file mode 100644 index 0000000..f795aca --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTrainingMetricsRepresentation.cls @@ -0,0 +1,12 @@ +global class SmartDataDiscoveryTrainingMetricsRepresentation { + global Double mae; + global Integer rowCount; + global Map value; + global SmartDataDiscoveryTrainingMetricsRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTransformationFilterInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTransformationFilterInput.cls new file mode 100644 index 0000000..f5488c3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTransformationFilterInput.cls @@ -0,0 +1,8 @@ +global class SmartDataDiscoveryTransformationFilterInput { + global ConnectApi.SmartDataDiscoveryTransformationFilterTypeEnum type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTransformationFilterTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTransformationFilterTypeEnum.cls new file mode 100644 index 0000000..21fc76b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTransformationFilterTypeEnum.cls @@ -0,0 +1,4 @@ +global enum SmartDataDiscoveryTransformationFilterTypeEnum { +NUMBER, +TEXT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTransformationInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTransformationInput.cls new file mode 100644 index 0000000..4c5916a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTransformationInput.cls @@ -0,0 +1,8 @@ +global class SmartDataDiscoveryTransformationInput { + global ConnectApi.SmartDataDiscoveryAIModelTransformationTypeEnum type; + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTypographicClusteringTransformation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTypographicClusteringTransformation.cls new file mode 100644 index 0000000..5575277 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTypographicClusteringTransformation.cls @@ -0,0 +1,11 @@ +global class SmartDataDiscoveryTypographicClusteringTransformation { + global Integer distanceThreshold; + global Boolean ignoreCase; + global SmartDataDiscoveryTypographicClusteringTransformation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTypographicClusteringTransformationInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTypographicClusteringTransformationInput.cls new file mode 100644 index 0000000..87ad0ef --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryTypographicClusteringTransformationInput.cls @@ -0,0 +1,10 @@ +global class SmartDataDiscoveryTypographicClusteringTransformationInput { + global Integer distanceThreshold; + global Boolean ignoreCase; + global SmartDataDiscoveryTypographicClusteringTransformationInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryUser.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryUser.cls new file mode 100644 index 0000000..405fa91 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartDataDiscoveryUser.cls @@ -0,0 +1,12 @@ +global class SmartDataDiscoveryUser { + global String id; + global String name; + global String profilePhotoUrl; + global SmartDataDiscoveryUser() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartResponseInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartResponseInput.cls new file mode 100644 index 0000000..bcc43d3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartResponseInput.cls @@ -0,0 +1,10 @@ +global class SmartResponseInput { + global ConnectApi.EinsteinResponseSpeakerType speaker; + global String text; + global SmartResponseInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartResponses.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartResponses.cls new file mode 100644 index 0000000..a51ac30 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SmartResponses.cls @@ -0,0 +1,3 @@ +global class SmartResponses { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Smartdatadiscovery.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Smartdatadiscovery.cls new file mode 100644 index 0000000..d179216 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Smartdatadiscovery.cls @@ -0,0 +1,3 @@ +global class Smartdatadiscovery { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialAccount.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialAccount.cls new file mode 100644 index 0000000..71969eb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialAccount.cls @@ -0,0 +1,14 @@ +global class SocialAccount { + global String externalSocialAccountId; + global String handle; + global String name; + global String profileUrl; + global String socialPersonaId; + global SocialAccount() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialAccountRelationship.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialAccountRelationship.cls new file mode 100644 index 0000000..542b117 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialAccountRelationship.cls @@ -0,0 +1,13 @@ +global class SocialAccountRelationship { + global Boolean isFollowed; + global Boolean isFollowing; + global String socialAccountId; + global String socialPersonaId; + global SocialAccountRelationship() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialCustomerServiceConfig.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialCustomerServiceConfig.cls new file mode 100644 index 0000000..04df899 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialCustomerServiceConfig.cls @@ -0,0 +1,22 @@ +global class SocialCustomerServiceConfig { + global String inboundApexHandlerId; + global Boolean isAllFBResponseAccountsEnabled; + global Boolean isInboundParentPostEnabled; + global Boolean isInboundProcessingConcurrencyEnabled; + global Boolean isPackageInstalled; + global Boolean isSocialPublishingApprovalEnabled; + global Boolean isTenantConnectionValid; + global Integer managedSocialAccountCount; + global Integer managedSocialAccountLimit; + global List providerSettings; + global String runAsUserId; + global String setupTenantUrl; + global String tenantType; + global SocialCustomerServiceConfig() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialCustomerServiceInboundErrors.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialCustomerServiceInboundErrors.cls new file mode 100644 index 0000000..9208d91 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialCustomerServiceInboundErrors.cls @@ -0,0 +1,10 @@ +global class SocialCustomerServiceInboundErrors { + global List scsInboundErrors; + global SocialCustomerServiceInboundErrors() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialCustomerServiceInboundPost.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialCustomerServiceInboundPost.cls new file mode 100644 index 0000000..7597468 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialCustomerServiceInboundPost.cls @@ -0,0 +1,13 @@ +global class SocialCustomerServiceInboundPost { + global Datetime createdDate; + global String errorDetail; + global String errorMessage; + global String id; + global SocialCustomerServiceInboundPost() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialCustomerServiceMessageTypeSettings.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialCustomerServiceMessageTypeSettings.cls new file mode 100644 index 0000000..3227309 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialCustomerServiceMessageTypeSettings.cls @@ -0,0 +1,11 @@ +global class SocialCustomerServiceMessageTypeSettings { + global Boolean isEnabled; + global ConnectApi.SocialPostMessageType messageType; + global SocialCustomerServiceMessageTypeSettings() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialCustomerServiceProviderSettings.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialCustomerServiceProviderSettings.cls new file mode 100644 index 0000000..7bb490c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialCustomerServiceProviderSettings.cls @@ -0,0 +1,11 @@ +global class SocialCustomerServiceProviderSettings { + global List messageTypeSettings; + global ConnectApi.SocialNetworkProvider provider; + global SocialCustomerServiceProviderSettings() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialEngagement.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialEngagement.cls new file mode 100644 index 0000000..2e38e7b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialEngagement.cls @@ -0,0 +1,3 @@ +global class SocialEngagement { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialNetworkAutenticationInformation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialNetworkAutenticationInformation.cls new file mode 100644 index 0000000..06c377b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialNetworkAutenticationInformation.cls @@ -0,0 +1,11 @@ +global class SocialNetworkAutenticationInformation { + global String oauthJWT; + global String oauthUrl; + global SocialNetworkAutenticationInformation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialNetworkProvider.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialNetworkProvider.cls new file mode 100644 index 0000000..74e5a0a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialNetworkProvider.cls @@ -0,0 +1,24 @@ +global enum SocialNetworkProvider { +FACEBOOK, +GOOGLEPLUS, +INSTAGRAM, +INSTAGRAMBUSINESS, +KAKAOTALK, +KIK, +LINE, +LINKEDIN, +MESSENGER, +OTHER, +PINTEREST, +QQ, +RYPPLE, +SMS, +SINAWEIBO, +SNAPCHAT, +TELEGRAM, +TWITTER, +VKONTAKTE, +WECHAT, +WHATSAPP, +YOUTUBE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostCapability.cls new file mode 100644 index 0000000..a3fad4e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostCapability.cls @@ -0,0 +1,26 @@ +global class SocialPostCapability { + global ConnectApi.SocialAccount author; + global String content; + global ConnectApi.UserSummary deletedBy; + global ConnectApi.UserSummary hiddenBy; + global ConnectApi.Icon icon; + global String id; + global Boolean isOutbound; + global String likedBy; + global ConnectApi.SocialPostMessageType messageType; + global String name; + global String postUrl; + global ConnectApi.SocialNetworkProvider provider; + global ConnectApi.SocialAccount recipient; + global String recipientId; + global Double reviewScale; + global Double reviewScore; + global ConnectApi.SocialPostStatus status; + global SocialPostCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostIntents.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostIntents.cls new file mode 100644 index 0000000..82d8969 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostIntents.cls @@ -0,0 +1,15 @@ +global class SocialPostIntents { + global ConnectApi.ApprovalIntent approvalIntent; + global ConnectApi.DeleteIntents deleteIntent; + global ConnectApi.FollowIntents followIntent; + global ConnectApi.HideSocialPostIntent hideIntent; + global ConnectApi.LikeIntents likeIntent; + global ConnectApi.ReplyIntents replyIntent; + global SocialPostIntents() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostMassApprovalInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostMassApprovalInput.cls new file mode 100644 index 0000000..942fd09 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostMassApprovalInput.cls @@ -0,0 +1,10 @@ +global class SocialPostMassApprovalInput { + global Boolean isApproved; + global List socialPostIdList; + global SocialPostMassApprovalInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostMassApprovalOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostMassApprovalOutput.cls new file mode 100644 index 0000000..85a058e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostMassApprovalOutput.cls @@ -0,0 +1,10 @@ +global class SocialPostMassApprovalOutput { + global Boolean isApproved; + global SocialPostMassApprovalOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostMessageType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostMessageType.cls new file mode 100644 index 0000000..6b75a2a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostMessageType.cls @@ -0,0 +1,9 @@ +global enum SocialPostMessageType { +COMMENT, +DIRECT, +POST, +PRIVATEMESSAGE, +REPLY, +RETWEET, +TWEET +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostStatus.cls new file mode 100644 index 0000000..e6be7e1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostStatus.cls @@ -0,0 +1,11 @@ +global class SocialPostStatus { + global String message; + global ConnectApi.SocialPostStatusType type; + global SocialPostStatus() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostStatusType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostStatusType.cls new file mode 100644 index 0000000..b53d3d4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SocialPostStatusType.cls @@ -0,0 +1,12 @@ +global enum SocialPostStatusType { +APPROVALPENDING, +APPROVALRECALLED, +APPROVALREJECTED, +DELETED, +FAILED, +HIDDEN, +PENDING, +REPLIED, +SENT, +UNKNOWN +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SortOrder.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SortOrder.cls new file mode 100644 index 0000000..372b58e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SortOrder.cls @@ -0,0 +1,5 @@ +global enum SortOrder { +ASCENDING, +DESCENDING, +MOSTRECENTLYVIEWED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SortOrderEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SortOrderEnum.cls new file mode 100644 index 0000000..78c8b6a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SortOrderEnum.cls @@ -0,0 +1,4 @@ +global enum SortOrderEnum { +ASCENDING, +DESCENDING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SortRule.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SortRule.cls new file mode 100644 index 0000000..3053942 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SortRule.cls @@ -0,0 +1,16 @@ +global class SortRule { + global ConnectApi.CommerceSearchSortRuleDirection direction; + global String label; + global ConnectApi.ConnectCommerceSearchSortRuleLabelSuffix labelSuffix; + global String nameOrId; + global Integer sortOrder; + global String sortRuleId; + global ConnectApi.CommerceSearchSortRuleType type; + global SortRule() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SortRulesCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SortRulesCollection.cls new file mode 100644 index 0000000..955c85a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SortRulesCollection.cls @@ -0,0 +1,10 @@ +global class SortRulesCollection { + global List sortRules; + global SortRulesCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Stamp.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Stamp.cls new file mode 100644 index 0000000..7542e80 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Stamp.cls @@ -0,0 +1,13 @@ +global class Stamp { + global String description; + global String id; + global String imageUrl; + global String label; + global Stamp() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StandaloneCreditMemoAdjustmentInputRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StandaloneCreditMemoAdjustmentInputRequest.cls new file mode 100644 index 0000000..0931c0e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StandaloneCreditMemoAdjustmentInputRequest.cls @@ -0,0 +1,9 @@ +global class StandaloneCreditMemoAdjustmentInputRequest { + global Double adjustmentAmount; + global StandaloneCreditMemoAdjustmentInputRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StandaloneCreditMemoChargeInputRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StandaloneCreditMemoChargeInputRequest.cls new file mode 100644 index 0000000..8f94fa5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StandaloneCreditMemoChargeInputRequest.cls @@ -0,0 +1,10 @@ +global class StandaloneCreditMemoChargeInputRequest { + global List adjustments; + global Double chargeAmount; + global StandaloneCreditMemoChargeInputRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StandaloneCreditMemoInputRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StandaloneCreditMemoInputRequest.cls new file mode 100644 index 0000000..6db3463 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StandaloneCreditMemoInputRequest.cls @@ -0,0 +1,20 @@ +global class StandaloneCreditMemoInputRequest { + global List adjustments; + global String billToContactId; + global String billingAccountId; + global List charges; + global String currencyIsoCode; + global String description; + global String effectiveDate; + global String externalReference; + global String externalReferenceDataSource; + global String taxEffectiveDate; + global ConnectApi.StandaloneTaxStrategyEnum taxStrategy; + global ConnectApi.CreditMemoTypeEnum type; + global StandaloneCreditMemoInputRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StandaloneCreditMemoTaxInputRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StandaloneCreditMemoTaxInputRequest.cls new file mode 100644 index 0000000..62a4668 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StandaloneCreditMemoTaxInputRequest.cls @@ -0,0 +1,12 @@ +global class StandaloneCreditMemoTaxInputRequest { + global Double taxAmount; + global String taxCode; + global String taxName; + global Double taxRate; + global StandaloneCreditMemoTaxInputRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StandaloneTaxStrategyEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StandaloneTaxStrategyEnum.cls new file mode 100644 index 0000000..7fbabb3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StandaloneTaxStrategyEnum.cls @@ -0,0 +1,5 @@ +global enum StandaloneTaxStrategyEnum { +CALCULATE, +IGNORE, +MANUALOVERRIDE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StatementFrequencyResource.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StatementFrequencyResource.cls new file mode 100644 index 0000000..61ac391 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StatementFrequencyResource.cls @@ -0,0 +1,4 @@ +global enum StatementFrequencyResource { +MONTHLY, +QUARTERLY +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StatementMethodResource.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StatementMethodResource.cls new file mode 100644 index 0000000..331f844 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StatementMethodResource.cls @@ -0,0 +1,4 @@ +global enum StatementMethodResource { +EMAIL, +MAIL +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Status.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Status.cls new file mode 100644 index 0000000..9335ea5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Status.cls @@ -0,0 +1,11 @@ +global class Status { + global Integer code; + global String message; + global Status() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StatusCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StatusCapability.cls new file mode 100644 index 0000000..8be4fc8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StatusCapability.cls @@ -0,0 +1,11 @@ +global class StatusCapability { + global ConnectApi.FeedEntityStatus feedEntityStatus; + global Boolean isApprovableByMe; + global StatusCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StatusCapabilityInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StatusCapabilityInput.cls new file mode 100644 index 0000000..5acb411 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StatusCapabilityInput.cls @@ -0,0 +1,9 @@ +global class StatusCapabilityInput { + global ConnectApi.FeedEntityStatus feedEntityStatus; + global StatusCapabilityInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StoryAnalysisTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StoryAnalysisTypeEnum.cls new file mode 100644 index 0000000..05fed67 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StoryAnalysisTypeEnum.cls @@ -0,0 +1,4 @@ +global enum StoryAnalysisTypeEnum { +COUNT, +DESCRIPTIVE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StoryChartValueTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StoryChartValueTypeEnum.cls new file mode 100644 index 0000000..d38e681 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StoryChartValueTypeEnum.cls @@ -0,0 +1,9 @@ +global enum StoryChartValueTypeEnum { +AVERAGE, +BASELINE, +IMPACT, +PREDICTION, +SMALLTERMS, +UNEXPLAINED, +VALUE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StoryCountInsightsFrequencyChangeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StoryCountInsightsFrequencyChangeEnum.cls new file mode 100644 index 0000000..b478dc2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StoryCountInsightsFrequencyChangeEnum.cls @@ -0,0 +1,4 @@ +global enum StoryCountInsightsFrequencyChangeEnum { +DOWN, +UP +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StoryCountInsightsFrequencyEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StoryCountInsightsFrequencyEnum.cls new file mode 100644 index 0000000..32b6510 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StoryCountInsightsFrequencyEnum.cls @@ -0,0 +1,4 @@ +global enum StoryCountInsightsFrequencyEnum { +LESSOFTEN, +MOREOFTEN +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StoryDescriptiveInsightsImpactEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StoryDescriptiveInsightsImpactEnum.cls new file mode 100644 index 0000000..5f81266 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StoryDescriptiveInsightsImpactEnum.cls @@ -0,0 +1,4 @@ +global enum StoryDescriptiveInsightsImpactEnum { +IMPROVED, +WORSENED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StoryDescriptiveInsightsRatingEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StoryDescriptiveInsightsRatingEnum.cls new file mode 100644 index 0000000..391694a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StoryDescriptiveInsightsRatingEnum.cls @@ -0,0 +1,6 @@ +global enum StoryDescriptiveInsightsRatingEnum { +ABOVEAVERAGE, +BELOWAVERAGE, +HIGHER, +LOWER +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StrategyTrace.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StrategyTrace.cls new file mode 100644 index 0000000..60fbfb1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StrategyTrace.cls @@ -0,0 +1,11 @@ +global class StrategyTrace { + global List messages; + global List nodes; + global StrategyTrace() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StrategyTraceNode.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StrategyTraceNode.cls new file mode 100644 index 0000000..c0b042b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StrategyTraceNode.cls @@ -0,0 +1,17 @@ +global class StrategyTraceNode { + global Integer inputCount; + global List messages; + global String nodeName; + global Long nodeTime; + global String nodeType; + global Integer outputCount; + global List outputs; + global Long totalTime; + global StrategyTraceNode() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StreamSubscriptionInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StreamSubscriptionInput.cls new file mode 100644 index 0000000..f7a56b9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/StreamSubscriptionInput.cls @@ -0,0 +1,9 @@ +global class StreamSubscriptionInput { + global String entityId; + global StreamSubscriptionInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SubmitCancelOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SubmitCancelOutputRepresentation.cls new file mode 100644 index 0000000..32b3eb7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SubmitCancelOutputRepresentation.cls @@ -0,0 +1,12 @@ +global class SubmitCancelOutputRepresentation { + global ConnectApi.ChangeItemOutputRepresentation changeBalances; + global String changeOrderId; + global String feeChangeOrderId; + global SubmitCancelOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SubmitReturnOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SubmitReturnOutputRepresentation.cls new file mode 100644 index 0000000..85260e6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SubmitReturnOutputRepresentation.cls @@ -0,0 +1,12 @@ +global class SubmitReturnOutputRepresentation { + global ConnectApi.ChangeItemOutputRepresentation changeBalances; + global String changeOrderId; + global String feeChangeOrderId; + global SubmitReturnOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SubscriberOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SubscriberOutput.cls new file mode 100644 index 0000000..4b2a631 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SubscriberOutput.cls @@ -0,0 +1,12 @@ +global class SubscriberOutput { + global String firstName; + global String lastName; + global String memberID; + global SubscriberOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Subscription.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Subscription.cls new file mode 100644 index 0000000..853c30b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Subscription.cls @@ -0,0 +1,14 @@ +global class Subscription { + global ConnectApi.Reference community; + global String id; + global ConnectApi.ActorWithId subject; + global ConnectApi.ActorWithId subscriber; + global String url; + global Subscription() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Suggestion.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Suggestion.cls new file mode 100644 index 0000000..78cf9d0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Suggestion.cls @@ -0,0 +1,11 @@ +global class Suggestion { + global List columns; + global Double value; + global Suggestion() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SupportedEmojis.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SupportedEmojis.cls new file mode 100644 index 0000000..992019e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SupportedEmojis.cls @@ -0,0 +1,10 @@ +global class SupportedEmojis { + global ConnectApi.EmojiCollection supportedEmojis; + global SupportedEmojis() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SurveyEmailStatusEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SurveyEmailStatusEnum.cls new file mode 100644 index 0000000..311b86b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SurveyEmailStatusEnum.cls @@ -0,0 +1,4 @@ +global enum SurveyEmailStatusEnum { +FAILED, +QUEUED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SurveyInvitationEmailInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SurveyInvitationEmailInput.cls new file mode 100644 index 0000000..307b5ed --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SurveyInvitationEmailInput.cls @@ -0,0 +1,24 @@ +global class SurveyInvitationEmailInput { + global Boolean allowGuestUserResponse; + global Boolean allowParticipantsAccessTheirResponse; + global List associateRecordsWithRecipients; + global String body; + global Boolean collectAnonymousResponse; + global String communityId; + global String emailTemplateId; + global String fromEmailAddress; + global Datetime invitationExpirationDate; + global String invitationOwner; + global Boolean isPersonalInvitation; + global List recipientEngagementContexts; + global List recipients; + global List shareInvitationsWith; + global String subject; + global List surveyQuestionIds; + global SurveyInvitationEmailInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SurveyInvitationEmailOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SurveyInvitationEmailOutput.cls new file mode 100644 index 0000000..24c9337 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SurveyInvitationEmailOutput.cls @@ -0,0 +1,12 @@ +global class SurveyInvitationEmailOutput { + global Integer errorCode; + global String errorMessage; + global ConnectApi.SurveyEmailStatusEnum status; + global SurveyInvitationEmailOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SurveyMassInvitationEmailInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SurveyMassInvitationEmailInput.cls new file mode 100644 index 0000000..6f5679d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SurveyMassInvitationEmailInput.cls @@ -0,0 +1,24 @@ +global class SurveyMassInvitationEmailInput { + global Boolean allowGuestUserResponse; + global Boolean allowParticipantsAccessTheirResponse; + global String body; + global Boolean collectAnonymousResponse; + global String communityId; + global String emailTemplateId; + global String fromEmailAddress; + global Datetime invitationExpirationDate; + global String invitationOwner; + global Boolean isPersonalInvitation; + global String listViewId; + global String recipientPath; + global List shareInvitationsWith; + global String subject; + global List surveyQuestionIds; + global String surveySubjectPath; + global SurveyMassInvitationEmailInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SurveyNavigationActionEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SurveyNavigationActionEnum.cls new file mode 100644 index 0000000..ced4859 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SurveyNavigationActionEnum.cls @@ -0,0 +1,4 @@ +global enum SurveyNavigationActionEnum { +BACK, +NEXT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SurveyResponseApiStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SurveyResponseApiStatus.cls new file mode 100644 index 0000000..7a99f51 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/SurveyResponseApiStatus.cls @@ -0,0 +1,4 @@ +global enum SurveyResponseApiStatus { +FAILURE, +SUCCESS +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Surveys.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Surveys.cls new file mode 100644 index 0000000..d2bd6e0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Surveys.cls @@ -0,0 +1,5 @@ +global class Surveys { + global Object clone() { } + global static ConnectApi.SurveyInvitationEmailOutput sendSurveyInvitationEmail(String surveyID, ConnectApi.SurveyInvitationEmailInput SurveyEmailInput) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Target.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Target.cls new file mode 100644 index 0000000..ddc0883 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Target.cls @@ -0,0 +1,19 @@ +global class Target { + global ConnectApi.AudienceTarget audience; + global ConnectApi.FormulaScope formulaScope; + global String groupName; + global String id; + global Integer priority; + global ConnectApi.PublishStatus publishStatus; + global List scope; + global String targetType; + global String targetValue; + global String url; + global Target() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TargetCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TargetCollection.cls new file mode 100644 index 0000000..dec175f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TargetCollection.cls @@ -0,0 +1,10 @@ +global class TargetCollection { + global List targets; + global TargetCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TargetCollectionInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TargetCollectionInput.cls new file mode 100644 index 0000000..65f6d0a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TargetCollectionInput.cls @@ -0,0 +1,9 @@ +global class TargetCollectionInput { + global List targets; + global TargetCollectionInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TargetCollectionUpdateInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TargetCollectionUpdateInput.cls new file mode 100644 index 0000000..ce480e6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TargetCollectionUpdateInput.cls @@ -0,0 +1,9 @@ +global class TargetCollectionUpdateInput { + global List targets; + global TargetCollectionUpdateInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TargetInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TargetInput.cls new file mode 100644 index 0000000..f6b0c16 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TargetInput.cls @@ -0,0 +1,14 @@ +global class TargetInput { + global String audienceId; + global String groupName; + global Integer priority; + global ConnectApi.PublishStatus publishStatus; + global String targetType; + global String targetValue; + global TargetInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TargetLocationInputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TargetLocationInputRepresentation.cls new file mode 100644 index 0000000..af0c39c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TargetLocationInputRepresentation.cls @@ -0,0 +1,9 @@ +global class TargetLocationInputRepresentation { + global List locations; + global TargetLocationInputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TargetUpdateInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TargetUpdateInput.cls new file mode 100644 index 0000000..34518e1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TargetUpdateInput.cls @@ -0,0 +1,11 @@ +global class TargetUpdateInput { + global String audienceId; + global Integer priority; + global String targetId; + global TargetUpdateInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxAddressRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxAddressRequest.cls new file mode 100644 index 0000000..eb9c99d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxAddressRequest.cls @@ -0,0 +1,16 @@ +global class TaxAddressRequest { + global String city; + global String country; + global Double latitude; + global String locationCode; + global Double longitude; + global String postalCode; + global String state; + global String street; + global TaxAddressRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxAddressResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxAddressResponse.cls new file mode 100644 index 0000000..3c9cb24 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxAddressResponse.cls @@ -0,0 +1,10 @@ +global class TaxAddressResponse { + global String locationCode; + global TaxAddressResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxAddressesRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxAddressesRequest.cls new file mode 100644 index 0000000..1d6e043 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxAddressesRequest.cls @@ -0,0 +1,12 @@ +global class TaxAddressesRequest { + global ConnectApi.TaxAddressRequest billTo; + global ConnectApi.TaxAddressRequest shipFrom; + global ConnectApi.TaxAddressRequest shipTo; + global ConnectApi.TaxAddressRequest soldTo; + global TaxAddressesRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxAddressesResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxAddressesResponse.cls new file mode 100644 index 0000000..ff3bb4b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxAddressesResponse.cls @@ -0,0 +1,12 @@ +global class TaxAddressesResponse { + global ConnectApi.TaxAddressResponse shipFrom; + global ConnectApi.TaxAddressResponse shipTo; + global ConnectApi.TaxAddressResponse soldTo; + global TaxAddressesResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxAmountDetailsResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxAmountDetailsResponse.cls new file mode 100644 index 0000000..cbac705 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxAmountDetailsResponse.cls @@ -0,0 +1,13 @@ +global class TaxAmountDetailsResponse { + global Double exemptAmount; + global Double taxAmount; + global Double totalAmount; + global Double totalAmountWithTax; + global TaxAmountDetailsResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxCustomerDetailsRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxCustomerDetailsRequest.cls new file mode 100644 index 0000000..29718f3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxCustomerDetailsRequest.cls @@ -0,0 +1,12 @@ +global class TaxCustomerDetailsRequest { + global String accountId; + global String code; + global String exemptionNo; + global String exemptionReason; + global TaxCustomerDetailsRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxDetailsResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxDetailsResponse.cls new file mode 100644 index 0000000..a6237e6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxDetailsResponse.cls @@ -0,0 +1,17 @@ +global class TaxDetailsResponse { + global Double exemptAmount; + global String exemptReason; + global ConnectApi.TaxImpositionResponse imposition; + global ConnectApi.TaxJurisdictionResponse jurisdiction; + global Double rate; + global Double tax; + global String taxId; + global Double taxableAmount; + global TaxDetailsResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxEngineLogResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxEngineLogResponse.cls new file mode 100644 index 0000000..6403150 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxEngineLogResponse.cls @@ -0,0 +1,12 @@ +global class TaxEngineLogResponse { + global Datetime createdDate; + global String id; + global String resultCode; + global TaxEngineLogResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxImpositionResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxImpositionResponse.cls new file mode 100644 index 0000000..6c3fb06 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxImpositionResponse.cls @@ -0,0 +1,11 @@ +global class TaxImpositionResponse { + global String name; + global String type; + global TaxImpositionResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxJurisdictionResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxJurisdictionResponse.cls new file mode 100644 index 0000000..080cbc0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxJurisdictionResponse.cls @@ -0,0 +1,15 @@ +global class TaxJurisdictionResponse { + global String country; + global String id; + global String level; + global String name; + global String region; + global String stateAssignedNo; + global TaxJurisdictionResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxLineItemRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxLineItemRequest.cls new file mode 100644 index 0000000..0cb7cf1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxLineItemRequest.cls @@ -0,0 +1,16 @@ +global class TaxLineItemRequest { + global ConnectApi.TaxAddressesRequest addresses; + global Double amount; + global String description; + global Datetime effectiveDate; + global String lineNumber; + global String productCode; + global Double quantity; + global String taxCode; + global TaxLineItemRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxLocaleType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxLocaleType.cls new file mode 100644 index 0000000..8006279 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxLocaleType.cls @@ -0,0 +1,4 @@ +global enum TaxLocaleType { +GROSS, +NET +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxPlatform.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxPlatform.cls new file mode 100644 index 0000000..e99e2a4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxPlatform.cls @@ -0,0 +1,3 @@ +global class TaxPlatform { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxStrategyEnum.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxStrategyEnum.cls new file mode 100644 index 0000000..7c161fc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxStrategyEnum.cls @@ -0,0 +1,6 @@ +global enum TaxStrategyEnum { +CALCULATE, +COPYFROMINVOICELINE, +IGNORE, +MANUALOVERRIDE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxTransactionRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxTransactionRequest.cls new file mode 100644 index 0000000..a80e9b7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxTransactionRequest.cls @@ -0,0 +1,17 @@ +global class TaxTransactionRequest { + global ConnectApi.TaxAddressesRequest addresses; + global String currencyIsoCode; + global ConnectApi.TaxCustomerDetailsRequest customerDetails; + global String description; + global String documentCode; + global Datetime effectiveDate; + global List lineItems; + global String referenceDocumentCode; + global String referenceEntityId; + global Datetime transactionDate; + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxTransactionResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxTransactionResponse.cls new file mode 100644 index 0000000..ab7cb88 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxTransactionResponse.cls @@ -0,0 +1,19 @@ +global class TaxTransactionResponse { + global ConnectApi.TaxAddressesResponse addresses; + global ConnectApi.TaxAmountDetailsResponse amountDetails; + global String currencyIsoCode; + global String description; + global String documentCode; + global Datetime effectiveDate; + global List lineItems; + global String referenceDocumentCode; + global String referenceEntityId; + global String taxTransactionId; + global Datetime transactionDate; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxTransactionState.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxTransactionState.cls new file mode 100644 index 0000000..7301687 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxTransactionState.cls @@ -0,0 +1,4 @@ +global enum TaxTransactionState { +COMMITTED, +UNCOMMITTED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxTransactionType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxTransactionType.cls new file mode 100644 index 0000000..d26664f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxTransactionType.cls @@ -0,0 +1,4 @@ +global enum TaxTransactionType { +CREDIT, +DEBIT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxType.cls new file mode 100644 index 0000000..15645d7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TaxType.cls @@ -0,0 +1,4 @@ +global enum TaxType { +ACTUAL, +ESTIMATED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TermsOfService.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TermsOfService.cls new file mode 100644 index 0000000..23e0dd8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TermsOfService.cls @@ -0,0 +1,11 @@ +global class TermsOfService { + global String acceptingUserId; + global String termsOfServiceUrl; + global TermsOfService() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TextSegment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TextSegment.cls new file mode 100644 index 0000000..37070f4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TextSegment.cls @@ -0,0 +1,9 @@ +global class TextSegment { + global TextSegment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TextSegmentInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TextSegmentInput.cls new file mode 100644 index 0000000..8fc48bc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TextSegmentInput.cls @@ -0,0 +1,9 @@ +global class TextSegmentInput { + global String text; + global TextSegmentInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TextSmartResponse.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TextSmartResponse.cls new file mode 100644 index 0000000..fac8f4f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TextSmartResponse.cls @@ -0,0 +1,10 @@ +global class TextSmartResponse { + global String predefinedAgentResponseId; + global TextSmartResponse() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TimeZone.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TimeZone.cls new file mode 100644 index 0000000..8bc9ee7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TimeZone.cls @@ -0,0 +1,11 @@ +global class TimeZone { + global Double gmtOffset; + global String name; + global TimeZone() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ToggleCallTranscriptionResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ToggleCallTranscriptionResult.cls new file mode 100644 index 0000000..6f02d76 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ToggleCallTranscriptionResult.cls @@ -0,0 +1,12 @@ +global class ToggleCallTranscriptionResult { + global String errorMessage; + global Boolean isSuccess; + global Boolean isTranscriptionEnabled; + global ToggleCallTranscriptionResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Topic.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Topic.cls new file mode 100644 index 0000000..b7d83f2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Topic.cls @@ -0,0 +1,18 @@ +global class Topic { + global Datetime createdDate; + global String description; + global String id; + global ConnectApi.TopicImages images; + global Boolean isBeingDeleted; + global String name; + global String nonLocalizedName; + global Integer talkingAbout; + global String url; + global Topic() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicEndorsementSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicEndorsementSummary.cls new file mode 100644 index 0000000..01296ea --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicEndorsementSummary.cls @@ -0,0 +1,10 @@ +global class TopicEndorsementSummary { + global String endorsementId; + global TopicEndorsementSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicImages.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicImages.cls new file mode 100644 index 0000000..843b640 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicImages.cls @@ -0,0 +1,11 @@ +global class TopicImages { + global String coverImageUrl; + global String featuredImageUrl; + global TopicImages() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicInput.cls new file mode 100644 index 0000000..ae63bd8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicInput.cls @@ -0,0 +1,11 @@ +global class TopicInput { + global String description; + global List idsToMerge; + global String name; + global TopicInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicNamesInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicNamesInput.cls new file mode 100644 index 0000000..f0afd79 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicNamesInput.cls @@ -0,0 +1,10 @@ +global class TopicNamesInput { + global List topicNames; + global List topicSuggestions; + global TopicNamesInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicPage.cls new file mode 100644 index 0000000..fa7b6a0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicPage.cls @@ -0,0 +1,12 @@ +global class TopicPage { + global String currentPageUrl; + global String nextPageUrl; + global List topics; + global TopicPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicSort.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicSort.cls new file mode 100644 index 0000000..53baf95 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicSort.cls @@ -0,0 +1,4 @@ +global enum TopicSort { +ALPHAASC, +POPULARDESC +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicSuggestion.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicSuggestion.cls new file mode 100644 index 0000000..8034c9e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicSuggestion.cls @@ -0,0 +1,11 @@ +global class TopicSuggestion { + global ConnectApi.Topic existingTopic; + global String name; + global TopicSuggestion() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicSuggestionPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicSuggestionPage.cls new file mode 100644 index 0000000..b3e57cc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicSuggestionPage.cls @@ -0,0 +1,10 @@ +global class TopicSuggestionPage { + global List topicSuggestions; + global TopicSuggestionPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicSummary.cls new file mode 100644 index 0000000..3d3d104 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicSummary.cls @@ -0,0 +1,11 @@ +global class TopicSummary { + global String id; + global String name; + global TopicSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Topics.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Topics.cls new file mode 100644 index 0000000..84fe7fe --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Topics.cls @@ -0,0 +1,47 @@ +global class Topics { + global static ConnectApi.Topic assignTopic(String communityId, String recordId, String topicId) { } + global static ConnectApi.Topic assignTopicByName(String communityId, String recordId, String topicName) { } + global Object clone() { } + global static ConnectApi.Topic createTopic(String communityId, String name, String description) { } + global static ConnectApi.TopicPage createTopicDataCategoryRules(String communityId, String dataCategoryGroup, String dataCategory, ConnectApi.TopicNamesInput topicNames) { } + global static void deleteTopic(String communityId, String topicId) { } + global static ConnectApi.ChatterGroupSummaryPage getGroupsRecentlyTalkingAboutTopic(String communityId, String topicId) { } + global static ConnectApi.TopicPage getRecentlyTalkingAboutTopicsForGroup(String communityId, String groupId) { } + global static ConnectApi.TopicPage getRecentlyTalkingAboutTopicsForUser(String communityId, String userId) { } + global static ConnectApi.TopicPage getRelatedTopics(String communityId, String topicId) { } + global static ConnectApi.Topic getTopic(String communityId, String topicId) { } + global static ConnectApi.TopicPage getTopicDataCategoryRules(String communityId, String dataCategoryGroup, String dataCategory) { } + global static ConnectApi.TopicSuggestionPage getTopicSuggestions(String communityId, String recordId, Integer maxResults) { } + global static ConnectApi.TopicSuggestionPage getTopicSuggestions(String communityId, String recordId) { } + global static ConnectApi.TopicSuggestionPage getTopicSuggestionsForText(String communityId, String text, Integer maxResults) { } + global static ConnectApi.TopicSuggestionPage getTopicSuggestionsForText(String communityId, String text) { } + global static ConnectApi.TopicPage getTopics(String communityId, String q, Integer pageParam, Integer pageSize, ConnectApi.TopicSort sortParam) { } + global static ConnectApi.TopicPage getTopics(String communityId, Integer pageParam, Integer pageSize, ConnectApi.TopicSort sortParam) { } + global static ConnectApi.TopicPage getTopics(String communityId, String q, Integer pageParam, Integer pageSize) { } + global static ConnectApi.TopicPage getTopics(String communityId, Integer pageParam, Integer pageSize) { } + global static ConnectApi.TopicPage getTopics(String communityId, String q, Boolean exactMatch) { } + global static ConnectApi.TopicPage getTopics(String communityId, String q, ConnectApi.TopicSort sortParam) { } + global static ConnectApi.TopicPage getTopics(String communityId, ConnectApi.TopicSort sortParam) { } + global static ConnectApi.TopicPage getTopics(String communityId, String recordId) { } + global static ConnectApi.TopicPage getTopics(String communityId) { } + global static ConnectApi.TopicPage getTopicsOrFallBackToRenamedTopics(String communityId, String q, Boolean exactMatch, Boolean fallBackToRenamedTopics) { } + global static ConnectApi.TopicPage getTrendingTopics(String communityId, Integer maxResults) { } + global static ConnectApi.TopicPage getTrendingTopics(String communityId) { } + global static ConnectApi.Topic mergeTopics(String communityId, String topicId, List idsToMerge) { } + global static ConnectApi.TopicPage reassignTopicDataCategoryRules(String communityId, String dataCategoryGroup, String dataCategory, ConnectApi.TopicNamesInput topicNames) { } + global static ConnectApi.TopicPage reassignTopicsByName(String communityId, String recordId, ConnectApi.TopicNamesInput topicNames) { } + global static void setTestGetGroupsRecentlyTalkingAboutTopic(String communityId, String topicId, ConnectApi.ChatterGroupSummaryPage result) { } + global static void setTestGetRecentlyTalkingAboutTopicsForGroup(String communityId, String groupId, ConnectApi.TopicPage result) { } + global static void setTestGetRecentlyTalkingAboutTopicsForUser(String communityId, String userId, ConnectApi.TopicPage result) { } + global static void setTestGetRelatedTopics(String communityId, String topicId, ConnectApi.TopicPage result) { } + global static void setTestGetTopicSuggestions(String communityId, String recordId, Integer maxResults, ConnectApi.TopicSuggestionPage result) { } + global static void setTestGetTopicSuggestions(String communityId, String recordId, ConnectApi.TopicSuggestionPage result) { } + global static void setTestGetTopicSuggestionsForText(String communityId, String text, Integer maxResults, ConnectApi.TopicSuggestionPage result) { } + global static void setTestGetTopicSuggestionsForText(String communityId, String text, ConnectApi.TopicSuggestionPage result) { } + global static void setTestGetTrendingTopics(String communityId, Integer maxResults, ConnectApi.TopicPage result) { } + global static void setTestGetTrendingTopics(String communityId, ConnectApi.TopicPage result) { } + global static void unassignTopic(String communityId, String recordId, String topicId) { } + global static ConnectApi.Topic updateTopic(String communityId, String topicId, ConnectApi.TopicInput topic) { } + global static ConnectApi.TopicPage updateTopicsForArticlesInDataCategory(String communityId, String dataCategoryGroup, String dataCategory, ConnectApi.ArticleTopicAssignmentJobInput articleTopicAssignmentJob) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicsCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicsCapability.cls new file mode 100644 index 0000000..ea5116d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicsCapability.cls @@ -0,0 +1,11 @@ +global class TopicsCapability { + global Boolean canAssignTopics; + global List items; + global TopicsCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicsCapabilityInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicsCapabilityInput.cls new file mode 100644 index 0000000..7f8259e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TopicsCapabilityInput.cls @@ -0,0 +1,10 @@ +global class TopicsCapabilityInput { + global String contextTopicName; + global List topics; + global TopicsCapabilityInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TrackedChangeAttachment.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TrackedChangeAttachment.cls new file mode 100644 index 0000000..93f2bff --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TrackedChangeAttachment.cls @@ -0,0 +1,10 @@ +global class TrackedChangeAttachment { + global List changes; + global TrackedChangeAttachment() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TrackedChangeBundleCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TrackedChangeBundleCapability.cls new file mode 100644 index 0000000..14917e5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TrackedChangeBundleCapability.cls @@ -0,0 +1,10 @@ +global class TrackedChangeBundleCapability { + global List changes; + global TrackedChangeBundleCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TrackedChangeItem.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TrackedChangeItem.cls new file mode 100644 index 0000000..556fccd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TrackedChangeItem.cls @@ -0,0 +1,12 @@ +global class TrackedChangeItem { + global String fieldName; + global String newValue; + global String oldValue; + global TrackedChangeItem() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TrackedChangesCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TrackedChangesCapability.cls new file mode 100644 index 0000000..106a65b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TrackedChangesCapability.cls @@ -0,0 +1,10 @@ +global class TrackedChangesCapability { + global List changes; + global TrackedChangesCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TrackedCommunicationOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TrackedCommunicationOutput.cls new file mode 100644 index 0000000..ec49673 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TrackedCommunicationOutput.cls @@ -0,0 +1,27 @@ +global class TrackedCommunicationOutput { + global List categories; + global String communicatorReference; + global String contextReference; + global List mediums; + global String name; + global List notes; + global Datetime occurrenceEndDateTime; + global Datetime occurrenceStartDateTime; + global List payloads; + global String priority; + global List reasonCodes; + global List recipients; + global List replacedItems; + global String requesterReference; + global String status; + global String statusReason; + global String subject; + global String type; + global TrackedCommunicationOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TransactionEventInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TransactionEventInput.cls new file mode 100644 index 0000000..045b24c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TransactionEventInput.cls @@ -0,0 +1,15 @@ +global class TransactionEventInput { + global String contractAddress; + global List fieldNames; + global List fieldTypes; + global List fieldsIndexedInfo; + global String fromBlock; + global String methodName; + global String url; + global TransactionEventInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TransactionEventOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TransactionEventOutput.cls new file mode 100644 index 0000000..42e0eae --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TransactionEventOutput.cls @@ -0,0 +1,11 @@ +global class TransactionEventOutput { + global List events; + global String latestBlockNumber; + global TransactionEventOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TransactionJournalOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TransactionJournalOutput.cls new file mode 100644 index 0000000..a6cb903 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TransactionJournalOutput.cls @@ -0,0 +1,17 @@ +global class TransactionJournalOutput { + global Datetime activityDate; + global String journalSubType; + global String journalType; + global String loyaltyProgram; + global String loyaltyProgramMember; + global String referredMember; + global ConnectApi.JournalStatusResource status; + global String transactionJournalId; + global TransactionJournalOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TransactionReceiptInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TransactionReceiptInput.cls new file mode 100644 index 0000000..5f68dbd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TransactionReceiptInput.cls @@ -0,0 +1,14 @@ +global class TransactionReceiptInput { + global List fieldNames; + global List fieldTypes; + global List fieldsIndexedInfo; + global String methodName; + global String transactionId; + global String url; + global TransactionReceiptInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TransactionReceiptOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TransactionReceiptOutput.cls new file mode 100644 index 0000000..c588c17 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TransactionReceiptOutput.cls @@ -0,0 +1,15 @@ +global class TransactionReceiptOutput { + global String blockNumber; + global String cumulativeGasUsed; + global String gasUsed; + global String status; + global String transactionId; + global List values; + global TransactionReceiptOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Transactiondetailsoutputrepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Transactiondetailsoutputrepresentation.cls new file mode 100644 index 0000000..740126b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Transactiondetailsoutputrepresentation.cls @@ -0,0 +1,3 @@ +global class Transactiondetailsoutputrepresentation { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Transactionledgersoutputrepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Transactionledgersoutputrepresentation.cls new file mode 100644 index 0000000..7f7bcb1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Transactionledgersoutputrepresentation.cls @@ -0,0 +1,3 @@ +global class Transactionledgersoutputrepresentation { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TransportLocationOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TransportLocationOutput.cls new file mode 100644 index 0000000..2d35551 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/TransportLocationOutput.cls @@ -0,0 +1,13 @@ +global class TransportLocationOutput { + global Double ambulanceTransportDistance; + global String ambulanceTransportReason; + global String ambulanceTransportType; + global String name; + global TransportLocationOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UiObjectRepresentationCardDetailGetResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UiObjectRepresentationCardDetailGetResult.cls new file mode 100644 index 0000000..5f256fd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UiObjectRepresentationCardDetailGetResult.cls @@ -0,0 +1,12 @@ +global class UiObjectRepresentationCardDetailGetResult { + global ConnectApi.CardDetailOutput cardDetail; + global String errorMessage; + global Boolean isSuccess; + global UiObjectRepresentationCardDetailGetResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UiObjectRepresentationCardsGetResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UiObjectRepresentationCardsGetResult.cls new file mode 100644 index 0000000..60076fd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UiObjectRepresentationCardsGetResult.cls @@ -0,0 +1,15 @@ +global class UiObjectRepresentationCardsGetResult { + global List cards; + global String currentConfigName; + global Integer currentConfigOffset; + global String errorMessage; + global Boolean hasMoreData; + global Boolean isSuccess; + global UiObjectRepresentationCardsGetResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UnapplyCreditResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UnapplyCreditResult.cls new file mode 100644 index 0000000..c9e901c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UnapplyCreditResult.cls @@ -0,0 +1,12 @@ +global class UnapplyCreditResult { + global List errors; + global String id; + global Boolean success; + global UnapplyCreditResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UnauthenticatedUser.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UnauthenticatedUser.cls new file mode 100644 index 0000000..24f87f7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UnauthenticatedUser.cls @@ -0,0 +1,9 @@ +global class UnauthenticatedUser { + global UnauthenticatedUser() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UnreadConversationCount.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UnreadConversationCount.cls new file mode 100644 index 0000000..c68e758 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UnreadConversationCount.cls @@ -0,0 +1,11 @@ +global class UnreadConversationCount { + global Boolean hasMore; + global Integer unreadCount; + global UnreadConversationCount() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UpDownVoteCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UpDownVoteCapability.cls new file mode 100644 index 0000000..6b794b0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UpDownVoteCapability.cls @@ -0,0 +1,12 @@ +global class UpDownVoteCapability { + global Long downVoteCount; + global ConnectApi.UpDownVoteValue myVote; + global Long upVoteCount; + global UpDownVoteCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UpDownVoteCapabilityInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UpDownVoteCapabilityInput.cls new file mode 100644 index 0000000..65860b5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UpDownVoteCapabilityInput.cls @@ -0,0 +1,9 @@ +global class UpDownVoteCapabilityInput { + global ConnectApi.UpDownVoteValue vote; + global UpDownVoteCapabilityInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UpDownVoteValue.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UpDownVoteValue.cls new file mode 100644 index 0000000..a8468cf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UpDownVoteValue.cls @@ -0,0 +1,5 @@ +global enum UpDownVoteValue { +DOWN, +NONE, +UP +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UpVoteSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UpVoteSummary.cls new file mode 100644 index 0000000..f97bfb9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UpVoteSummary.cls @@ -0,0 +1,9 @@ +global class UpVoteSummary { + global UpVoteSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UpdateServiceAppointmentInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UpdateServiceAppointmentInput.cls new file mode 100644 index 0000000..0bda7e9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UpdateServiceAppointmentInput.cls @@ -0,0 +1,9 @@ +global class UpdateServiceAppointmentInput { + global String serviceAppointmentId; + global UpdateServiceAppointmentInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UpdateVideoCallResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UpdateVideoCallResult.cls new file mode 100644 index 0000000..da1c6a3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UpdateVideoCallResult.cls @@ -0,0 +1,11 @@ +global class UpdateVideoCallResult { + global String errorMessage; + global Boolean isSuccess; + global UpdateVideoCallResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/User.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/User.cls new file mode 100644 index 0000000..e1f0596 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/User.cls @@ -0,0 +1,21 @@ +global class User { + global String additionalLabel; + global String communityNickname; + global String companyName; + global String displayName; + global String firstName; + global Boolean isInThisCommunity; + global String lastName; + global ConnectApi.OutOfOffice outOfOffice; + global ConnectApi.Photo photo; + global ConnectApi.Reputation reputation; + global List stamps; + global String title; + global ConnectApi.UserType userType; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserActivitiesJob.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserActivitiesJob.cls new file mode 100644 index 0000000..71ead8a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserActivitiesJob.cls @@ -0,0 +1,12 @@ +global class UserActivitiesJob { + global String jobToken; + global String jobType; + global String message; + global UserActivitiesJob() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserActivityCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserActivityCollection.cls new file mode 100644 index 0000000..49a8f01 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserActivityCollection.cls @@ -0,0 +1,11 @@ +global class UserActivityCollection { + global String activityType; + global List userActivities; + global UserActivityCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserActivitySummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserActivitySummary.cls new file mode 100644 index 0000000..55d6997 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserActivitySummary.cls @@ -0,0 +1,12 @@ +global class UserActivitySummary { + global Datetime activityDate; + global String activityType; + global String activityUrl; + global ConnectApi.CommunitySummary community; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserActivityType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserActivityType.cls new file mode 100644 index 0000000..1fb3e16 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserActivityType.cls @@ -0,0 +1,14 @@ +global enum UserActivityType { +BOOKMARK, +CHATTERACTIVITY, +CHATTERLIKE, +COMMENT, +COMPANYVERIFY, +DOWNVOTE, +FEEDENTITYREAD, +FEEDREAD, +MUTE, +POST, +TOPICENDORSEMENT, +UPVOTE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserCapabilities.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserCapabilities.cls new file mode 100644 index 0000000..54b93c7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserCapabilities.cls @@ -0,0 +1,16 @@ +global class UserCapabilities { + global Boolean canChat; + global Boolean canDirectMessage; + global Boolean canEdit; + global Boolean canFollow; + global Boolean canViewFeed; + global Boolean canViewFullProfile; + global Boolean isModerator; + global UserCapabilities() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserChatterSettings.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserChatterSettings.cls new file mode 100644 index 0000000..2dd0419 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserChatterSettings.cls @@ -0,0 +1,10 @@ +global class UserChatterSettings { + global ConnectApi.GroupEmailFrequency defaultGroupEmailFrequency; + global UserChatterSettings() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserDetail.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserDetail.cls new file mode 100644 index 0000000..6dbd5a0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserDetail.cls @@ -0,0 +1,25 @@ +global class UserDetail { + global String aboutMe; + global ConnectApi.Address address; + global ConnectApi.BannerPhoto bannerPhoto; + global ConnectApi.ChatterActivity chatterActivity; + global ConnectApi.GlobalInfluence chatterInfluence; + global String email; + global Integer followersCount; + global ConnectApi.FollowingCounts followingCounts; + global Integer groupCount; + global Boolean hasChatter; + global Boolean isActive; + global String managerId; + global String managerName; + global List phoneNumbers; + global Integer thanksReceived; + global String username; + global UserDetail() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserFeedEntityActivitySummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserFeedEntityActivitySummary.cls new file mode 100644 index 0000000..e8ac88e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserFeedEntityActivitySummary.cls @@ -0,0 +1,9 @@ +global class UserFeedEntityActivitySummary { + global String feedEntityId; + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserGroupDetailPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserGroupDetailPage.cls new file mode 100644 index 0000000..bb054d5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserGroupDetailPage.cls @@ -0,0 +1,14 @@ +global class UserGroupDetailPage { + global String currentPageUrl; + global List groups; + global String nextPageUrl; + global String previousPageUrl; + global Integer total; + global UserGroupDetailPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserGroupPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserGroupPage.cls new file mode 100644 index 0000000..57d0b30 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserGroupPage.cls @@ -0,0 +1,14 @@ +global class UserGroupPage { + global String currentPageUrl; + global List groups; + global String nextPageUrl; + global String previousPageUrl; + global Integer total; + global UserGroupPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserInput.cls new file mode 100644 index 0000000..a224b61 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserInput.cls @@ -0,0 +1,9 @@ +global class UserInput { + global String aboutMe; + global UserInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserMission.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserMission.cls new file mode 100644 index 0000000..1f5ac64 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserMission.cls @@ -0,0 +1,11 @@ +global class UserMission { + global String missionName; + global Integer missionThreshold; + global UserMission() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserMissionActivitiesJob.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserMissionActivitiesJob.cls new file mode 100644 index 0000000..ca61b6e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserMissionActivitiesJob.cls @@ -0,0 +1,12 @@ +global class UserMissionActivitiesJob { + global String jobToken; + global String jobType; + global String message; + global UserMissionActivitiesJob() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserMissionActivity.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserMissionActivity.cls new file mode 100644 index 0000000..b08ce0e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserMissionActivity.cls @@ -0,0 +1,9 @@ +global class UserMissionActivity { + global UserMissionActivity() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserMissionActivityCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserMissionActivityCollection.cls new file mode 100644 index 0000000..8e6a1a9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserMissionActivityCollection.cls @@ -0,0 +1,13 @@ +global class UserMissionActivityCollection { + global ConnectApi.CommunitySummary community; + global String userId; + global List userMissionActivities; + global String userName; + global UserMissionActivityCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserMissionActivityStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserMissionActivityStatus.cls new file mode 100644 index 0000000..da13b41 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserMissionActivityStatus.cls @@ -0,0 +1,11 @@ +global class UserMissionActivityStatus { + global String message; + global String status; + global UserMissionActivityStatus() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserMissionActivityType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserMissionActivityType.cls new file mode 100644 index 0000000..bcfc376 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserMissionActivityType.cls @@ -0,0 +1,12 @@ +global enum UserMissionActivityType { +FEEDITEMANSWERAQUESTION, +FEEDITEMLIKESOMETHING, +FEEDITEMMARKANSWERASBEST, +FEEDITEMPOSTQUESTION, +FEEDITEMRECEIVEACOMMENT, +FEEDITEMRECEIVEALIKE, +FEEDITEMRECEIVEANANSWER, +FEEDITEMWRITEACOMMENT, +FEEDITEMWRITEAPOST, +FEEDITEMYOURANSWERMARKEDBEST +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserOauthInfo.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserOauthInfo.cls new file mode 100644 index 0000000..b4297c8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserOauthInfo.cls @@ -0,0 +1,11 @@ +global class UserOauthInfo { + global ConnectApi.OauthProviderInfo availableExternalEmailService; + global Boolean isAuthenticated; + global UserOauthInfo() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserOrGroupRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserOrGroupRepresentation.cls new file mode 100644 index 0000000..944b032 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserOrGroupRepresentation.cls @@ -0,0 +1,11 @@ +global class UserOrGroupRepresentation { + global String id; + global String name; + global UserOrGroupRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserPage.cls new file mode 100644 index 0000000..65911df --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserPage.cls @@ -0,0 +1,16 @@ +global class UserPage { + global Integer currentPageToken; + global String currentPageUrl; + global Integer nextPageToken; + global String nextPageUrl; + global Integer previousPageToken; + global String previousPageUrl; + global List users; + global UserPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserProfile.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserProfile.cls new file mode 100644 index 0000000..212bd3d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserProfile.cls @@ -0,0 +1,14 @@ +global class UserProfile { + global ConnectApi.UserCapabilities capabilities; + global String id; + global List tabs; + global String url; + global ConnectApi.UserDetail userDetail; + global UserProfile() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserProfileTab.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserProfileTab.cls new file mode 100644 index 0000000..2a78c3c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserProfileTab.cls @@ -0,0 +1,13 @@ +global class UserProfileTab { + global String id; + global Boolean isDefault; + global ConnectApi.UserProfileTabType tabType; + global String tabUrl; + global UserProfileTab() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserProfileTabType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserProfileTabType.cls new file mode 100644 index 0000000..e814017 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserProfileTabType.cls @@ -0,0 +1,7 @@ +global enum UserProfileTabType { +CUSTOMVISUALFORCE, +CUSTOMWEB, +ELEMENT, +FEED, +OVERVIEW +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserProfiles.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserProfiles.cls new file mode 100644 index 0000000..5bd9597 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserProfiles.cls @@ -0,0 +1,17 @@ +global class UserProfiles { + global Object clone() { } + global static void deleteBannerPhoto(String communityId, String userId) { } + global static void deletePhoto(String communityId, String userId) { } + global static ConnectApi.BannerPhoto getBannerPhoto(String communityId, String userId) { } + global static ConnectApi.Photo getPhoto(String communityId, String userId) { } + global static ConnectApi.UserProfile getUserProfile(String communityId, String userId) { } + global static ConnectApi.BannerPhoto setBannerPhoto(String communityId, String userId, String fileId, Integer versionNumber) { } + global static ConnectApi.BannerPhoto setBannerPhoto(String communityId, String userId, ConnectApi.BinaryInput fileUpload) { } + global static ConnectApi.BannerPhoto setBannerPhotoWithAttributes(String communityId, String userId, ConnectApi.BannerPhotoInput bannerPhoto, ConnectApi.BinaryInput fileUpload) { } + global static ConnectApi.BannerPhoto setBannerPhotoWithAttributes(String communityId, String userId, ConnectApi.BannerPhotoInput bannerPhoto) { } + global static ConnectApi.Photo setPhoto(String communityId, String userId, String fileId, Integer versionNumber) { } + global static ConnectApi.Photo setPhoto(String communityId, String userId, ConnectApi.BinaryInput fileUpload) { } + global static ConnectApi.Photo setPhotoWithAttributes(String communityId, String userId, ConnectApi.PhotoInput photo, ConnectApi.BinaryInput fileUpload) { } + global static ConnectApi.Photo setPhotoWithAttributes(String communityId, String userId, ConnectApi.PhotoInput photo) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserReferencePage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserReferencePage.cls new file mode 100644 index 0000000..bc941f6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserReferencePage.cls @@ -0,0 +1,14 @@ +global class UserReferencePage { + global String currentPageUrl; + global String nextPageUrl; + global String previousPageUrl; + global Integer userCount; + global List users; + global UserReferencePage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserSettings.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserSettings.cls new file mode 100644 index 0000000..e8d08b0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserSettings.cls @@ -0,0 +1,36 @@ +global class UserSettings { + global Boolean approvalPosts; + global Boolean canAccessPersonalStreams; + global Boolean canFollow; + global Boolean canModifyAllData; + global Boolean canOwnGroups; + global Boolean canViewAllData; + global Boolean canViewAllGroups; + global Boolean canViewAllUsers; + global Boolean canViewCommunitySwitcher; + global Boolean canViewFullUserProfile; + global Boolean canViewPublicFiles; + global String currencySymbol; + global Boolean externalUser; + global Integer fileSyncLimit; + global Integer fileSyncStorageLimit; + global Integer folderSyncLimit; + global Boolean hasAccessToInternalOrg; + global Boolean hasChatter; + global Boolean hasFieldServiceLocationTracking; + global Boolean hasFieldServiceMobileAccess; + global Boolean hasFileSync; + global Boolean hasFileSyncManagedClientAutoUpdate; + global Boolean hasRestDataApiAccess; + global ConnectApi.TimeZone timeZone; + global String userDefaultCurrencyIsoCode; + global String userId; + global String userLocale; + global UserSettings() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserSummary.cls new file mode 100644 index 0000000..d8590f9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserSummary.cls @@ -0,0 +1,10 @@ +global class UserSummary { + global Boolean isActive; + global UserSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserType.cls new file mode 100644 index 0000000..6bf70e0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/UserType.cls @@ -0,0 +1,9 @@ +global enum UserType { +CHATTERGUEST, +CHATTERONLY, +GUEST, +INTERNAL, +PORTAL, +SYSTEM, +UNDEFINED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ValidateSignatureResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ValidateSignatureResult.cls new file mode 100644 index 0000000..617030d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ValidateSignatureResult.cls @@ -0,0 +1,12 @@ +global class ValidateSignatureResult { + global String errorMessage; + global String externalMeetingId; + global Boolean isValid; + global ValidateSignatureResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ValidationErrorOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ValidationErrorOutputRepresentation.cls new file mode 100644 index 0000000..904b4ea --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ValidationErrorOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class ValidationErrorOutputRepresentation { + global List errors; + global ValidationErrorOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerificationContextInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerificationContextInput.cls new file mode 100644 index 0000000..f3fea31 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerificationContextInput.cls @@ -0,0 +1,12 @@ +global class VerificationContextInput { + global ConnectApi.ProcessDefinitionInput processDefinition; + global ConnectApi.SelectedSearchResultInput selectedSearchResult; + global ConnectApi.SelectedVerifiedResultInput selectedVerifiedResult; + global ConnectApi.VerifiedResultInput verifiedResult; + global VerificationContextInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerificationContextOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerificationContextOutputRepresentation.cls new file mode 100644 index 0000000..a70a521 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerificationContextOutputRepresentation.cls @@ -0,0 +1,15 @@ +global class VerificationContextOutputRepresentation { + global Boolean isSuccess; + global String message; + global ConnectApi.ProcessDefinitionOutputRepresentation processDefinition; + global ConnectApi.SelectedSearchResultOutputRepresentation selectedSearchResult; + global ConnectApi.SelectedVerifiedResultOutputRepresentation selectedVerifiedResult; + global ConnectApi.VerifiedResultOutputRepresentation verifiedResult; + global VerificationContextOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerificationProcessFieldInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerificationProcessFieldInput.cls new file mode 100644 index 0000000..17d9346 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerificationProcessFieldInput.cls @@ -0,0 +1,16 @@ +global class VerificationProcessFieldInput { + global String dataSourceType; + global String dataType; + global String developerName; + global String fieldName; + global String fieldType; + global String fieldValueFormula; + global Boolean isManualInput; + global String label; + global VerificationProcessFieldInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerificationProcessFieldListOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerificationProcessFieldListOutputRepresentation.cls new file mode 100644 index 0000000..2d4337e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerificationProcessFieldListOutputRepresentation.cls @@ -0,0 +1,10 @@ +global class VerificationProcessFieldListOutputRepresentation { + global List verificationProcessFields; + global VerificationProcessFieldListOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerificationProcessFieldOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerificationProcessFieldOutputRepresentation.cls new file mode 100644 index 0000000..9829857 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerificationProcessFieldOutputRepresentation.cls @@ -0,0 +1,17 @@ +global class VerificationProcessFieldOutputRepresentation { + global String dataSourceType; + global String dataType; + global String developerName; + global String fieldName; + global String fieldType; + global String fieldValueFormula; + global Boolean isManualInput; + global String label; + global VerificationProcessFieldOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifiedCapability.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifiedCapability.cls new file mode 100644 index 0000000..ee2caef --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifiedCapability.cls @@ -0,0 +1,14 @@ +global class VerifiedCapability { + global Boolean isVerifiableByMe; + global Boolean isVerified; + global Boolean isVerifiedByAnonymized; + global ConnectApi.UserSummary lastVerifiedByUser; + global Datetime lastVerifiedDate; + global VerifiedCapability() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifiedCapabilityInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifiedCapabilityInput.cls new file mode 100644 index 0000000..7a84705 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifiedCapabilityInput.cls @@ -0,0 +1,10 @@ +global class VerifiedCapabilityInput { + global Boolean isVerified; + global Boolean isVerifiedByAnonymized; + global VerifiedCapabilityInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifiedDetailsInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifiedDetailsInput.cls new file mode 100644 index 0000000..cf9d97c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifiedDetailsInput.cls @@ -0,0 +1,14 @@ +global class VerifiedDetailsInput { + global String displayRecordId; + global String displayRecordName; + global String label; + global String processDetailName; + global String searchObjectName; + global String verifiedId; + global VerifiedDetailsInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifiedDetailsOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifiedDetailsOutputRepresentation.cls new file mode 100644 index 0000000..1f4fc2b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifiedDetailsOutputRepresentation.cls @@ -0,0 +1,15 @@ +global class VerifiedDetailsOutputRepresentation { + global String displayRecordId; + global String displayRecordName; + global String label; + global String processDetailName; + global String searchObjectName; + global String verifiedId; + global VerifiedDetailsOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifiedResultInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifiedResultInput.cls new file mode 100644 index 0000000..a5d34a8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifiedResultInput.cls @@ -0,0 +1,10 @@ +global class VerifiedResultInput { + global List optionalVerifiers; + global List requiredVerifiers; + global VerifiedResultInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifiedResultOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifiedResultOutputRepresentation.cls new file mode 100644 index 0000000..2148431 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifiedResultOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class VerifiedResultOutputRepresentation { + global List optionalVerifiers; + global List requiredVerifiers; + global VerifiedResultOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifierInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifierInput.cls new file mode 100644 index 0000000..62a9135 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifierInput.cls @@ -0,0 +1,10 @@ +global class VerifierInput { + global String developerName; + global String verificationState; + global VerifierInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifierOutputRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifierOutputRepresentation.cls new file mode 100644 index 0000000..4551dd2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VerifierOutputRepresentation.cls @@ -0,0 +1,11 @@ +global class VerifierOutputRepresentation { + global String developerName; + global String verificationState; + global VerifierOutputRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VideoCallParticipant.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VideoCallParticipant.cls new file mode 100644 index 0000000..ca14099 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VideoCallParticipant.cls @@ -0,0 +1,12 @@ +global class VideoCallParticipant { + global List fields; + global String participantId; + global String participantName; + global VideoCallParticipant() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VideoCallParticipantField.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VideoCallParticipantField.cls new file mode 100644 index 0000000..df83479 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VideoCallParticipantField.cls @@ -0,0 +1,13 @@ +global class VideoCallParticipantField { + global String contactFieldValue; + global Boolean doesFieldValuesMatch; + global String fieldLabel; + global String intakeFormFieldValue; + global VideoCallParticipantField() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VideoCallParticipantResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VideoCallParticipantResult.cls new file mode 100644 index 0000000..3225d21 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VideoCallParticipantResult.cls @@ -0,0 +1,13 @@ +global class VideoCallParticipantResult { + global String errorMessage; + global List inCallParticipants; + global Boolean isSuccess; + global List waitingParticipants; + global VideoCallParticipantResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VoidPostedInvoiceInputRequest.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VoidPostedInvoiceInputRequest.cls new file mode 100644 index 0000000..f373ae5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VoidPostedInvoiceInputRequest.cls @@ -0,0 +1,9 @@ +global class VoidPostedInvoiceInputRequest { + global String invoiceId; + global VoidPostedInvoiceInputRequest() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Vote.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Vote.cls new file mode 100644 index 0000000..780c073 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Vote.cls @@ -0,0 +1,12 @@ +global class Vote { + global ConnectApi.UpDownVoteValue type; + global ConnectApi.UserSummary user; + global ConnectApi.Reference votedItem; + global Vote() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VotePage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VotePage.cls new file mode 100644 index 0000000..ea9893f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VotePage.cls @@ -0,0 +1,17 @@ +global class VotePage { + global Integer currentPageToken; + global String currentPageUrl; + global List items; + global Integer nextPageToken; + global String nextPageUrl; + global Integer previousPageToken; + global String previousPageUrl; + global Long total; + global VotePage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Voucher.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Voucher.cls new file mode 100644 index 0000000..5aaee1d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Voucher.cls @@ -0,0 +1,3 @@ +global class Voucher { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VoucherInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VoucherInput.cls new file mode 100644 index 0000000..a9888b6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VoucherInput.cls @@ -0,0 +1,11 @@ +global class VoucherInput { + global String buyer; + global Long pricePerToken; + global Long tokenId; + global VoucherInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VoucherOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VoucherOutput.cls new file mode 100644 index 0000000..e10fba6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VoucherOutput.cls @@ -0,0 +1,15 @@ +global class VoucherOutput { + global String buyer; + global Integer expirationDuration; + global Long issueTime; + global Long nonce; + global String pricePerToken; + global String signature; + global VoucherOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VoucherPublicKeyOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VoucherPublicKeyOutput.cls new file mode 100644 index 0000000..2f1635e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VoucherPublicKeyOutput.cls @@ -0,0 +1,10 @@ +global class VoucherPublicKeyOutput { + global String publicKey; + global VoucherPublicKeyOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VoucherRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VoucherRepresentation.cls new file mode 100644 index 0000000..48ae681 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VoucherRepresentation.cls @@ -0,0 +1,34 @@ +global class VoucherRepresentation { + global String currencyIsoCode; + global String description; + global Integer discountPercent; + global Datetime effectiveDate; + global Datetime expirationDate; + global Double faceValue; + global Boolean isVoucherDefinitionActive; + global Boolean isVoucherPartiallyRedeemable; + global String partnerAccountName; + global String productCategoryId; + global String productCategoryName; + global String productId; + global String productName; + global String promotionId; + global String promotionName; + global Double redeemedValue; + global Double remainingValue; + global String status; + global String type; + global Datetime useDate; + global String voucherCode; + global String voucherDefinition; + global String voucherId; + global String voucherImageUrl; + global String voucherNumber; + global VoucherRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VoucherWithPriceInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VoucherWithPriceInput.cls new file mode 100644 index 0000000..d35ed8b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VoucherWithPriceInput.cls @@ -0,0 +1,11 @@ +global class VoucherWithPriceInput { + global String priceField; + global Long tokenId; + global String walletId; + global VoucherWithPriceInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VoucherWithPriceOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VoucherWithPriceOutput.cls new file mode 100644 index 0000000..be56c48 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VoucherWithPriceOutput.cls @@ -0,0 +1,18 @@ +global class VoucherWithPriceOutput { + global Double discountPercentage; + global Integer expirationDuration; + global Long issueTime; + global Long nonce; + global Double originalPricePerToken; + global Double pricePerToken; + global String signature; + global String walletId; + global Long weiPerToken; + global VoucherWithPriceOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VouchersListRepresentation.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VouchersListRepresentation.cls new file mode 100644 index 0000000..6c4da73 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/VouchersListRepresentation.cls @@ -0,0 +1,11 @@ +global class VouchersListRepresentation { + global Integer voucherCount; + global List vouchers; + global VouchersListRepresentation() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistAnalytics.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistAnalytics.cls new file mode 100644 index 0000000..0db5f65 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistAnalytics.cls @@ -0,0 +1,13 @@ +global class WaitlistAnalytics { + global Integer currentParticipant; + global Integer servedParticipant; + global Integer totalParticipant; + global Integer totalWaitingTimeInMin; + global WaitlistAnalytics() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistAppointmentResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistAppointmentResult.cls new file mode 100644 index 0000000..556b162 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistAppointmentResult.cls @@ -0,0 +1,12 @@ +global class WaitlistAppointmentResult { + global String assignedResourceId; + global String serviceAppointmentId; + global String waitlistParticipantId; + global WaitlistAppointmentResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistCheckInInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistCheckInInput.cls new file mode 100644 index 0000000..709c0bf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistCheckInInput.cls @@ -0,0 +1,15 @@ +global class WaitlistCheckInInput { + global String description; + global ConnectApi.LeadInput lead; + global String participantId; + global String serviceResourceId; + global String waitlistId; + global String workTypeGroupId; + global String workTypeId; + global WaitlistCheckInInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistCheckInOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistCheckInOutput.cls new file mode 100644 index 0000000..4bb038a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistCheckInOutput.cls @@ -0,0 +1,10 @@ +global class WaitlistCheckInOutput { + global ConnectApi.WaitlistCheckInResult result; + global WaitlistCheckInOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistCheckInResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistCheckInResult.cls new file mode 100644 index 0000000..bcdc844 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistCheckInResult.cls @@ -0,0 +1,12 @@ +global class WaitlistCheckInResult { + global String participantId; + global String serviceAppointmentId; + global String waitlistParticipantId; + global WaitlistCheckInResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistInput.cls new file mode 100644 index 0000000..d50adfe --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistInput.cls @@ -0,0 +1,14 @@ +global class WaitlistInput { + global Boolean isActive; + global Integer maxLimit; + global Integer offset; + global String requestId; + global String serviceTerritoryId; + global List waitlistIds; + global WaitlistInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistListResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistListResult.cls new file mode 100644 index 0000000..91991ba --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistListResult.cls @@ -0,0 +1,10 @@ +global class WaitlistListResult { + global List waitlists; + global WaitlistListResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistOutput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistOutput.cls new file mode 100644 index 0000000..042dec4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistOutput.cls @@ -0,0 +1,10 @@ +global class WaitlistOutput { + global ConnectApi.WaitlistListResult result; + global WaitlistOutput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistParticipantParticipant.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistParticipantParticipant.cls new file mode 100644 index 0000000..7aaede4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistParticipantParticipant.cls @@ -0,0 +1,11 @@ +global class WaitlistParticipantParticipant { + global String id; + global String name; + global WaitlistParticipantParticipant() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistParticipantResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistParticipantResult.cls new file mode 100644 index 0000000..eefa81e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistParticipantResult.cls @@ -0,0 +1,15 @@ +global class WaitlistParticipantResult { + global ConnectApi.WaitlistParticipantParticipant participant; + global String participantIdentifier; + global String serviceAppointmentId; + global ConnectApi.WaitlistServiceResource serviceResource; + global String waitlistParticipantId; + global ConnectApi.WaitlistWorkTypeGroup workTypeGroup; + global WaitlistParticipantResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistRelationshipsResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistRelationshipsResult.cls new file mode 100644 index 0000000..9432dc6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistRelationshipsResult.cls @@ -0,0 +1,11 @@ +global class WaitlistRelationshipsResult { + global List serviceResources; + global List workTypes; + global WaitlistRelationshipsResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistResult.cls new file mode 100644 index 0000000..7b6c859 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistResult.cls @@ -0,0 +1,17 @@ +global class WaitlistResult { + global String description; + global Boolean isActive; + global String name; + global List serviceResources; + global ConnectApi.WaitlistAnalytics waitlistAnalytics; + global String waitlistId; + global List waitlistParticipants; + global List workTypeGroups; + global WaitlistResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistServiceResource.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistServiceResource.cls new file mode 100644 index 0000000..1f3440a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistServiceResource.cls @@ -0,0 +1,11 @@ +global class WaitlistServiceResource { + global String id; + global String name; + global WaitlistServiceResource() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistServiceResourceWithWorkTypes.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistServiceResourceWithWorkTypes.cls new file mode 100644 index 0000000..e0a7566 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistServiceResourceWithWorkTypes.cls @@ -0,0 +1,13 @@ +global class WaitlistServiceResourceWithWorkTypes { + global String id; + global String serviceResourceId; + global String waitlistId; + global List workTypeIds; + global WaitlistServiceResourceWithWorkTypes() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistWorkType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistWorkType.cls new file mode 100644 index 0000000..d931cd3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistWorkType.cls @@ -0,0 +1,13 @@ +global class WaitlistWorkType { + global String id; + global String name; + global ConnectApi.WaitlistResult waitlist; + global ConnectApi.WaitlistWorkTypeGroup workTypeGroup; + global WaitlistWorkType() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistWorkTypeGroup.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistWorkTypeGroup.cls new file mode 100644 index 0000000..89e6360 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WaitlistWorkTypeGroup.cls @@ -0,0 +1,11 @@ +global class WaitlistWorkTypeGroup { + global String id; + global String name; + global WaitlistWorkTypeGroup() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Wave.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Wave.cls new file mode 100644 index 0000000..e610ea0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Wave.cls @@ -0,0 +1,9 @@ +global class Wave { + global Object clone() { } + global static ConnectApi.LiteralJson executeQuery(String queryString, String timezone) { } + global static ConnectApi.LiteralJson executeQuery(String queryString) { } + global static ConnectApi.LiteralJson executeQueryByInputRep(ConnectApi.SaqlQueryInput query) { } + global static ConnectApi.LiteralJson executeQueryByName(String name, String timezone) { } + global static ConnectApi.LiteralJson executeQueryByName(String name) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Web3Transaction.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Web3Transaction.cls new file mode 100644 index 0000000..aff13a0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Web3Transaction.cls @@ -0,0 +1,3 @@ +global class Web3Transaction { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishList.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishList.cls new file mode 100644 index 0000000..6545444 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishList.cls @@ -0,0 +1,11 @@ +global class WishList { + global ConnectApi.WishlistItemCollection page; + global ConnectApi.WishlistSummary summary; + global Wishlist() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistInput.cls new file mode 100644 index 0000000..4848aaa --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistInput.cls @@ -0,0 +1,10 @@ +global class WishlistInput { + global String name; + global List products; + global WishlistInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistItem.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistItem.cls new file mode 100644 index 0000000..d0a9a9b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistItem.cls @@ -0,0 +1,15 @@ +global class WishlistItem { + global String currencyIsoCode; + global ConnectApi.ErrorResponse error; + global Double listPrice; + global ConnectApi.CartItemProduct productSummary; + global Double salesPrice; + global String wishlistItemId; + global WishlistItem() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistItemCollection.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistItemCollection.cls new file mode 100644 index 0000000..1e5944a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistItemCollection.cls @@ -0,0 +1,18 @@ +global class WishlistItemCollection { + global String currencyIsoCode; + global String currentPageToken; + global String currentPageUrl; + global Boolean hasErrors; + global List items; + global String nextPageToken; + global String nextPageUrl; + global String previousPageToken; + global String previousPageUrl; + global WishlistItemCollection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistItemInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistItemInput.cls new file mode 100644 index 0000000..5b134ca --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistItemInput.cls @@ -0,0 +1,9 @@ +global class WishlistItemInput { + global String productId; + global WishlistItemInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistItemSortOrder.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistItemSortOrder.cls new file mode 100644 index 0000000..16358ff --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistItemSortOrder.cls @@ -0,0 +1,4 @@ +global enum WishlistItemSortOrder { +CREATEDDATEASC, +CREATEDDATEDESC +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistSummary.cls new file mode 100644 index 0000000..0d79a5b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistSummary.cls @@ -0,0 +1,14 @@ +global class WishlistSummary { + global Datetime createdDate; + global String id; + global Datetime modifiedDate; + global String name; + global Integer wishlistProductCount; + global WishlistSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistToCartResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistToCartResult.cls new file mode 100644 index 0000000..4fd1c5a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistToCartResult.cls @@ -0,0 +1,15 @@ +global class WishlistToCartResult { + global String cartId; + global List failedWishlistToCartItems; + global Integer productsFailedCount; + global Integer productsRequestedCount; + global Integer productsSucceededCount; + global List succeededWishlistToCartItems; + global WishlistToCartResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistUpdateInput.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistUpdateInput.cls new file mode 100644 index 0000000..c308045 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistUpdateInput.cls @@ -0,0 +1,9 @@ +global class WishlistUpdateInput { + global String name; + global WishlistUpdateInput() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistsSummary.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistsSummary.cls new file mode 100644 index 0000000..78c3377 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WishlistsSummary.cls @@ -0,0 +1,12 @@ +global class WishlistsSummary { + global ConnectApi.Wishlist displayedList; + global List summaries; + global Integer wishlistCount; + global WishlistsSummary() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WorkflowProcessStatus.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WorkflowProcessStatus.cls new file mode 100644 index 0000000..595a3a0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WorkflowProcessStatus.cls @@ -0,0 +1,11 @@ +global enum WorkflowProcessStatus { +APPROVED, +FAULT, +HELD, +NORESPONSE, +PENDING, +REASSIGNED, +REJECTED, +REMOVED, +STARTED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WorkspacePermission.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WorkspacePermission.cls new file mode 100644 index 0000000..7a886b7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WorkspacePermission.cls @@ -0,0 +1,22 @@ +global class WorkspacePermission { + global Boolean canAddFileComments; + global Boolean canAddFiles; + global Boolean canAddFilesOnBehalfOfOthers; + global Boolean canArchiveFiles; + global Boolean canAttachOrShareFilesToFeed; + global Boolean canDeleteFiles; + global Boolean canDeliverContent; + global Boolean canFeatureFiles; + global Boolean canManageWorkspace; + global Boolean canModifyFileComments; + global Boolean canOrganizeFilesAndFolders; + global Boolean canTagFiles; + global Boolean canViewFileComments; + global WorkspacePermission() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WrappedMap.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WrappedMap.cls new file mode 100644 index 0000000..15c6eb3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WrappedMap.cls @@ -0,0 +1,10 @@ +global class WrappedMap { + global Map wrappedMap; + global WrappedMap() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WrappedMapObject.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WrappedMapObject.cls new file mode 100644 index 0000000..8505d5b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WrappedMapObject.cls @@ -0,0 +1,10 @@ +global class WrappedMapObject { + global Map wrappedMap; + global WrappedMapObject() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WrappedObject.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WrappedObject.cls new file mode 100644 index 0000000..88b30f4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WrappedObject.cls @@ -0,0 +1,9 @@ +global class WrappedObject { + global Object wrappedObject; + global WrappedObject() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WrappedValue.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WrappedValue.cls new file mode 100644 index 0000000..8340ca9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/WrappedValue.cls @@ -0,0 +1,9 @@ +global class WrappedValue { + global Object value; + global WrappedValue() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Zone.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Zone.cls new file mode 100644 index 0000000..9397ae2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Zone.cls @@ -0,0 +1,17 @@ +global class Zone { + global String description; + global String id; + global Boolean isActive; + global Boolean isChatterAnswers; + global String name; + global String url; + global ConnectApi.ZoneShowIn visibility; + global String visibilityId; + global Zone() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ZonePage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ZonePage.cls new file mode 100644 index 0000000..d2e0377 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ZonePage.cls @@ -0,0 +1,12 @@ +global class ZonePage { + global String currentPageUrl; + global String nextPageUrl; + global List zones; + global ZonePage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ZoneSearchPage.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ZoneSearchPage.cls new file mode 100644 index 0000000..234546a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ZoneSearchPage.cls @@ -0,0 +1,14 @@ +global class ZoneSearchPage { + global String currentPageToken; + global String currentPageUrl; + global List items; + global String nextPageToken; + global String nextPageUrl; + global ZoneSearchPage() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ZoneSearchResult.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ZoneSearchResult.cls new file mode 100644 index 0000000..3011f1d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ZoneSearchResult.cls @@ -0,0 +1,14 @@ +global class ZoneSearchResult { + global Boolean hasBestAnswer; + global String id; + global String title; + global ConnectApi.ZoneSearchResultType type; + global Integer voteCount; + global ZoneSearchResult() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Double getBuildVersion() { } + global Integer hashCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ZoneSearchResultType.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ZoneSearchResultType.cls new file mode 100644 index 0000000..33774a8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ZoneSearchResultType.cls @@ -0,0 +1,4 @@ +global enum ZoneSearchResultType { +ARTICLE, +QUESTION +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ZoneShowIn.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ZoneShowIn.cls new file mode 100644 index 0000000..bf42b51 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/ZoneShowIn.cls @@ -0,0 +1,5 @@ +global enum ZoneShowIn { +COMMUNITY, +INTERNAL, +PORTAL +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Zones.cls b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Zones.cls new file mode 100644 index 0000000..f77ae11 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/ConnectApi/Zones.cls @@ -0,0 +1,13 @@ +global class Zones { + global Object clone() { } + global static ConnectApi.Zone getZone(String communityId, String zoneId) { } + global static ConnectApi.ZonePage getZones(String communityId, Integer pageParam, Integer pageSize) { } + global static ConnectApi.ZonePage getZones(String communityId) { } + global static ConnectApi.ZoneSearchPage searchInZone(String communityId, String zoneId, String q, ConnectApi.ZoneSearchResultType filter, String pageParam, Integer pageSize) { } + global static ConnectApi.ZoneSearchPage searchInZone(String communityId, String zoneId, String q, ConnectApi.ZoneSearchResultType filter, String language) { } + global static ConnectApi.ZoneSearchPage searchInZone(String communityId, String zoneId, String q, ConnectApi.ZoneSearchResultType filter) { } + global static void setTestSearchInZone(String communityId, String zoneId, String q, ConnectApi.ZoneSearchResultType filter, String pageParam, Integer pageSize, ConnectApi.ZoneSearchPage result) { } + global static void setTestSearchInZone(String communityId, String zoneId, String q, ConnectApi.ZoneSearchResultType filter, String language, ConnectApi.ZoneSearchPage result) { } + global static void setTestSearchInZone(String communityId, String zoneId, String q, ConnectApi.ZoneSearchResultType filter, ConnectApi.ZoneSearchPage result) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/ApexTestData.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/ApexTestData.cls new file mode 100644 index 0000000..7ac7993 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/ApexTestData.cls @@ -0,0 +1,3 @@ +global class ApexTestData { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/AsyncDeleteCallback.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/AsyncDeleteCallback.cls new file mode 100644 index 0000000..ad33372 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/AsyncDeleteCallback.cls @@ -0,0 +1,6 @@ +global class AsyncDeleteCallback { + global AsyncDeleteCallback() { } + global Object clone() { } + global void processDelete(Database.DeleteResult deleteResult) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/AsyncSaveCallback.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/AsyncSaveCallback.cls new file mode 100644 index 0000000..dd82f7a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/AsyncSaveCallback.cls @@ -0,0 +1,6 @@ +global class AsyncSaveCallback { + global AsyncSaveCallback() { } + global Object clone() { } + global void processSave(Database.SaveResult saveResult) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/AuthenticationCapability.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/AuthenticationCapability.cls new file mode 100644 index 0000000..072e96e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/AuthenticationCapability.cls @@ -0,0 +1,6 @@ +global enum AuthenticationCapability { +ANONYMOUS, +BASIC, +CERTIFICATE, +OAUTH +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/AuthenticationProtocol.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/AuthenticationProtocol.cls new file mode 100644 index 0000000..d7acab7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/AuthenticationProtocol.cls @@ -0,0 +1,6 @@ +global enum AuthenticationProtocol { +CERTIFICATE, +NONE, +OAUTH, +PASSWORD +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/Capability.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/Capability.cls new file mode 100644 index 0000000..eed37dc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/Capability.cls @@ -0,0 +1,12 @@ +global enum Capability { +MATCH, +QUERY_PAGINATION_SERVER_DRIVEN, +QUERY_TOTAL_SIZE, +REQUIRE_ENDPOINT, +REQUIRE_HTTPS, +ROW_CREATE, +ROW_DELETE, +ROW_QUERY, +ROW_UPDATE, +SEARCH +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/Column.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/Column.cls new file mode 100644 index 0000000..1ac71e4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/Column.cls @@ -0,0 +1,34 @@ +global class Column { + global Integer decimalPlaces; + global String description; + global Boolean filterable; + global String label; + global Integer length; + global String name; + global String referenceTargetField; + global String referenceTo; + global Boolean sortable; + global DataSource.DataType type; + global Column() { } + global static DataSource.Column boolean(String name) { } + global Object clone() { } + global Boolean equals(Object obj) { } + global static DataSource.Column externalLookup(String name, String domain) { } + global static DataSource.Column get(String name, String label, String description, Boolean isSortable, Boolean isFilterable, DataSource.DataType type, Integer length, Integer decimalPlaces, String referenceTo, String referenceTargetField) { } + global static DataSource.Column get(String name, String label, String description, Boolean isSortable, Boolean isFilterable, DataSource.DataType type, Integer length, Integer decimalPlaces) { } + global static DataSource.Column get(String name, String label, String description, Boolean isSortable, Boolean isFilterable, DataSource.DataType type, Integer length) { } + global Integer hashCode() { } + global static DataSource.Column indirectLookup(String name, String domain, String targetField) { } + global static DataSource.Column integer(String name, Integer length) { } + global void logWarning(String msg) { } + global static DataSource.Column lookup(String name, String domain) { } + global static DataSource.Column number(String name, Integer length, Integer decimalPlaces) { } + global static DataSource.Column text(String name, String label, Integer length) { } + global static DataSource.Column text(String name, Integer length) { } + global static DataSource.Column text(String name) { } + global static DataSource.Column textarea(String name) { } + global void throwException(String msg) { } + global static DataSource.Column url(String name, Integer length) { } + global static DataSource.Column url(String name) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/ColumnSelection.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/ColumnSelection.cls new file mode 100644 index 0000000..4efd895 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/ColumnSelection.cls @@ -0,0 +1,10 @@ +global class ColumnSelection { + global DataSource.QueryAggregation aggregation; + global String columnName; + global String tableName; + global ColumnSelection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/Connection.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/Connection.cls new file mode 100644 index 0000000..164e859 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/Connection.cls @@ -0,0 +1,12 @@ +global class Connection { + global Connection() { } + global Object clone() { } + global List deleteRows(DataSource.DeleteContext deleteContext) { } + global void logWarning(String msg) { } + global DataSource.TableResult query(DataSource.QueryContext queryContext) { } + global List search(DataSource.SearchContext searchContext) { } + global List sync() { } + global void throwException(String msg) { } + global List upsertRows(DataSource.UpsertContext upsertContext) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/ConnectionParams.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/ConnectionParams.cls new file mode 100644 index 0000000..3fd2833 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/ConnectionParams.cls @@ -0,0 +1,15 @@ +global class ConnectionParams { + global String certificateName; + global String endpoint; + global String oauthToken; + global String password; + global DataSource.IdentityType principalType; + global DataSource.AuthenticationProtocol protocol; + global String repository; + global String username; + global ConnectionParams() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/DataSourceException.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/DataSourceException.cls new file mode 100644 index 0000000..190a1b2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/DataSourceException.cls @@ -0,0 +1,9 @@ +global class DataSourceException extends Exception { + global DataSourceException(String param0, Exception param1) { } + global DataSourceException(Exception param0) { } + global DataSourceException(String param0) { } + global DataSourceException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/DataSourceUtil.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/DataSourceUtil.cls new file mode 100644 index 0000000..6fdc504 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/DataSourceUtil.cls @@ -0,0 +1,7 @@ +global class DataSourceUtil { + global DataSourceUtil() { } + global Object clone() { } + global void logWarning(String msg) { } + global void throwException(String msg) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/DataType.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/DataType.cls new file mode 100644 index 0000000..3afe819 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/DataType.cls @@ -0,0 +1,11 @@ +global enum DataType { +BOOLEAN_TYPE, +DATETIME_TYPE, +EXTERNAL_LOOKUP_TYPE, +INDIRECT_LOOKUP_TYPE, +LOOKUP_TYPE, +NUMBER_TYPE, +STRING_LONG_TYPE, +STRING_SHORT_TYPE, +URL_TYPE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/DeleteContext.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/DeleteContext.cls new file mode 100644 index 0000000..56149a4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/DeleteContext.cls @@ -0,0 +1,7 @@ +global class DeleteContext { + global List externalIds; + global String tableSelected; + global DeleteContext() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/DeleteResult.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/DeleteResult.cls new file mode 100644 index 0000000..6209912 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/DeleteResult.cls @@ -0,0 +1,11 @@ +global class DeleteResult { + global String errorMessage; + global String externalId; + global Boolean success; + global Object clone() { } + global Boolean equals(Object obj) { } + global static DataSource.DeleteResult failure(String externalId, String errorMessage) { } + global Integer hashCode() { } + global static DataSource.DeleteResult success(String externalId) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/Filter.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/Filter.cls new file mode 100644 index 0000000..5a55973 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/Filter.cls @@ -0,0 +1,13 @@ +global class Filter { + global String columnName; + global Object columnValue; + global List subfilters; + global String tableName; + global DataSource.FilterType type; + global Filter(DataSource.FilterType type, String tableName, String columnName, Object columnValue) { } + global Filter() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/FilterType.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/FilterType.cls new file mode 100644 index 0000000..08d0834 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/FilterType.cls @@ -0,0 +1,15 @@ +global enum FilterType { +AND_, +CONTAINS, +ENDS_WITH, +EQUALS, +GREATER_THAN, +GREATER_THAN_OR_EQUAL_TO, +LESS_THAN, +LESS_THAN_OR_EQUAL_TO, +LIKE_, +NOT_, +NOT_EQUALS, +OR_, +STARTS_WITH +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/IAsyncDeleteCallback.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/IAsyncDeleteCallback.cls new file mode 100644 index 0000000..9332491 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/IAsyncDeleteCallback.cls @@ -0,0 +1,4 @@ +global interface IAsyncDeleteCallback { + void processDelete(Database.DeleteResult param0); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/IAsyncSaveCallback.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/IAsyncSaveCallback.cls new file mode 100644 index 0000000..5bf0f27 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/IAsyncSaveCallback.cls @@ -0,0 +1,4 @@ +global interface IAsyncSaveCallback { + void processSave(Database.SaveResult param0); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/IdentityType.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/IdentityType.cls new file mode 100644 index 0000000..fde1bc6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/IdentityType.cls @@ -0,0 +1,5 @@ +global enum IdentityType { +ANONYMOUS, +NAMED_USER, +PER_USER +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/MatchContext.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/MatchContext.cls new file mode 100644 index 0000000..db5507b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/MatchContext.cls @@ -0,0 +1,8 @@ +global class MatchContext { + global List fields; + global Integer maxMatchResults; + global Integer minMatchConfidence; + global String tableName; + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/MatchEngineSettings.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/MatchEngineSettings.cls new file mode 100644 index 0000000..caaa978 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/MatchEngineSettings.cls @@ -0,0 +1,10 @@ +global class MatchEngineSettings { + global Set matchableFields; + global Integer maxBatchSize; + global Integer maxMatchResults; + global Integer minMatchConfidenceThreshold; + global MatchEngineSettings(Integer maxBatchSize, Integer maxMatchResults, Integer minMatchConfidenceThreshold, Set matchableFields) { } + global MatchEngineSettings(Integer maxBatchSize, Integer maxMatchResults, Integer minMatchConfidenceThreshold) { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/MatchResult.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/MatchResult.cls new file mode 100644 index 0000000..44d2e83 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/MatchResult.cls @@ -0,0 +1,14 @@ +global class MatchResult { + global String errorMessage; + global Integer index; + global List matches; + global Integer size; + global Boolean success; + global String tableName; + global Double topScore; + global Object clone() { } + global Boolean equals(Object obj) { } + global static DataSource.MatchResult get(Boolean success, String errorMessage, String tableName, Integer index, Integer size, Double topScore, List matches) { } + global Integer hashCode() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/Matchable.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/Matchable.cls new file mode 100644 index 0000000..3d034c6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/Matchable.cls @@ -0,0 +1,5 @@ +global interface Matchable { + DataSource.MatchEngineSettings getMatchEngineSettings(String param0); + DataSource.MatchResult match(DataSource.MatchContext param0); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/MatchedRecord.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/MatchedRecord.cls new file mode 100644 index 0000000..9d83fb2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/MatchedRecord.cls @@ -0,0 +1,11 @@ +global class MatchedRecord { + global Map additionalInformation; + global Map data; + global List diffs; + global Double score; + global Object clone() { } + global Boolean equals(Object obj) { } + global static DataSource.MatchedRecord get(Map data, Double score, List diffs, Map additionalInformation) { } + global Integer hashCode() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/OAuthTokenExpiredException.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/OAuthTokenExpiredException.cls new file mode 100644 index 0000000..eff81fb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/OAuthTokenExpiredException.cls @@ -0,0 +1,9 @@ +global class OAuthTokenExpiredException extends Exception { + global OAuthTokenExpiredException(String param0, Exception param1) { } + global OAuthTokenExpiredException(Exception param0) { } + global OAuthTokenExpiredException(String param0) { } + global OAuthTokenExpiredException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/Order.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/Order.cls new file mode 100644 index 0000000..a5e791f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/Order.cls @@ -0,0 +1,11 @@ +global class Order { + global String columnName; + global DataSource.OrderDirection direction; + global String tableName; + global Order() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global static DataSource.Order get(String tableName, String columnName, DataSource.OrderDirection direction) { } + global Integer hashCode() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/OrderDirection.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/OrderDirection.cls new file mode 100644 index 0000000..672642c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/OrderDirection.cls @@ -0,0 +1,4 @@ +global enum OrderDirection { +ASCENDING, +DESCENDING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/Provider.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/Provider.cls new file mode 100644 index 0000000..080b1da --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/Provider.cls @@ -0,0 +1,10 @@ +global class Provider { + global Provider() { } + global Object clone() { } + global List getAuthenticationCapabilities() { } + global List getCapabilities() { } + global DataSource.Connection getConnection(DataSource.ConnectionParams param0) { } + global void logWarning(String msg) { } + global void throwException(String msg) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/QueryAggregation.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/QueryAggregation.cls new file mode 100644 index 0000000..3401378 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/QueryAggregation.cls @@ -0,0 +1,8 @@ +global enum QueryAggregation { +AVG, +COUNT, +MAX, +MIN, +NONE, +SUM +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/QueryContext.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/QueryContext.cls new file mode 100644 index 0000000..bb66f2b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/QueryContext.cls @@ -0,0 +1,10 @@ +global class QueryContext { + global String queryMoreToken; + global DataSource.TableSelection tableSelection; + global QueryContext() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global static DataSource.QueryContext get(List metadata, Integer startRowNumZeroOffset, Integer maxResults, DataSource.TableSelection tableSelection) { } + global Integer hashCode() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/QueryUtils.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/QueryUtils.cls new file mode 100644 index 0000000..5f8e2a6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/QueryUtils.cls @@ -0,0 +1,10 @@ +global class QueryUtils { + global QueryUtils() { } + global static List> applyLimitAndOffset(DataSource.QueryContext c, List> rows) { } + global Object clone() { } + global static List> filter(DataSource.QueryContext c, List> rows) { } + global static List> filterAndSort(DataSource.QueryContext c, List> rows) { } + global static List> process(DataSource.QueryContext c, List> rows) { } + global static List> sort(DataSource.QueryContext c, List> rows) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/ReadContext.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/ReadContext.cls new file mode 100644 index 0000000..691cf81 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/ReadContext.cls @@ -0,0 +1,10 @@ +global class ReadContext { + global Integer maxResults; + global List metadata; + global Integer offset; + global Integer startRowNumZeroOffset; + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/SearchContext.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/SearchContext.cls new file mode 100644 index 0000000..2283637 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/SearchContext.cls @@ -0,0 +1,10 @@ +global class SearchContext { + global String searchPhrase; + global List tableSelections; + global SearchContext(List metadata, Integer offset, Integer maxResults, List tableSelections, String searchPhrase) { } + global SearchContext() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/SearchUtils.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/SearchUtils.cls new file mode 100644 index 0000000..bfe0912 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/SearchUtils.cls @@ -0,0 +1,6 @@ +global class SearchUtils { + global SearchUtils() { } + global Object clone() { } + global static List searchByName(DataSource.SearchContext c, DataSource.Connection conn) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/Table.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/Table.cls new file mode 100644 index 0000000..8c21fb9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/Table.cls @@ -0,0 +1,17 @@ +global class Table { + global List columns; + global String description; + global String labelPlural; + global String labelSingular; + global String name; + global String nameColumn; + global Table() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global static DataSource.Table get(String name, String labelSingular, String labelPlural, String description, String nameColumn, List columns) { } + global static DataSource.Table get(String name, String nameColumn, List columns) { } + global Integer hashCode() { } + global void logWarning(String msg) { } + global void throwException(String msg) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/TableResult.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/TableResult.cls new file mode 100644 index 0000000..b269508 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/TableResult.cls @@ -0,0 +1,18 @@ +global class TableResult { + global String errorMessage; + global String queryMoreToken; + global List> rows; + global Boolean success; + global String tableName; + global Integer totalSize; + global Object clone() { } + global Boolean equals(Object obj) { } + global static DataSource.TableResult error(String errorMessage) { } + global static DataSource.TableResult get(Boolean success, String errorMessage, String tableName, List> rows, Integer totalSize, String queryMoreToken) { } + global static DataSource.TableResult get(Boolean success, String errorMessage, String tableName, List> rows, Integer totalSize) { } + global static DataSource.TableResult get(Boolean success, String errorMessage, String tableName, List> rows) { } + global static DataSource.TableResult get(DataSource.QueryContext c, List> rows) { } + global static DataSource.TableResult get(DataSource.TableSelection tableSelection, List> rows) { } + global Integer hashCode() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/TableSelection.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/TableSelection.cls new file mode 100644 index 0000000..a8e483a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/TableSelection.cls @@ -0,0 +1,11 @@ +global class TableSelection { + global List columnsSelected; + global DataSource.Filter filter; + global List order; + global String tableSelected; + global TableSelection() { } + global Object clone() { } + global Boolean equals(Object obj) { } + global Integer hashCode() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/UpsertContext.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/UpsertContext.cls new file mode 100644 index 0000000..5f214e4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/UpsertContext.cls @@ -0,0 +1,7 @@ +global class UpsertContext { + global List> rows; + global String tableSelected; + global UpsertContext() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/DataSource/UpsertResult.cls b/.sfdx/tools/246/StandardApexLibrary/DataSource/UpsertResult.cls new file mode 100644 index 0000000..9ae4ba0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/DataSource/UpsertResult.cls @@ -0,0 +1,11 @@ +global class UpsertResult { + global String errorMessage; + global String externalId; + global Boolean success; + global Object clone() { } + global Boolean equals(Object obj) { } + global static DataSource.UpsertResult failure(String externalId, String errorMessage) { } + global Integer hashCode() { } + global static DataSource.UpsertResult success(String externalId) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Database/Batchable.cls b/.sfdx/tools/246/StandardApexLibrary/Database/Batchable.cls new file mode 100644 index 0000000..59ba020 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Database/Batchable.cls @@ -0,0 +1,6 @@ +global interface Batchable { + void execute(Database.BatchableContext param0, List param1); + void finish(Database.BatchableContext param0); + System.Iterable start(Database.BatchableContext param0); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Database/BatchableContext.cls b/.sfdx/tools/246/StandardApexLibrary/Database/BatchableContext.cls new file mode 100644 index 0000000..e89b366 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Database/BatchableContext.cls @@ -0,0 +1,5 @@ +global interface BatchableContext { + Id getChildJobId(); + Id getJobId(); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Database/BatchableContextImpl.cls b/.sfdx/tools/246/StandardApexLibrary/Database/BatchableContextImpl.cls new file mode 100644 index 0000000..19df95a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Database/BatchableContextImpl.cls @@ -0,0 +1,6 @@ +global class BatchableContextImpl { + global Object clone() { } + global Id getChildJobId() { } + global Id getJobId() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Database/DMLOptions.cls b/.sfdx/tools/246/StandardApexLibrary/Database/DMLOptions.cls new file mode 100644 index 0000000..3da25cd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Database/DMLOptions.cls @@ -0,0 +1,34 @@ +global class DMLOptions { + global Boolean AllowFieldTruncation; + global Database.DMLOptions.AssignmentRuleHeader AssignmentRuleHeader; + global Database.DMLOptions.DuplicateRuleHeader DuplicateRuleHeader; + global Database.DMLOptions.EmailHeader EmailHeader; + global String LocaleOptions; + global Boolean LocalizeErrors; + global Boolean OptAllOrNone; + global DMLOptions() { } + global Object clone() { } +global class AssignmentRuleHeader { + global String AssignmentRuleId; + global Boolean UseDefaultRule; + global DMLOptions.AssignmentRuleHeader() { } + global Object clone() { } + +} +global class DuplicateRuleHeader { + global Boolean AllowSave; + global Boolean RunAsCurrentUser; + global DMLOptions.DuplicateRuleHeader() { } + global Object clone() { } + +} +global class EmailHeader { + global Boolean TriggerAutoResponseEmail; + global Boolean TriggerOtherEmail; + global Boolean TriggerUserEmail; + global DMLOptions.EmailHeader() { } + global Object clone() { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Database/DeleteResult.cls b/.sfdx/tools/246/StandardApexLibrary/Database/DeleteResult.cls new file mode 100644 index 0000000..eeca913 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Database/DeleteResult.cls @@ -0,0 +1,9 @@ +global class DeleteResult { + global List errors; + global Id id; + global Boolean success; + global List getErrors() { } + global Id getId() { } + global Boolean isSuccess() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Database/DeletedRecord.cls b/.sfdx/tools/246/StandardApexLibrary/Database/DeletedRecord.cls new file mode 100644 index 0000000..94e6f60 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Database/DeletedRecord.cls @@ -0,0 +1,7 @@ +global class DeletedRecord { + global Date deleteddate; + global Id id; + global Date getDeletedDate() { } + global Id getId() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Database/DuplicateError.cls b/.sfdx/tools/246/StandardApexLibrary/Database/DuplicateError.cls new file mode 100644 index 0000000..9e7302b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Database/DuplicateError.cls @@ -0,0 +1,8 @@ +global class DuplicateError { + global Datacloud.DuplicateResult duplicateresult; + global Datacloud.DuplicateResult getDuplicateResult() { } + global List getFields() { } + global String getMessage() { } + global System.StatusCode getStatusCode() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Database/EmptyRecycleBinResult.cls b/.sfdx/tools/246/StandardApexLibrary/Database/EmptyRecycleBinResult.cls new file mode 100644 index 0000000..4449b9f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Database/EmptyRecycleBinResult.cls @@ -0,0 +1,9 @@ +global class EmptyRecycleBinResult { + global List errors; + global Id id; + global Boolean success; + global List getErrors() { } + global Id getId() { } + global Boolean isSuccess() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Database/Error.cls b/.sfdx/tools/246/StandardApexLibrary/Database/Error.cls new file mode 100644 index 0000000..95e86de --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Database/Error.cls @@ -0,0 +1,9 @@ +global class Error { + global List fields; + global String message; + global System.StatusCode statuscode; + global List getFields() { } + global String getMessage() { } + global System.StatusCode getStatusCode() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Database/GetDeletedResult.cls b/.sfdx/tools/246/StandardApexLibrary/Database/GetDeletedResult.cls new file mode 100644 index 0000000..487347c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Database/GetDeletedResult.cls @@ -0,0 +1,9 @@ +global class GetDeletedResult { + global List deletedrecords; + global Date earliestdateavailable; + global Date latestdatecovered; + global List getDeletedRecords() { } + global Date getEarliestDateAvailable() { } + global Date getLatestDateCovered() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Database/GetUpdatedResult.cls b/.sfdx/tools/246/StandardApexLibrary/Database/GetUpdatedResult.cls new file mode 100644 index 0000000..e7f4001 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Database/GetUpdatedResult.cls @@ -0,0 +1,7 @@ +global class GetUpdatedResult { + global List ids; + global Date latestdatecovered; + global List getIds() { } + global Date getLatestDateCovered() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Database/LeadConvert.cls b/.sfdx/tools/246/StandardApexLibrary/Database/LeadConvert.cls new file mode 100644 index 0000000..8c9f52b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Database/LeadConvert.cls @@ -0,0 +1,55 @@ +global class LeadConvert { + global Id accountid; + global SObject accountrecord; + global Boolean bypassaccountdedupecheck; + global Boolean bypasscontactdedupecheck; + global Id contactid; + global SObject contactrecord; + global String convertedstatus; + global Boolean donotcreateopportunity; + global Id leadid; + global Id opportunityid; + global String opportunityname; + global SObject opportunityrecord; + global Boolean overwriteleadsource; + global Id ownerid; + global Id relatedpersonaccountid; + global SObject relatedpersonaccountrecord; + global Boolean sendnotificationemail; + global LeadConvert() { } + global Id getAccountId() { } + global SObject getAccountRecord() { } + global Boolean getBypassAccountDedupeCheck() { } + global Boolean getBypassContactDedupeCheck() { } + global Id getContactId() { } + global SObject getContactRecord() { } + global String getConvertedStatus() { } + global Id getLeadId() { } + global Id getOpportunityId() { } + global String getOpportunityName() { } + global SObject getOpportunityRecord() { } + global Id getOwnerId() { } + global Id getRelatedPersonAccountId() { } + global SObject getRelatedPersonAccountRecord() { } + global Boolean isDoNotCreateOpportunity() { } + global Boolean isOverwriteLeadSource() { } + global Boolean isSendNotificationEmail() { } + global void setAccountId(Id param0) { } + global void setAccountRecord(SObject param0) { } + global void setBypassAccountDedupeCheck(Boolean param0) { } + global void setBypassContactDedupeCheck(Boolean param0) { } + global void setContactId(Id param0) { } + global void setContactRecord(SObject param0) { } + global void setConvertedStatus(String param0) { } + global void setDoNotCreateOpportunity(Boolean param0) { } + global void setLeadId(Id param0) { } + global void setOpportunityId(Id param0) { } + global void setOpportunityName(String param0) { } + global void setOpportunityRecord(SObject param0) { } + global void setOverwriteLeadSource(Boolean param0) { } + global void setOwnerId(Id param0) { } + global void setRelatedPersonAccountId(Id param0) { } + global void setRelatedPersonAccountRecord(SObject param0) { } + global void setSendNotificationEmail(Boolean param0) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Database/LeadConvertResult.cls b/.sfdx/tools/246/StandardApexLibrary/Database/LeadConvertResult.cls new file mode 100644 index 0000000..027e6d0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Database/LeadConvertResult.cls @@ -0,0 +1,17 @@ +global class LeadConvertResult { + global Id accountid; + global Id contactid; + global List errors; + global Id leadid; + global Id opportunityid; + global Id relatedpersonaccountid; + global Boolean success; + global Id getAccountId() { } + global Id getContactId() { } + global List getErrors() { } + global Id getLeadId() { } + global Id getOpportunityId() { } + global Id getRelatedPersonAccountId() { } + global Boolean isSuccess() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Database/MergeRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Database/MergeRequest.cls new file mode 100644 index 0000000..42c139f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Database/MergeRequest.cls @@ -0,0 +1,13 @@ +global class MergeRequest { + global List additionalinformationmap; + global SObject masterrecord; + global List recordtomergeids; + global MergeRequest() { } + global List getAdditionalInformationMap() { } + global SObject getMasterRecord() { } + global List getRecordToMergeIds() { } + global void setAdditionalInformationMap(List param0) { } + global void setMasterRecord(SObject param0) { } + global void setRecordToMergeIds(List param0) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Database/MergeResult.cls b/.sfdx/tools/246/StandardApexLibrary/Database/MergeResult.cls new file mode 100644 index 0000000..d4dcae5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Database/MergeResult.cls @@ -0,0 +1,13 @@ +global class MergeResult { + global List errors; + global Id id; + global List mergedrecordids; + global Boolean success; + global List updatedrelatedids; + global List getErrors() { } + global Id getId() { } + global List getMergedRecordIds() { } + global List getUpdatedRelatedIds() { } + global Boolean isSuccess() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Database/NestedSaveResult.cls b/.sfdx/tools/246/StandardApexLibrary/Database/NestedSaveResult.cls new file mode 100644 index 0000000..5867078 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Database/NestedSaveResult.cls @@ -0,0 +1,8 @@ +global class NestedSaveResult { + global List relationshipsaveresults; + global List getErrors() { } + global Id getId() { } + global List getRelationshipSaveResults() { } + global Boolean isSuccess() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Database/QueryLocator.cls b/.sfdx/tools/246/StandardApexLibrary/Database/QueryLocator.cls new file mode 100644 index 0000000..0c6709b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Database/QueryLocator.cls @@ -0,0 +1,6 @@ +global class QueryLocator { + global String getQuery() { } + global Database.QueryLocatorIterator iterator() { } + global List querymore(Integer num) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Database/QueryLocatorChunkIterator.cls b/.sfdx/tools/246/StandardApexLibrary/Database/QueryLocatorChunkIterator.cls new file mode 100644 index 0000000..a38ca59 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Database/QueryLocatorChunkIterator.cls @@ -0,0 +1,6 @@ +global class QueryLocatorChunkIterator { + global Object clone() { } + global Boolean hasNext() { } + global List next() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Database/QueryLocatorIterator.cls b/.sfdx/tools/246/StandardApexLibrary/Database/QueryLocatorIterator.cls new file mode 100644 index 0000000..a851e82 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Database/QueryLocatorIterator.cls @@ -0,0 +1,6 @@ +global class QueryLocatorIterator { + global Object clone() { } + global Boolean hasNext() { } + global SObject next() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Database/RelationshipSaveResult.cls b/.sfdx/tools/246/StandardApexLibrary/Database/RelationshipSaveResult.cls new file mode 100644 index 0000000..05de5ab --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Database/RelationshipSaveResult.cls @@ -0,0 +1,7 @@ +global class RelationshipSaveResult { + global String relationshipname; + global List saveresults; + global String getRelationshipName() { } + global List getSaveResults() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Database/SaveResult.cls b/.sfdx/tools/246/StandardApexLibrary/Database/SaveResult.cls new file mode 100644 index 0000000..4b1c94b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Database/SaveResult.cls @@ -0,0 +1,9 @@ +global class SaveResult { + global List errors; + global Id id; + global Boolean success; + global List getErrors() { } + global Id getId() { } + global Boolean isSuccess() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Database/UndeleteResult.cls b/.sfdx/tools/246/StandardApexLibrary/Database/UndeleteResult.cls new file mode 100644 index 0000000..f146263 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Database/UndeleteResult.cls @@ -0,0 +1,9 @@ +global class UndeleteResult { + global List errors; + global Id id; + global Boolean success; + global List getErrors() { } + global Id getId() { } + global Boolean isSuccess() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Database/UnitOfWork.cls b/.sfdx/tools/246/StandardApexLibrary/Database/UnitOfWork.cls new file mode 100644 index 0000000..35bb4f3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Database/UnitOfWork.cls @@ -0,0 +1,15 @@ +global class UnitOfWork { + global UnitOfWork() { } + global Object clone() { } + global void commitWork() { } + global Database.DeleteResult deleteRecord(SObject sobj) { } + global List deleteRecords(List sObjects) { } + global void discardWork() { } + global Database.SaveResult insertRecord(SObject sobj) { } + global List insertRecords(List sObjects) { } + global Database.SaveResult updateRecord(SObject sobj) { } + global List updateRecords(List sObjects) { } + global Database.UpsertResult upsertRecord(SObject sobj) { } + global List upsertRecords(List sObjects) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Database/UpsertResult.cls b/.sfdx/tools/246/StandardApexLibrary/Database/UpsertResult.cls new file mode 100644 index 0000000..0d09ec9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Database/UpsertResult.cls @@ -0,0 +1,11 @@ +global class UpsertResult { + global Boolean created; + global List errors; + global Id id; + global Boolean success; + global List getErrors() { } + global Id getId() { } + global Boolean isCreated() { } + global Boolean isSuccess() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Datacloud/AdditionalInformationMap.cls b/.sfdx/tools/246/StandardApexLibrary/Datacloud/AdditionalInformationMap.cls new file mode 100644 index 0000000..87ca0d4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Datacloud/AdditionalInformationMap.cls @@ -0,0 +1,7 @@ +global class AdditionalInformationMap { + global String name; + global String value; + global String getName() { } + global String getValue() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Datacloud/DuplicateResult.cls b/.sfdx/tools/246/StandardApexLibrary/Datacloud/DuplicateResult.cls new file mode 100644 index 0000000..ba512fe --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Datacloud/DuplicateResult.cls @@ -0,0 +1,13 @@ +global class DuplicateResult { + global Boolean allowsave; + global String duplicaterule; + global String duplicateruleentitytype; + global String errormessage; + global List matchresults; + global String getDuplicateRule() { } + global String getDuplicateRuleEntityType() { } + global String getErrorMessage() { } + global List getMatchResults() { } + global Boolean isAllowSave() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Datacloud/FieldDiff.cls b/.sfdx/tools/246/StandardApexLibrary/Datacloud/FieldDiff.cls new file mode 100644 index 0000000..9c07954 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Datacloud/FieldDiff.cls @@ -0,0 +1,7 @@ +global class FieldDiff { + global String difference; + global String name; + global String getDifference() { } + global String getName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Datacloud/FieldDifferenceType.cls b/.sfdx/tools/246/StandardApexLibrary/Datacloud/FieldDifferenceType.cls new file mode 100644 index 0000000..8d43e90 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Datacloud/FieldDifferenceType.cls @@ -0,0 +1,5 @@ +global class FieldDifferenceType { + global String name; + global String getName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Datacloud/FindDuplicates.cls b/.sfdx/tools/246/StandardApexLibrary/Datacloud/FindDuplicates.cls new file mode 100644 index 0000000..24e8848 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Datacloud/FindDuplicates.cls @@ -0,0 +1,6 @@ +global class FindDuplicates { + global FindDuplicates() { } + global Object clone() { } + global static List findDuplicates(List sObjects) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Datacloud/FindDuplicatesByIds.cls b/.sfdx/tools/246/StandardApexLibrary/Datacloud/FindDuplicatesByIds.cls new file mode 100644 index 0000000..13bde16 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Datacloud/FindDuplicatesByIds.cls @@ -0,0 +1,6 @@ +global class FindDuplicatesByIds { + global FindDuplicatesByIds() { } + global Object clone() { } + global static List findDuplicatesByIds(List ids) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Datacloud/FindDuplicatesResult.cls b/.sfdx/tools/246/StandardApexLibrary/Datacloud/FindDuplicatesResult.cls new file mode 100644 index 0000000..d8f96c8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Datacloud/FindDuplicatesResult.cls @@ -0,0 +1,9 @@ +global class FindDuplicatesResult { + global List duplicateresults; + global List errors; + global Boolean success; + global List getDuplicateResults() { } + global List getErrors() { } + global Boolean isSuccess() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Datacloud/MatchRecord.cls b/.sfdx/tools/246/StandardApexLibrary/Datacloud/MatchRecord.cls new file mode 100644 index 0000000..38b3864 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Datacloud/MatchRecord.cls @@ -0,0 +1,11 @@ +global class MatchRecord { + global List additionalinformation; + global List fielddiffs; + global Double matchconfidence; + global SObject record; + global List getAdditionalInformation() { } + global List getFieldDiffs() { } + global Double getMatchConfidence() { } + global SObject getRecord() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Datacloud/MatchResult.cls b/.sfdx/tools/246/StandardApexLibrary/Datacloud/MatchResult.cls new file mode 100644 index 0000000..7e6818d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Datacloud/MatchResult.cls @@ -0,0 +1,17 @@ +global class MatchResult { + global String entitytype; + global List errors; + global String matchengine; + global List matchrecords; + global String rule; + global Integer size; + global Boolean success; + global String getEntityType() { } + global List getErrors() { } + global String getMatchEngine() { } + global List getMatchRecords() { } + global String getRule() { } + global Integer getSize() { } + global Boolean isSuccess() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Dom/Document.cls b/.sfdx/tools/246/StandardApexLibrary/Dom/Document.cls new file mode 100644 index 0000000..305caae --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Dom/Document.cls @@ -0,0 +1,8 @@ +global class Document { + global Document() { } + global dom.XmlNode createRootElement(String name, String namespace, String prefix) { } + global dom.XmlNode getRootElement() { } + global void load(String xml) { } + global String toXmlString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Dom/XmlNode.cls b/.sfdx/tools/246/StandardApexLibrary/Dom/XmlNode.cls new file mode 100644 index 0000000..6106990 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Dom/XmlNode.cls @@ -0,0 +1,28 @@ +global class XmlNode { + global dom.XmlNode addChildElement(String name, String namespace, String prefix) { } + global dom.XmlNode addCommentNode(String text) { } + global dom.XmlNode addTextNode(String text) { } + global String getAttribute(String key, String keyNamespace) { } + global Integer getAttributeCount() { } + global String getAttributeKeyAt(Integer index) { } + global String getAttributeKeyNsAt(Integer index) { } + global String getAttributeValue(String key, String keyNamespace) { } + global String getAttributeValueNs(String key, String keyNamespace) { } + global dom.XmlNode getChildElement(String name, String namespace) { } + global List getChildElements() { } + global List getChildren() { } + global String getName() { } + global String getNamespace() { } + global String getNamespaceFor(String prefix) { } + global Dom.XmlNodeType getNodeType() { } + global dom.XmlNode getParent() { } + global String getPrefixFor(String namespace) { } + global String getText() { } + global dom.XmlNode insertBefore(Object newChild, Object refChild) { } + global Boolean removeAttribute(String key, String keyNamespace) { } + global Boolean removeChild(Object child) { } + global void setAttribute(String key, String value) { } + global void setAttributeNs(String key, String value, String keyNamespace, String valueNamespace) { } + global void setNamespace(String prefix, String namespace) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Dom/XmlNodeType.cls b/.sfdx/tools/246/StandardApexLibrary/Dom/XmlNodeType.cls new file mode 100644 index 0000000..bd850f8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Dom/XmlNodeType.cls @@ -0,0 +1,5 @@ +global enum XmlNodeType { +COMMENT, +ELEMENT, +TEXT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/EventBus/ChangeEventHeader.cls b/.sfdx/tools/246/StandardApexLibrary/EventBus/ChangeEventHeader.cls new file mode 100644 index 0000000..9ad4341 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/EventBus/ChangeEventHeader.cls @@ -0,0 +1,40 @@ +global class ChangeEventHeader { + global List changedfields; + global String changeorigin; + global String changetype; + global Long commitnumber; + global Long committimestamp; + global String commituser; + global List difffields; + global String entityname; + global List nulledfields; + global List recordids; + global Integer sequencenumber; + global String transactionkey; + global ChangeEventHeader() { } + global String getChangeOrigin() { } + global String getChangeType() { } + global List getChangedFields() { } + global Long getCommitNumber() { } + global Long getCommitTimestamp() { } + global String getCommitUser() { } + global List getDiffFields() { } + global String getEntityName() { } + global List getNulledFields() { } + global List getRecordIds() { } + global Integer getSequenceNumber() { } + global String getTransactionKey() { } + global void setChangeOrigin(String param0) { } + global void setChangeType(String param0) { } + global void setChangedFields(List param0) { } + global void setCommitNumber(Long param0) { } + global void setCommitTimestamp(Long param0) { } + global void setCommitUser(String param0) { } + global void setDiffFields(List param0) { } + global void setEntityName(String param0) { } + global void setNulledFields(List param0) { } + global void setRecordIds(List param0) { } + global void setSequenceNumber(Integer param0) { } + global void setTransactionKey(String param0) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/EventBus/EventPublishFailureCallback.cls b/.sfdx/tools/246/StandardApexLibrary/EventBus/EventPublishFailureCallback.cls new file mode 100644 index 0000000..bd680e3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/EventBus/EventPublishFailureCallback.cls @@ -0,0 +1,4 @@ +global interface EventPublishFailureCallback { + void onFailure(eventbus.FailureResult param0); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/EventBus/EventPublishSuccessCallback.cls b/.sfdx/tools/246/StandardApexLibrary/EventBus/EventPublishSuccessCallback.cls new file mode 100644 index 0000000..18afd5e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/EventBus/EventPublishSuccessCallback.cls @@ -0,0 +1,4 @@ +global interface EventPublishSuccessCallback { + void onSuccess(eventbus.SuccessResult param0); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/EventBus/FailureResult.cls b/.sfdx/tools/246/StandardApexLibrary/EventBus/FailureResult.cls new file mode 100644 index 0000000..0be831c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/EventBus/FailureResult.cls @@ -0,0 +1,4 @@ +global interface FailureResult { + List getEventUuids(); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/EventBus/InvalidReplayIdException.cls b/.sfdx/tools/246/StandardApexLibrary/EventBus/InvalidReplayIdException.cls new file mode 100644 index 0000000..75cd9c2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/EventBus/InvalidReplayIdException.cls @@ -0,0 +1,9 @@ +global class InvalidReplayIdException extends Exception { + global InvalidReplayIdException(String param0, Exception param1) { } + global InvalidReplayIdException(Exception param0) { } + global InvalidReplayIdException(String param0) { } + global InvalidReplayIdException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/EventBus/RetryableException.cls b/.sfdx/tools/246/StandardApexLibrary/EventBus/RetryableException.cls new file mode 100644 index 0000000..2a53ae1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/EventBus/RetryableException.cls @@ -0,0 +1,9 @@ +global class RetryableException extends Exception { + global RetryableException(String param0, Exception param1) { } + global RetryableException(Exception param0) { } + global RetryableException(String param0) { } + global RetryableException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/EventBus/SuccessResult.cls b/.sfdx/tools/246/StandardApexLibrary/EventBus/SuccessResult.cls new file mode 100644 index 0000000..9ce79da --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/EventBus/SuccessResult.cls @@ -0,0 +1,4 @@ +global interface SuccessResult { + List getEventUuids(); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/EventBus/TestBroker.cls b/.sfdx/tools/246/StandardApexLibrary/EventBus/TestBroker.cls new file mode 100644 index 0000000..9471503 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/EventBus/TestBroker.cls @@ -0,0 +1,7 @@ +global class TestBroker { + global TestBroker() { } + global Object clone() { } + global void deliver() { } + global void fail() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/EventBus/TestEventService.cls b/.sfdx/tools/246/StandardApexLibrary/EventBus/TestEventService.cls new file mode 100644 index 0000000..77daeb1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/EventBus/TestEventService.cls @@ -0,0 +1,6 @@ +global class TestEventService { + global TestEventService() { } + global Object clone() { } + global static void publishEvent(String eventName, Map payload) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/EventBus/TriggerContext.cls b/.sfdx/tools/246/StandardApexLibrary/EventBus/TriggerContext.cls new file mode 100644 index 0000000..3c1ae08 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/EventBus/TriggerContext.cls @@ -0,0 +1,9 @@ +global class TriggerContext { + global String lastError; + global Integer retries; + global Object clone() { } + global static eventbus.TriggerContext currentContext() { } + global String getResumeCheckpoint() { } + global void setResumeCheckpoint(String resumeReplayId) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Flow/Interview.cls b/.sfdx/tools/246/StandardApexLibrary/Flow/Interview.cls new file mode 100644 index 0000000..60be9a3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Flow/Interview.cls @@ -0,0 +1,8 @@ +global class Interview { + global Object clone() { } + global static Flow.Interview createInterview(String namespace, String flowName, Map inputVariables) { } + global static Flow.Interview createInterview(String flowName, Map inputVariables) { } + global Object getVariableValue(String variableName) { } + global void start() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/KbManagement/PublishingService.cls b/.sfdx/tools/246/StandardApexLibrary/KbManagement/PublishingService.cls new file mode 100644 index 0000000..3c3ace9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/KbManagement/PublishingService.cls @@ -0,0 +1,23 @@ +global class PublishingService { + global PublishingService() { } + global static void archiveOnlineArticle(String articleId, Datetime scheduledDate) { } + global static void assignDraftArticleTask(String articleId, String assigneeId, String instructions, Datetime dueDate, Boolean sendEmailNotification) { } + global static void assignDraftTranslationTask(String translationVersionId, String assigneeId, String instructions, Datetime dueDate, Boolean sendEmailNotification) { } + global static void cancelScheduledArchivingOfArticle(String articleId) { } + global static void cancelScheduledPublicationOfArticle(String articleId) { } + global Object clone() { } + global static void completeTranslation(String articleVersionId) { } + global static void deleteArchivedArticle(String articleId) { } + global static void deleteArchivedArticleVersion(String articleId, Integer versionNumber) { } + global static void deleteDraftArticle(String articleId) { } + global static void deleteDraftTranslation(String articleVersionId) { } + global static String editArchivedArticle(String articleId) { } + global static String editOnlineArticle(String articleId, Boolean unpublish) { } + global static String editPublishedTranslation(String articleId, String language, Boolean unpublish) { } + global static void publishArticle(String articleId, Boolean flagAsNew) { } + global static String restoreOldVersion(String articleId, Integer versionNumber) { } + global static void scheduleForPublication(String articleId, Datetime scheduledDate) { } + global static void setTranslationToIncomplete(String articleVersionId) { } + global static String submitForTranslation(String articleId, String language, String assigneeId, Datetime dueDate) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Messaging/AttachmentRetrievalOption.cls b/.sfdx/tools/246/StandardApexLibrary/Messaging/AttachmentRetrievalOption.cls new file mode 100644 index 0000000..e178389 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Messaging/AttachmentRetrievalOption.cls @@ -0,0 +1,5 @@ +global enum AttachmentRetrievalOption { +METADATA_ONLY, +METADATA_WITH_BODY, +NONE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Messaging/CustomNotification.cls b/.sfdx/tools/246/StandardApexLibrary/Messaging/CustomNotification.cls new file mode 100644 index 0000000..39b2473 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Messaging/CustomNotification.cls @@ -0,0 +1,13 @@ +global class CustomNotification { + global CustomNotification(String typeId, String sender, String title, String body, String targetId, String targetPageRef) { } + global CustomNotification() { } + global Object clone() { } + global void send(Set users) { } + global void setBody(String body) { } + global void setNotificationTypeId(String id) { } + global void setSenderId(String id) { } + global void setTargetId(String targetId) { } + global void setTargetPageRef(String pageRef) { } + global void setTitle(String title) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Messaging/Email.cls b/.sfdx/tools/246/StandardApexLibrary/Messaging/Email.cls new file mode 100644 index 0000000..41cfab5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Messaging/Email.cls @@ -0,0 +1,24 @@ +global class Email { + global Boolean bccsender; + global String emailpriority; + global String replyto; + global Boolean saveasactivity; + global String senderdisplayname; + global String subject; + global Boolean usesignature; + global Boolean getBccSender() { } + global String getEmailPriority() { } + global String getReplyTo() { } + global Boolean getSaveAsActivity() { } + global String getSenderDisplayName() { } + global String getSubject() { } + global Boolean getUseSignature() { } + global void setBccSender(Boolean param0) { } + global void setEmailPriority(String param0) { } + global void setReplyTo(String param0) { } + global void setSaveAsActivity(Boolean param0) { } + global void setSenderDisplayName(String param0) { } + global void setSubject(String param0) { } + global void setUseSignature(Boolean param0) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Messaging/EmailAttachment.cls b/.sfdx/tools/246/StandardApexLibrary/Messaging/EmailAttachment.cls new file mode 100644 index 0000000..583ec96 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Messaging/EmailAttachment.cls @@ -0,0 +1,16 @@ +global class EmailAttachment { + global Blob body; + global String contentid; + global String contenttype; + global String filename; + global EmailAttachment() { } + global Blob getBody() { } + global String getContentId() { } + global String getContentType() { } + global String getFileName() { } + global void setBody(Blob param0) { } + global void setContentId(String param0) { } + global void setContentType(String param0) { } + global void setFileName(String param0) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Messaging/EmailFileAttachment.cls b/.sfdx/tools/246/StandardApexLibrary/Messaging/EmailFileAttachment.cls new file mode 100644 index 0000000..f1c6f3c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Messaging/EmailFileAttachment.cls @@ -0,0 +1,18 @@ +global class EmailFileAttachment { + global Blob body; + global String contenttype; + global String filename; + global Id id; + global Boolean inline; + global EmailFileAttachment() { } + global Blob getBody() { } + global String getContentType() { } + global String getFileName() { } + global Id getId() { } + global Boolean getInline() { } + global void setBody(Blob param0) { } + global void setContentType(String param0) { } + global void setFileName(String param0) { } + global void setInline(Boolean param0) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Messaging/EmailToSalesforceHandler.cls b/.sfdx/tools/246/StandardApexLibrary/Messaging/EmailToSalesforceHandler.cls new file mode 100644 index 0000000..068cb67 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Messaging/EmailToSalesforceHandler.cls @@ -0,0 +1,5 @@ +global class EmailToSalesforceHandler { + global EmailToSalesforceHandler() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Messaging/InboundEmail.cls b/.sfdx/tools/246/StandardApexLibrary/Messaging/InboundEmail.cls new file mode 100644 index 0000000..bd642fa --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Messaging/InboundEmail.cls @@ -0,0 +1,64 @@ +global class InboundEmail { + global List authenticationResults; + global List binaryAttachments; + global List ccAddresses; + global String fromAddress; + global String fromName; + global List headers; + global String htmlBody; + global Boolean htmlBodyIsTruncated; + global String inReplyTo; + global String messageId; + global String plainTextBody; + global Boolean plainTextBodyIsTruncated; + global List references; + global String replyTo; + global String subject; + global List textAttachments; + global List toAddresses; + global InboundEmail() { } + global Object clone() { } +global class AuthenticationResult { + global List authenticationResultFields; + global String method; + global String result; + global InboundEmail.AuthenticationResult() { } + global Object clone() { } + +} +global class AuthenticationResultField { + global String name; + global String value; + global InboundEmail.AuthenticationResultField() { } + global Object clone() { } + +} +global class BinaryAttachment { + global Blob body; + global String fileName; + global List headers; + global String mimeTypeSubType; + global InboundEmail.BinaryAttachment() { } + global Object clone() { } + +} +global class Header { + global String name; + global String value; + global InboundEmail.Header() { } + global Object clone() { } + +} +global class TextAttachment { + global String body; + global Boolean bodyIsTruncated; + global String charset; + global String fileName; + global List headers; + global String mimeTypeSubType; + global InboundEmail.TextAttachment() { } + global Object clone() { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Messaging/InboundEmailHandler.cls b/.sfdx/tools/246/StandardApexLibrary/Messaging/InboundEmailHandler.cls new file mode 100644 index 0000000..3818be3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Messaging/InboundEmailHandler.cls @@ -0,0 +1,4 @@ +global interface InboundEmailHandler { + Messaging.InboundEmailResult handleInboundEmail(Messaging.InboundEmail param0, Messaging.InboundEnvelope param1); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Messaging/InboundEmailResult.cls b/.sfdx/tools/246/StandardApexLibrary/Messaging/InboundEmailResult.cls new file mode 100644 index 0000000..017b899 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Messaging/InboundEmailResult.cls @@ -0,0 +1,7 @@ +global class InboundEmailResult { + global String message; + global Boolean success; + global InboundEmailResult() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Messaging/InboundEnvelope.cls b/.sfdx/tools/246/StandardApexLibrary/Messaging/InboundEnvelope.cls new file mode 100644 index 0000000..66ff55e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Messaging/InboundEnvelope.cls @@ -0,0 +1,7 @@ +global class InboundEnvelope { + global String fromAddress; + global String toAddress; + global InboundEnvelope() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Messaging/MassEmailMessage.cls b/.sfdx/tools/246/StandardApexLibrary/Messaging/MassEmailMessage.cls new file mode 100644 index 0000000..8d075df --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Messaging/MassEmailMessage.cls @@ -0,0 +1,30 @@ +global class MassEmailMessage { + global String description; + global List targetobjectids; + global Id templateid; + global List whatids; + global MassEmailMessage() { } + global Boolean getBccSender() { } + global String getDescription() { } + global String getEmailPriority() { } + global String getReplyTo() { } + global Boolean getSaveAsActivity() { } + global String getSenderDisplayName() { } + global String getSubject() { } + global List getTargetObjectIds() { } + global Id getTemplateId() { } + global Boolean getUseSignature() { } + global List getWhatIds() { } + global void setBccSender(Boolean param0) { } + global void setDescription(String param0) { } + global void setEmailPriority(String param0) { } + global void setReplyTo(String param0) { } + global void setSaveAsActivity(Boolean param0) { } + global void setSenderDisplayName(String param0) { } + global void setSubject(String param0) { } + global void setTargetObjectIds(List param0) { } + global void setTemplateId(Id param0) { } + global void setUseSignature(Boolean param0) { } + global void setWhatIds(List param0) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Messaging/PushNotification.cls b/.sfdx/tools/246/StandardApexLibrary/Messaging/PushNotification.cls new file mode 100644 index 0000000..47795cd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Messaging/PushNotification.cls @@ -0,0 +1,9 @@ +global class PushNotification { + global PushNotification(Map payload) { } + global PushNotification() { } + global Object clone() { } + global void send(String application, Set users) { } + global void setPayload(Map payload) { } + global void setTtl(Integer ttl) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Messaging/PushNotificationPayload.cls b/.sfdx/tools/246/StandardApexLibrary/Messaging/PushNotificationPayload.cls new file mode 100644 index 0000000..eca624a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Messaging/PushNotificationPayload.cls @@ -0,0 +1,7 @@ +global class PushNotificationPayload { + global PushNotificationPayload() { } + global static Map apple(String alertBody, String actionLocKey, String locKey, List locArgs, String launchImage, String sound, Integer badgeCount, Map userData) { } + global static Map apple(String alert, String sound, Integer badgeCount, Map userData) { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Messaging/RenderEmailTemplateBodyResult.cls b/.sfdx/tools/246/StandardApexLibrary/Messaging/RenderEmailTemplateBodyResult.cls new file mode 100644 index 0000000..7c80e55 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Messaging/RenderEmailTemplateBodyResult.cls @@ -0,0 +1,9 @@ +global class RenderEmailTemplateBodyResult { + global List errors; + global String mergedbody; + global Boolean success; + global List getErrors() { } + global String getMergedBody() { } + global Boolean getSuccess() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Messaging/RenderEmailTemplateError.cls b/.sfdx/tools/246/StandardApexLibrary/Messaging/RenderEmailTemplateError.cls new file mode 100644 index 0000000..e4c9abc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Messaging/RenderEmailTemplateError.cls @@ -0,0 +1,11 @@ +global class RenderEmailTemplateError { + global String fieldname; + global String message; + global Integer offset; + global System.StatusCode statuscode; + global String getFieldName() { } + global String getMessage() { } + global Integer getOffset() { } + global System.StatusCode getStatusCode() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Messaging/SendEmailError.cls b/.sfdx/tools/246/StandardApexLibrary/Messaging/SendEmailError.cls new file mode 100644 index 0000000..ee3527a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Messaging/SendEmailError.cls @@ -0,0 +1,10 @@ +global class SendEmailError { + global String message; + global System.StatusCode statuscode; + global String targetobjectid; + global List getFields() { } + global String getMessage() { } + global System.StatusCode getStatusCode() { } + global String getTargetObjectId() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Messaging/SendEmailResult.cls b/.sfdx/tools/246/StandardApexLibrary/Messaging/SendEmailResult.cls new file mode 100644 index 0000000..7771a36 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Messaging/SendEmailResult.cls @@ -0,0 +1,7 @@ +global class SendEmailResult { + global List errors; + global Boolean success; + global List getErrors() { } + global Boolean isSuccess() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Messaging/SingleEmailMessage.cls b/.sfdx/tools/246/StandardApexLibrary/Messaging/SingleEmailMessage.cls new file mode 100644 index 0000000..f423ad8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Messaging/SingleEmailMessage.cls @@ -0,0 +1,73 @@ +global class SingleEmailMessage { + global List bccaddresses; + global List ccaddresses; + global String charset; + global List entityattachments; + global List fileattachments; + global String htmlbody; + global String inreplyto; + global String optoutpolicy; + global Id orgwideemailaddressid; + global String plaintextbody; + global String references; + global Id targetobjectid; + global Id templateid; + global String templatename; + global List toaddresses; + global Boolean treatbodiesastemplate; + global Boolean treattargetobjectasrecipient; + global Boolean usermail; + global Id whatid; + global SingleEmailMessage() { } + global List getBccAddresses() { } + global Boolean getBccSender() { } + global List getCcAddresses() { } + global String getCharset() { } + global String getEmailPriority() { } + global List getEntityAttachments() { } + global List getFileAttachments() { } + global String getHtmlBody() { } + global String getInReplyTo() { } + global String getOptOutPolicy() { } + global Id getOrgWideEmailAddressId() { } + global String getPlainTextBody() { } + global String getReferences() { } + global String getReplyTo() { } + global Boolean getSaveAsActivity() { } + global String getSenderDisplayName() { } + global String getSubject() { } + global Id getTargetObjectId() { } + global Id getTemplateId() { } + global String getTemplateName() { } + global List getToAddresses() { } + global Boolean getUseSignature() { } + global Id getWhatId() { } + global Boolean isTreatBodiesAsTemplate() { } + global Boolean isTreatTargetObjectAsRecipient() { } + global Boolean isUserMail() { } + global void setBccAddresses(List param0) { } + global void setBccSender(Boolean param0) { } + global void setCcAddresses(List param0) { } + global void setCharset(String param0) { } + global void setEmailPriority(String param0) { } + global void setEntityAttachments(List param0) { } + global void setFileAttachments(List param0) { } + global void setHtmlBody(String param0) { } + global void setInReplyTo(String param0) { } + global void setOptOutPolicy(String param0) { } + global void setOrgWideEmailAddressId(Id param0) { } + global void setPlainTextBody(String param0) { } + global void setReferences(String param0) { } + global void setReplyTo(String param0) { } + global void setSaveAsActivity(Boolean param0) { } + global void setSenderDisplayName(String param0) { } + global void setSubject(String param0) { } + global void setTargetObjectId(Id param0) { } + global void setTemplateId(Id param0) { } + global void setToAddresses(List param0) { } + global void setTreatBodiesAsTemplate(Boolean param0) { } + global void setTreatTargetObjectAsRecipient(Boolean param0) { } + global void setUseSignature(Boolean param0) { } + global void setWhatId(Id param0) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/AnalyticsCloudComponentLayoutItem.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/AnalyticsCloudComponentLayoutItem.cls new file mode 100644 index 0000000..b87672e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/AnalyticsCloudComponentLayoutItem.cls @@ -0,0 +1,15 @@ +global class AnalyticsCloudComponentLayoutItem { + global String assetType; + global String devName; + global String error; + global String filter; + global Integer height; + global Boolean hideOnError; + global Boolean showHeader; + global Boolean showSharing; + global Boolean showTitle; + global String width; + global AnalyticsCloudComponentLayoutItem() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/ConsoleComponent.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/ConsoleComponent.cls new file mode 100644 index 0000000..5fbbfab --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/ConsoleComponent.cls @@ -0,0 +1,9 @@ +global class ConsoleComponent { + global Integer height; + global String location; + global String visualforcePage; + global Integer width; + global ConsoleComponent() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/Container.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/Container.cls new file mode 100644 index 0000000..b294c4e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/Container.cls @@ -0,0 +1,12 @@ +global class Container { + global Integer height; + global Boolean isContainerAutoSizeEnabled; + global String region; + global List sidebarComponents; + global String style; + global String unit; + global Integer width; + global Container() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/CustomConsoleComponents.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/CustomConsoleComponents.cls new file mode 100644 index 0000000..a4d2f81 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/CustomConsoleComponents.cls @@ -0,0 +1,7 @@ +global class CustomConsoleComponents { + global Metadata.PrimaryTabComponents primaryTabComponents; + global Metadata.SubtabComponents subtabComponents; + global CustomConsoleComponents() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/CustomMetadata.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/CustomMetadata.cls new file mode 100644 index 0000000..82fd96a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/CustomMetadata.cls @@ -0,0 +1,9 @@ +global class CustomMetadata { + global String description; + global String label; + global Boolean protected_x; + global List values; + global CustomMetadata() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/CustomMetadataValue.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/CustomMetadataValue.cls new file mode 100644 index 0000000..0873d9b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/CustomMetadataValue.cls @@ -0,0 +1,7 @@ +global class CustomMetadataValue { + global String field; + global Object value; + global CustomMetadataValue() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/DeployCallback.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/DeployCallback.cls new file mode 100644 index 0000000..9fc556c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/DeployCallback.cls @@ -0,0 +1,4 @@ +global interface DeployCallback { + void handleResult(Metadata.DeployResult param0, Metadata.DeployCallbackContext param1); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/DeployCallbackContext.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/DeployCallbackContext.cls new file mode 100644 index 0000000..86868dd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/DeployCallbackContext.cls @@ -0,0 +1,6 @@ +global class DeployCallbackContext { + global DeployCallbackContext() { } + global Object clone() { } + global Id getCallbackJobId() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/DeployContainer.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/DeployContainer.cls new file mode 100644 index 0000000..de9ce72 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/DeployContainer.cls @@ -0,0 +1,9 @@ +global class DeployContainer { + global DeployContainer() { } + global void addMetadata(Metadata.Metadata md) { } + global Object clone() { } + global List getMetadata() { } + global Boolean removeMetadata(Metadata.Metadata md) { } + global Boolean removeMetadataByFullName(String fullName) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/DeployDetails.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/DeployDetails.cls new file mode 100644 index 0000000..5952a36 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/DeployDetails.cls @@ -0,0 +1,7 @@ +global class DeployDetails { + global List componentFailures; + global List componentSuccesses; + global DeployDetails() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/DeployMessage.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/DeployMessage.cls new file mode 100644 index 0000000..8329f19 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/DeployMessage.cls @@ -0,0 +1,18 @@ +global class DeployMessage { + global Boolean changed; + global Integer columnNumber; + global String componentType; + global Boolean created; + global Datetime createdDate; + global Boolean deleted; + global String fileName; + global String fullName; + global Id id; + global Integer lineNumber; + global String problem; + global Metadata.DeployProblemType problemType; + global Boolean success; + global DeployMessage() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/DeployProblemType.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/DeployProblemType.cls new file mode 100644 index 0000000..6d23859 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/DeployProblemType.cls @@ -0,0 +1,5 @@ +global enum DeployProblemType { +ERROR, +INFO, +WARNING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/DeployResult.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/DeployResult.cls new file mode 100644 index 0000000..b4c1b41 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/DeployResult.cls @@ -0,0 +1,28 @@ +global class DeployResult { + global String canceledBy; + global String canceledByName; + global Boolean checkOnly; + global Datetime completedDate; + global String createdBy; + global String createdByName; + global Datetime createdDate; + global Metadata.DeployDetails details; + global Boolean done; + global String errorMessage; + global Metadata.StatusCode errorStatusCode; + global Id id; + global Boolean ignoreWarnings; + global Datetime lastModifiedDate; + global List messages; + global Integer numberComponentErrors; + global Integer numberComponentsDeployed; + global Integer numberComponentsTotal; + global Boolean rollbackOnError; + global Datetime startDate; + global String stateDetail; + global Metadata.DeployStatus status; + global Boolean success; + global DeployResult() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/DeployStatus.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/DeployStatus.cls new file mode 100644 index 0000000..3fada3f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/DeployStatus.cls @@ -0,0 +1,9 @@ +global enum DeployStatus { +CANCELED, +CANCELING, +FAILED, +INPROGRESS, +PENDING, +SUCCEEDED, +SUCCEEDEDPARTIAL +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/FeedItemTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/FeedItemTypeEnum.cls new file mode 100644 index 0000000..6e3e507 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/FeedItemTypeEnum.cls @@ -0,0 +1,35 @@ +global enum FeedItemTypeEnum { +ACTIVITYEVENT, +ADVANCEDTEXTPOST, +ANNOUNCEMENTPOST, +APPROVALPOST, +ATTACHARTICLEEVENT, +ATTACHEXTERNALDOCUMENTEVENT, +BASICTEMPLATEFEEDITEM, +CALLLOGPOST, +CANVASPOST, +CASECOMMENTPOST, +CHANGESTATUSPOST, +CHATTRANSCRIPTPOST, +COLLABORATIONGROUPCREATED, +COLLABORATIONGROUPUNARCHIVED, +CONTENTPOST, +CREATERECORDEVENT, +DASHBOARDCOMPONENTALERT, +DASHBOARDCOMPONENTSNAPSHOT, +EMAILMESSAGEEVENT, +FACEBOOKPOST, +LINKPOST, +MILESTONEEVENT, +POLLPOST, +PROFILESKILLPOST, +QUESTIONPOST, +REPLYPOST, +RYPPLEPOST, +SOCIALPOST, +TESTITEM, +TEXTPOST, +TRACKEDCHANGE, +UNDEFINED, +USERSTATUS +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/FeedLayout.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/FeedLayout.cls new file mode 100644 index 0000000..338fcbc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/FeedLayout.cls @@ -0,0 +1,15 @@ +global class FeedLayout { + global Boolean autocollapsePublisher; + global Boolean compactFeed; + global Metadata.FeedLayoutFilterPosition feedFilterPosition; + global List feedFilters; + global Boolean fullWidthFeed; + global Boolean hideSidebar; + global Boolean highlightExternalFeedItems; + global List leftComponents; + global List rightComponents; + global Boolean useInlineFiltersInConsole; + global FeedLayout() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/FeedLayoutComponent.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/FeedLayoutComponent.cls new file mode 100644 index 0000000..850729f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/FeedLayoutComponent.cls @@ -0,0 +1,8 @@ +global class FeedLayoutComponent { + global Metadata.FeedLayoutComponentType componentType; + global Integer height; + global String page_x; + global FeedLayoutComponent() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/FeedLayoutComponentType.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/FeedLayoutComponentType.cls new file mode 100644 index 0000000..835f175 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/FeedLayoutComponentType.cls @@ -0,0 +1,13 @@ +global enum FeedLayoutComponentType { +CASEEXPERTS, +CASEUNIFIEDFILES, +CUSTOMBUTTONS, +CUSTOMLINKS, +FOLLOWERS, +FOLLOWING, +HELPANDTOOLLINKS, +MILESTONES, +SIMILARCASES, +TOPICS, +VISUALFORCE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/FeedLayoutFilter.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/FeedLayoutFilter.cls new file mode 100644 index 0000000..0307f49 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/FeedLayoutFilter.cls @@ -0,0 +1,8 @@ +global class FeedLayoutFilter { + global String feedFilterName; + global Metadata.FeedLayoutFilterType feedFilterType; + global Metadata.FeedItemTypeEnum feedItemType; + global FeedLayoutFilter() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/FeedLayoutFilterPosition.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/FeedLayoutFilterPosition.cls new file mode 100644 index 0000000..f936346 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/FeedLayoutFilterPosition.cls @@ -0,0 +1,5 @@ +global enum FeedLayoutFilterPosition { +CENTERDROPDOWN, +LEFTFIXED, +LEFTFLOAT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/FeedLayoutFilterType.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/FeedLayoutFilterType.cls new file mode 100644 index 0000000..fbb8200 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/FeedLayoutFilterType.cls @@ -0,0 +1,5 @@ +global enum FeedLayoutFilterType { +ALLUPDATES, +CUSTOM, +FEEDITEMTYPE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/Layout.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/Layout.cls new file mode 100644 index 0000000..282a8ff --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/Layout.cls @@ -0,0 +1,28 @@ +global class Layout { + global List customButtons; + global Metadata.CustomConsoleComponents customConsoleComponents; + global Boolean emailDefault; + global List excludeButtons; + global Metadata.FeedLayout feedLayout; + global List headers; + global List layoutSections; + global Metadata.MiniLayout miniLayout; + global List multilineLayoutFields; + global Metadata.PlatformActionList platformActionList; + global Metadata.QuickActionList quickActionList; + global Metadata.RelatedContent relatedContent; + global List relatedLists; + global List relatedObjects; + global Boolean runAssignmentRulesDefault; + global Boolean showEmailCheckbox; + global Boolean showHighlightsPanel; + global Boolean showInteractionLogPanel; + global Boolean showKnowledgeComponent; + global Boolean showRunAssignmentRulesCheckbox; + global Boolean showSolutionSection; + global Boolean showSubmitAndAttachButton; + global Metadata.SummaryLayout summaryLayout; + global Layout() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/LayoutColumn.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/LayoutColumn.cls new file mode 100644 index 0000000..7eb6310 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/LayoutColumn.cls @@ -0,0 +1,7 @@ +global class LayoutColumn { + global List layoutItems; + global String reserved; + global LayoutColumn() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/LayoutHeader.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/LayoutHeader.cls new file mode 100644 index 0000000..51359a8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/LayoutHeader.cls @@ -0,0 +1,4 @@ +global enum LayoutHeader { +PERSONALTAGGING, +PUBLICTAGGING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/LayoutItem.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/LayoutItem.cls new file mode 100644 index 0000000..ca1ef04 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/LayoutItem.cls @@ -0,0 +1,19 @@ +global class LayoutItem { + global Metadata.AnalyticsCloudComponentLayoutItem analyticsCloudComponent; + global Metadata.UiBehavior behavior; + global String canvas; + global String component; + global String customLink; + global Boolean emptySpace; + global String field; + global Integer height; + global String page_x; + global Metadata.ReportChartComponentLayoutItem reportChartComponent; + global String scontrol; + global Boolean showLabel; + global Boolean showScrollbars; + global String width; + global LayoutItem() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/LayoutSection.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/LayoutSection.cls new file mode 100644 index 0000000..2d6a602 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/LayoutSection.cls @@ -0,0 +1,11 @@ +global class LayoutSection { + global Boolean customLabel; + global Boolean detailHeading; + global Boolean editHeading; + global String label; + global List layoutColumns; + global Metadata.LayoutSectionStyle style; + global LayoutSection() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/LayoutSectionStyle.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/LayoutSectionStyle.cls new file mode 100644 index 0000000..c3212d6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/LayoutSectionStyle.cls @@ -0,0 +1,6 @@ +global enum LayoutSectionStyle { +CUSTOMLINKS, +ONECOLUMN, +TWOCOLUMNSLEFTTORIGHT, +TWOCOLUMNSTOPTOBOTTOM +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/Metadata.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/Metadata.cls new file mode 100644 index 0000000..faeb09c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/Metadata.cls @@ -0,0 +1,5 @@ +global class Metadata { + global String fullName; + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/MetadataType.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/MetadataType.cls new file mode 100644 index 0000000..05266fb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/MetadataType.cls @@ -0,0 +1,5 @@ +global enum MetadataType { +CUSTOMMETADATA, +LAYOUT, +OMNIINTERACTIONACCESSCONFIG +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/MetadataValue.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/MetadataValue.cls new file mode 100644 index 0000000..8b8fc9e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/MetadataValue.cls @@ -0,0 +1,4 @@ +global class MetadataValue { + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/MiniLayout.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/MiniLayout.cls new file mode 100644 index 0000000..d468d01 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/MiniLayout.cls @@ -0,0 +1,7 @@ +global class MiniLayout { + global List fields; + global List relatedLists; + global MiniLayout() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/OmniInteractionAccessConfig.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/OmniInteractionAccessConfig.cls new file mode 100644 index 0000000..bce826d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/OmniInteractionAccessConfig.cls @@ -0,0 +1,18 @@ +global class OmniInteractionAccessConfig { + global String configName; + global Boolean isAsyncCardCachingEnabled; + global Boolean isCardApexRemoteDisabled; + global Boolean isCardCacheDisabled; + global Boolean isCardDataTfrmDisabled; + global Boolean isCardIntegrationProcDisabled; + global Boolean isCardRestApiDisabled; + global Boolean isCardSoqlDisabled; + global Boolean isCardSoslDisabled; + global Boolean isCardStreamingApiDisabled; + global Boolean isDataTfrmEncrpFieldsDisabled; + global String masterLabel; + global String setupOwner; + global OmniInteractionAccessConfig() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/Operations.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/Operations.cls new file mode 100644 index 0000000..ac31b26 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/Operations.cls @@ -0,0 +1,7 @@ +global class Operations { + global Operations() { } + global Object clone() { } + global static Id enqueueDeployment(Metadata.DeployContainer container, Metadata.DeployCallback callback) { } + global static List retrieve(Metadata.MetadataType type, List fullNames) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/PlatformActionList.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/PlatformActionList.cls new file mode 100644 index 0000000..0bc59e5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/PlatformActionList.cls @@ -0,0 +1,8 @@ +global class PlatformActionList { + global Metadata.PlatformActionListContextEnum actionListContext; + global List platformActionListItems; + global String relatedSourceEntity; + global PlatformActionList() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/PlatformActionListContextEnum.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/PlatformActionListContextEnum.cls new file mode 100644 index 0000000..7a397ef --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/PlatformActionListContextEnum.cls @@ -0,0 +1,22 @@ +global enum PlatformActionListContextEnum { +ACTIONDEFINITION, +ASSISTANT, +BANNERPHOTO, +CHATTER, +DOCKABLE, +FEEDELEMENT, +FLEXIPAGE, +GLOBAL_X, +LISTVIEW, +LISTVIEWDEFINITION, +LISTVIEWRECORD, +LOOKUP, +MRULIST, +MRUROW, +OBJECTHOMECHART, +PHOTO, +RECORD, +RECORDEDIT, +RELATEDLIST, +RELATEDLISTRECORD +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/PlatformActionListItem.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/PlatformActionListItem.cls new file mode 100644 index 0000000..6d35952 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/PlatformActionListItem.cls @@ -0,0 +1,9 @@ +global class PlatformActionListItem { + global String actionName; + global Metadata.PlatformActionTypeEnum actionType; + global Integer sortOrder; + global String subtype; + global PlatformActionListItem() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/PlatformActionTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/PlatformActionTypeEnum.cls new file mode 100644 index 0000000..95e3172 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/PlatformActionTypeEnum.cls @@ -0,0 +1,8 @@ +global enum PlatformActionTypeEnum { +ACTIONLINK, +CUSTOMBUTTON, +INVOCABLEACTION, +PRODUCTIVITYACTION, +QUICKACTION, +STANDARDBUTTON +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/PrimaryTabComponents.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/PrimaryTabComponents.cls new file mode 100644 index 0000000..58df954 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/PrimaryTabComponents.cls @@ -0,0 +1,7 @@ +global class PrimaryTabComponents { + global List component; + global List containers; + global PrimaryTabComponents() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/QuickActionList.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/QuickActionList.cls new file mode 100644 index 0000000..050025c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/QuickActionList.cls @@ -0,0 +1,6 @@ +global class QuickActionList { + global List quickActionListItems; + global QuickActionList() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/QuickActionListItem.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/QuickActionListItem.cls new file mode 100644 index 0000000..d0f8594 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/QuickActionListItem.cls @@ -0,0 +1,6 @@ +global class QuickActionListItem { + global String quickActionName; + global QuickActionListItem() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/RelatedContent.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/RelatedContent.cls new file mode 100644 index 0000000..a4bef7c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/RelatedContent.cls @@ -0,0 +1,6 @@ +global class RelatedContent { + global List relatedContentItems; + global RelatedContent() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/RelatedContentItem.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/RelatedContentItem.cls new file mode 100644 index 0000000..fdc8d83 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/RelatedContentItem.cls @@ -0,0 +1,6 @@ +global class RelatedContentItem { + global Metadata.LayoutItem layoutItem; + global RelatedContentItem() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/RelatedList.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/RelatedList.cls new file mode 100644 index 0000000..8947784 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/RelatedList.cls @@ -0,0 +1,7 @@ +global class RelatedList { + global Boolean hideOnDetail; + global String name; + global RelatedList() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/RelatedListItem.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/RelatedListItem.cls new file mode 100644 index 0000000..b72e861 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/RelatedListItem.cls @@ -0,0 +1,11 @@ +global class RelatedListItem { + global List customButtons; + global List excludeButtons; + global List fields; + global String relatedList; + global String sortField; + global Metadata.SortOrder sortOrder; + global RelatedListItem() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/ReportChartComponentLayoutItem.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/ReportChartComponentLayoutItem.cls new file mode 100644 index 0000000..b90909a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/ReportChartComponentLayoutItem.cls @@ -0,0 +1,13 @@ +global class ReportChartComponentLayoutItem { + global Boolean cacheData; + global String contextFilterableField; + global String error; + global Boolean hideOnError; + global Boolean includeContext; + global String reportName; + global Boolean showTitle; + global Metadata.ReportChartComponentSize size; + global ReportChartComponentLayoutItem() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/ReportChartComponentSize.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/ReportChartComponentSize.cls new file mode 100644 index 0000000..c69432a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/ReportChartComponentSize.cls @@ -0,0 +1,5 @@ +global enum ReportChartComponentSize { +LARGE, +MEDIUM, +SMALL +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/SidebarComponent.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/SidebarComponent.cls new file mode 100644 index 0000000..79cec16 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/SidebarComponent.cls @@ -0,0 +1,17 @@ +global class SidebarComponent { + global String componentType; + global String createAction; + global Boolean enableLinking; + global Integer height; + global Boolean knowledgeOneEnable; + global String label; + global String lookup; + global String page_x; + global List relatedLists; + global String unit; + global String updateAction; + global Integer width; + global SidebarComponent() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/SortOrder.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/SortOrder.cls new file mode 100644 index 0000000..a7f4249 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/SortOrder.cls @@ -0,0 +1,4 @@ +global enum SortOrder { +ASC_X, +DESC_X +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/StatusCode.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/StatusCode.cls new file mode 100644 index 0000000..bfcc02d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/StatusCode.cls @@ -0,0 +1,515 @@ +global enum StatusCode { +ALERT_NOTIFICATION_LIMIT_EXCEEDED, +ALL_OR_NONE_OPERATION_ROLLED_BACK, +ALREADY_APPLIED, +ALREADY_IN_PROCESS, +ALREADY_REDEEMED_VOUCHER, +APEX_DATA_ACCESS_RESTRICTION, +APEX_FAILED, +APPLICATION_ALREADY_EXISTS, +ASSIGNEE_TYPE_REQUIRED, +ATTRIBUTE_DEFINITION_LIMIT_EXCEEDED, +AURA_COMPILE_ERROR, +AUTH_PROVIDER_NEEDS_AUTH, +AUTH_PROVIDER_NOT_FOUND, +B2B_SEARCH_ADMIN_ERROR, +BAD_CUSTOM_ENTITY_PARENT_DOMAIN, +BCC_NOT_ALLOWED_IF_BCC_COMPLIANCE_ENABLED, +BLOCKED_EXCLUSIVE, +CANNOT_CASCADE_PRODUCT_ACTIVE, +CANNOT_CHANGE_FIELD_TYPE_OF_APEX_REFERENCED_FIELD, +CANNOT_CHANGE_FIELD_TYPE_OF_REFERENCED_FIELD, +CANNOT_CREATE_ANOTHER_MANAGED_PACKAGE, +CANNOT_DEACTIVATE_DIVISION, +CANNOT_DELETE_GLOBAL_ACTION_LIST, +CANNOT_DELETE_LAST_DATED_CONVERSION_RATE, +CANNOT_DELETE_MANAGED_OBJECT, +CANNOT_DISABLE_LAST_ADMIN, +CANNOT_ENABLE_IP_RESTRICT_REQUESTS, +CANNOT_EXECUTE_FLOW_TRIGGER, +CANNOT_FREEZE_SELF, +CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, +CANNOT_MODIFY_MANAGED_OBJECT, +CANNOT_PASSWORD_LOCKOUT, +CANNOT_POST_TO_ARCHIVED_GROUP, +CANNOT_RENAME_APEX_REFERENCED_FIELD, +CANNOT_RENAME_APEX_REFERENCED_OBJECT, +CANNOT_RENAME_REFERENCED_FIELD, +CANNOT_RENAME_REFERENCED_OBJECT, +CANNOT_REPARENT_RECORD, +CANNOT_UPDATE_CONVERTED_LEAD, +CANNOT_UPDATE_IS_THIRD_PARTY, +CANNOT_UPDATE_PAYMENT_METHOD_SET, +CANT_DISABLE_CORP_CURRENCY, +CANT_UNSET_CORP_CURRENCY, +CART_ITEM_NOT_FOUND, +CART_NOT_FOUND, +CHECKOUT_CONFLICT, +CHECKOUT_EXPIRED, +CHECKOUT_INVALIDATED, +CHECKOUT_LOCKED, +CHECKOUT_NOT_FOUND, +CHECKOUT_UNAUTHORIZED, +CHILD_SHARE_FAILS_PARENT, +CIRCULAR_DEPENDENCY, +CLEAN_SERVICE_ERROR, +CLONE_FIELD_INTEGRITY_EXCEPTION, +CLONE_NOT_SUPPORTED, +CMS_FOLDER_ITEM_MOVE_FAILED, +COLLISION_DETECTED, +COMMERCE_SEARCH_INDEXING_SYSTEM_ERROR, +COMMERCE_SEARCH_MQ_ERROR, +COMMERCE_SEARCH_PROVIDER_LIMIT_EXCEEDED, +COMMERCE_SEARCH_RESOURCE_NOT_FOUND, +COMMERCIAL_CONTROL_ERROR, +COMMUNITY_NOT_ACCESSIBLE, +CONFLICT, +CONFLICTING_ENVIRONMENT_HUB_MEMBER, +CONFLICTING_SSO_USER_MAPPING, +CONTENT_NOT_FOUND, +CONTENT_SEARCH_NOT_ENABLED, +CONTENT_TYPE_DISABLED_FOR_API, +CONTENT_TYPE_NOT_FOUND, +COUPON_REDEMPTION_LIMIT_EXCEEDED, +CUSTOM_APEX_ERROR, +CUSTOM_CLOB_FIELD_LIMIT_EXCEEDED, +CUSTOM_ENTITY_OR_FIELD_LIMIT, +CUSTOM_FIELD_INDEX_LIMIT_EXCEEDED, +CUSTOM_INDEX_EXISTS, +CUSTOM_LINK_LIMIT_EXCEEDED, +CUSTOM_METADATA_LIMIT_EXCEEDED, +CUSTOM_METADATA_REL_FIELD_MANAGEABILITY, +CUSTOM_SETTINGS_LIMIT_EXCEEDED, +CUSTOM_TAB_LIMIT_EXCEEDED, +DATAASSESSMENT_CONFIG_ASSESSMENT_IN_PROGRESS_ERROR, +DATAASSESSMENT_CONFIG_SERVICE_ERROR, +DATACLOUDADDRESS_NO_RECORDS_FOUND, +DATACLOUDADDRESS_PROCESSING_ERROR, +DATACLOUDADDRESS_SERVER_ERROR, +DATA_MAPPING_NOT_FOUND, +DATA_MAPPING_SCHEMA_NOT_FOUND, +DATA_TRANSFER_RECORD_LIMIT_EXCEEDED, +DATA_TYPE_NOT_SUPPORTED, +DATE_OUT_OF_RANGE, +DELETE_FAILED, +DELETE_NOT_ALLOWED, +DELETE_OPERATION_TOO_LARGE, +DELETE_REQUIRED_ON_CASCADE, +DEPENDENCY_EXISTS, +DUPLICATES_DETECTED, +DUPLICATE_CASE_SOLUTION, +DUPLICATE_COMM_NICKNAME, +DUPLICATE_CUSTOM_ENTITY_DEFINITION, +DUPLICATE_CUSTOM_TAB_MOTIF, +DUPLICATE_DEVELOPER_NAME, +DUPLICATE_EXTERNAL_ID, +DUPLICATE_MASTER_LABEL, +DUPLICATE_SENDER_DISPLAY_NAME, +DUPLICATE_USERNAME, +DUPLICATE_VALUE, +EMAIL_ADDRESS_BOUNCED, +EMAIL_EXTERNAL_TRANSPORT_CONNECTION_ERROR, +EMAIL_EXTERNAL_TRANSPORT_PERMISSION_ERROR, +EMAIL_EXTERNAL_TRANSPORT_TOKEN_ERROR, +EMAIL_EXTERNAL_TRANSPORT_TOO_LARGE_ERROR, +EMAIL_EXTERNAL_TRANSPORT_TOO_MANY_REQUESTS_ERROR, +EMAIL_EXTERNAL_TRANSPORT_UNKNOWN_ERROR, +EMAIL_NOT_PROCESSED_DUE_TO_PRIOR_ERROR, +EMAIL_OPTED_OUT, +EMAIL_TEMPLATE_FORMULA_ERROR, +EMAIL_TEMPLATE_MERGEFIELD_ACCESS_ERROR, +EMAIL_TEMPLATE_MERGEFIELD_ERROR, +EMAIL_TEMPLATE_MERGEFIELD_VALUE_ERROR, +EMAIL_TEMPLATE_PROCESSING_ERROR, +EMPTY_CATALOG, +EMPTY_INGESTION_JOB, +EMPTY_SCONTROL_FILE_NAME, +ENHANCED_EMAIL_TEMPLATE_COMPILATION_ERROR, +ENTITY_FAILED_IFLASTMODIFIED_ON_UPDATE, +ENTITY_IS_ARCHIVED, +ENTITY_IS_DELETED, +ENTITY_IS_LOCKED, +ENTITY_SAVE_ERROR, +ENTITY_SAVE_VALIDATION_ERROR, +ENVIRONMENT_HUB_MEMBERSHIP_CONFLICT, +ENVIRONMENT_HUB_MEMBERSHIP_ERROR_JOINING_HUB, +ENVIRONMENT_HUB_MEMBERSHIP_USER_ALREADY_IN_HUB, +ENVIRONMENT_HUB_MEMBERSHIP_USER_NOT_ORG_ADMIN, +ERROR_CALCULATING_EXPIRY_DATE, +ERROR_IN_MAILER, +EXCEEDED_MAX_SEMIJOIN_SUBSELECTS_WRITE, +EXCHANGE_WEB_SERVICES_URL_INVALID, +EXTERNAL_RESOURCE_FORBIDDEN, +FAILED_ACTIVATION, +FAILED_DUE_TO_OTHER_INPUTS, +FAILED_TO_RESOLVE_MAPPING, +FAILED_TO_RESOLVE_SCHEMA_INFORMATION, +FIELD_CUSTOM_VALIDATION_EXCEPTION, +FIELD_FILTER_VALIDATION_EXCEPTION, +FIELD_INTEGRITY_EXCEPTION, +FIELD_KEYWORD_LIST_MATCH_LIMIT, +FIELD_MAPPING_ERROR, +FIELD_MODERATION_RULE_BLOCK, +FIELD_NOT_UPDATABLE, +FILE_EXTENSION_NOT_ALLOWED, +FILE_SIZE_LIMIT_EXCEEDED, +FILTERED_LOOKUP_LIMIT_EXCEEDED, +FIND_DUPLICATES_ERROR, +FLOW_EXCEPTION, +FUNCTIONALITY_NOT_ENABLED, +GET_EINSTEIN_TENANT_ERROR, +GUEST_INSUFFICIENT_ACCESS, +HAS_PUBLIC_REFERENCES, +HTML_FILE_UPLOAD_NOT_ALLOWED, +IAS_AM_AUTH_BAD_REQUEST, +IAS_AM_AUTH_UNAUTHORIZED, +IAS_INVALID_AUTH, +IAS_INVALID_REQUEST_PARAMETER, +IAS_RECORD_DOES_NOT_EXIST, +IAS_TENANT_NOT_PROVISIONED, +IAS_UNCOMMITTED_WORK, +IMAGE_TOO_LARGE, +INACTIVE_OWNER_OR_USER, +INACTIVE_RULE_ERROR, +INDEX_ITEM_LIMIT_EXCEEDED, +INDEX_PAYLOAD_NOT_FOUND, +INGESTION_JOB_RECORDS_LIMIT_EXCEEDED, +INGESTION_TOTAL_FILE_SIZE_LIMIT_EXCEEDED, +INPUTPARAM_INCOMPATIBLE_DATATYPE, +INSERT_UPDATE_DELETE_NOT_ALLOWED_DURING_MAINTENANCE, +INSUFFICIENT_ACCESS, +INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY, +INSUFFICIENT_ACCESS_OR_READONLY, +INSUFFICIENT_ACCESS_TO_INSIGHTSEXTERNALDATA, +INSUFFICIENT_BALANCE, +INSUFFICIENT_BENEFIT_REMAINING, +INSUFFICIENT_CREDITS, +INTEGRATION_CANCELLED, +INTERNAL_ERROR, +INVALID_ACCESS_LEVEL, +INVALID_ACCESS_TOKEN, +INVALID_ACCOUNT, +INVALID_ACTION_VERSION, +INVALID_API_INPUT, +INVALID_ARGUMENT_TYPE, +INVALID_ASSIGNEE_TYPE, +INVALID_ASSIGNMENT_RULE, +INVALID_AUTH_HEADER, +INVALID_BATCH_OPERATION, +INVALID_BUSINESS_HOURS_NAME, +INVALID_CHECKOUT_INPUT, +INVALID_CONTACT, +INVALID_CONTENT_TYPE, +INVALID_CREDIT_CARD_INFO, +INVALID_CROSS_REFERENCE_KEY, +INVALID_CROSS_REFERENCE_TYPE_FOR_FIELD, +INVALID_CURRENCY_CONV_RATE, +INVALID_CURRENCY_CORP_RATE, +INVALID_CURRENCY_ISO, +INVALID_DATASET_REFERENCE_INPUT, +INVALID_DATA_CATEGORY_GROUP_REFERENCE, +INVALID_DATA_URI, +INVALID_EBV_OPERATION, +INVALID_EMAIL_ADDRESS, +INVALID_EMPTY_KEY_OWNER, +INVALID_ENTITY_FOR_MATCH_ENGINE_ERROR, +INVALID_ENTITY_FOR_MATCH_OPERATION_ERROR, +INVALID_ENTITY_FOR_UPSERT, +INVALID_ENVIRONMENT_HUB_MEMBER, +INVALID_EVENT_DELIVERY, +INVALID_EVENT_INPUT, +INVALID_EVENT_SUBSCRIPTION, +INVALID_EXTENSION_ID, +INVALID_EXTERNAL_ID_FIELD_NAME, +INVALID_FIELD, +INVALID_FIELD_FOR_INSERT_UPDATE, +INVALID_FIELD_WHEN_USING_TEMPLATE, +INVALID_FILTER_ACTION, +INVALID_GOOGLE_DOCS_URL, +INVALID_ID_FIELD, +INVALID_INET_ADDRESS, +INVALID_INPUT, +INVALID_INPUT_FORMAT, +INVALID_KEY_FIELD_INPUT, +INVALID_LINEITEM_CLONE_STATE, +INVALID_MARKUP, +INVALID_MASTER_OR_TRANSLATED_SOLUTION, +INVALID_MERCHANT_ACCOUNT_MODE, +INVALID_MERCHANT_ACCOUNT_MODE_OR_STATUS, +INVALID_MERGE_RECORD, +INVALID_MESSAGE_ID_REFERENCE, +INVALID_NAMESPACE_PREFIX, +INVALID_OAUTH_URL, +INVALID_OPERATION, +INVALID_OPERATOR, +INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST, +INVALID_OWNER, +INVALID_PACKAGE_LICENSE, +INVALID_PACKAGE_VERSION, +INVALID_PARTNER_NETWORK_STATUS, +INVALID_PAYLOAD_VERSION, +INVALID_PERSON_ACCOUNT_OPERATION, +INVALID_PROFILE, +INVALID_PROMOTION, +INVALID_PROVIDER_TYPE, +INVALID_QUERY_KEY, +INVALID_QUERY_LOCATOR, +INVALID_QUERY_VALUE, +INVALID_READ_ONLY_USER_DML, +INVALID_RECEIVEDDOCUMENTID_ATTACHMENT, +INVALID_RECORD_ATTRIBUTE_VALUE, +INVALID_RECORD_TYPE, +INVALID_REFRESH_TOKEN, +INVALID_REQUEST_STATE, +INVALID_RUNTIME_VALUE, +INVALID_SAVE_AS_ACTIVITY_FLAG, +INVALID_SCS_INBOUND_USER, +INVALID_SEARCH_PROVIDER_REQUEST, +INVALID_SESSION_ID, +INVALID_SETUP_OWNER, +INVALID_SIGNUP_COUNTRY, +INVALID_SIGNUP_OPTION, +INVALID_SITE_DELETE_EXCEPTION, +INVALID_SITE_FILE_IMPORTED_EXCEPTION, +INVALID_SITE_FILE_TYPE_EXCEPTION, +INVALID_SOURCE_OBJECT_ID, +INVALID_STATUS, +INVALID_SUBDOMAIN, +INVALID_TARGET_OBJECT_NAME, +INVALID_TEXT_REPRESENTATION, +INVALID_TYPE, +INVALID_TYPE_FOR_OPERATION, +INVALID_TYPE_ON_FIELD_IN_RECORD, +INVALID_UNMERGE_RECORD, +INVALID_USERID, +INVALID_USER_OBJECT, +IP_RANGE_LIMIT_EXCEEDED, +ITEM_NOT_FOUND, +JIGSAW_IMPORT_LIMIT_EXCEEDED, +LICENSE_LIMIT_EXCEEDED, +LIGHT_PORTAL_USER_EXCEPTION, +LIMIT_EXCEEDED, +LIST_PRICE_NOT_FOUND, +MALFORMED_ID, +MANAGER_NOT_DEFINED, +MASSMAIL_RETRY_LIMIT_EXCEEDED, +MASS_MAIL_LIMIT_EXCEEDED, +MATCH_DEFINITION_ERROR, +MATCH_OPERATION_ERROR, +MATCH_OPERATION_INVALID_ENGINE_ERROR, +MATCH_OPERATION_INVALID_RULE_ERROR, +MATCH_OPERATION_MISSING_ENGINE_ERROR, +MATCH_OPERATION_MISSING_OBJECT_TYPE_ERROR, +MATCH_OPERATION_MISSING_OPTIONS_ERROR, +MATCH_OPERATION_MISSING_RULE_ERROR, +MATCH_OPERATION_UNKNOWN_RULE_ERROR, +MATCH_OPERATION_UNSUPPORTED_VERSION_ERROR, +MATCH_PRECONDITION_FAILED, +MATCH_PRECONDITION_REQUIRED, +MATCH_RUNTIME_ERROR, +MATCH_SERVICE_ERROR, +MATCH_SERVICE_TIMED_OUT, +MATCH_SERVICE_UNAVAILABLE_ERROR, +MAXIMUM_CCEMAILS_EXCEEDED, +MAXIMUM_DASHBOARD_COMPONENTS_EXCEEDED, +MAXIMUM_HIERARCHY_CHILDREN_REACHED, +MAXIMUM_HIERARCHY_LEVELS_REACHED, +MAXIMUM_HIERARCHY_TREE_SIZE_REACHED, +MAXIMUM_SIZE_OF_ATTACHMENT, +MAXIMUM_SIZE_OF_DOCUMENT, +MAX_ACTIONS_PER_RULE_EXCEEDED, +MAX_ACTIVE_RULES_EXCEEDED, +MAX_APPROVAL_STEPS_EXCEEDED, +MAX_DEPTH_IN_FLOW_EXECUTION, +MAX_FORMULAS_PER_RULE_EXCEEDED, +MAX_LIMIT_EXCEEDED, +MAX_RULES_EXCEEDED, +MAX_RULE_ENTRIES_EXCEEDED, +MAX_TASK_DESCRIPTION_EXCEEEDED, +MAX_TM_RULES_EXCEEDED, +MAX_TM_RULE_ITEMS_EXCEEDED, +MAX_TRIGGERS_EXCEEDED, +MERGE_FAILED, +METADATA_FIELD_UPDATE_ERROR, +METHOD_NOT_ALLOWED, +MISMATCHING_TYPES, +MISSING_ARGUMENT, +MISSING_OMNI_PROCESS_ID, +MISSING_RECEIVEDDOCUMENTID_ATTACHMENT, +MISSING_RECORD, +MIXED_DML_OPERATION, +MULTIPLE_CONTENT_FOUND, +MULTIPLE_VOUCHERS, +NONUNIQUE_SHIPPING_ADDRESS, +NOT_FOUND, +NOT_RECOVERABLE_SEARCH_PROVIDER_ERROR, +NO_ACCESS_TOKEN, +NO_ACCESS_TOKEN_FROM_REFRESH, +NO_APPLICABLE_PROCESS, +NO_ATTACHMENT_PERMISSION, +NO_AUTH_PROVIDER, +NO_BUSINESS_HOURS_FOUND, +NO_INACTIVE_DIVISION_MEMBERS, +NO_MASS_MAIL_PERMISSION, +NO_PARTNER_PERMISSION, +NO_REFRESH_TOKEN, +NO_SEARCH_ATTRIBUTES, +NO_SINGLE_MAIL_PERMISSION, +NO_SORT_PRICEBOOK_ASSOCIATED_ERROR, +NO_SUCH_USER_EXISTS, +NO_TOKEN_ENDPOINT, +NUMBER_OUTSIDE_VALID_RANGE, +NUM_HISTORY_FIELDS_BY_SOBJECT_EXCEEDED, +OCR_INVALID_REQUEST, +OPERATION_ENQUEUED, +OPTED_OUT_OF_MASS_MAIL, +OP_WITH_INVALID_USER_TYPE_EXCEPTION, +ORCHESTRATION_INVALID, +ORDER_MANAGEMENT_ACTION_NOT_ALLOWED, +ORDER_MANAGEMENT_INVALID_RECORD, +ORDER_MANAGEMENT_RECORD_EXISTS, +ORDER_MANAGEMENT_RECORD_NOT_FOUND, +PACKAGE_DISABLED, +PACKAGE_LICENSE_REQUIRED, +PACKAGING_API_INSTALL_FAILED, +PACKAGING_API_UNINSTALL_FAILED, +PALI_INVALID_ACTION_ID, +PALI_INVALID_ACTION_NAME, +PALI_INVALID_ACTION_TYPE, +PAL_INVALID_ASSISTANT_RECOMMENDATION_TYPE_ID, +PAL_INVALID_ENTITY_ID, +PAL_INVALID_FLEXIPAGE_ID, +PAL_INVALID_LAYOUT_ID, +PAL_INVALID_PARAMETERS, +PARAMETER_TOO_LARGE, +PARTICIPANT_RELATIONSHIP_EXISTS, +PAYLOAD_SIZE_EXCEEDED, +PA_API_EXCEPTION, +PA_AXIS_FAULT, +PA_INVALID_ID_EXCEPTION, +PA_NO_ACCESS_EXCEPTION, +PA_NO_DATA_FOUND_EXCEPTION, +PA_URI_SYNTAX_EXCEPTION, +PA_VISIBLE_ACTIONS_FILTER_ORDERING_EXCEPTION, +PENDING_COMMIT, +PICKLIST_INACTIVE_VALUES_EXCEEDED, +PLATFORM_EVENT_ENCRYPTION_ERROR, +PLATFORM_EVENT_PUBLISHING_UNAVAILABLE, +PLATFORM_EVENT_PUBLISH_FAILED, +PORTAL_NO_ACCESS, +PORTAL_USER_ALREADY_EXISTS_FOR_CONTACT, +PORTAL_USER_CREATION_RESTRICTED_WITH_ENCRYPTION, +PRICE_NOT_FOUND, +PRIVATE_CONTACT_ON_ASSET, +PROCESSING_HALTED, +PROGRAM_PROGRESS_NOT_ACTIVE, +QA_INVALID_CREATE_FEED_ITEM, +QA_INVALID_SUCCESS_MESSAGE, +QUERY_REFINEMENT_VALUE_LIMIT_EXCEEDED, +QUERY_TIMEOUT, +QUICK_ACTION_LIST_ITEM_NOT_ALLOWED, +QUICK_ACTION_LIST_NOT_ALLOWED, +RECORD_CREATION_FAILED, +RECORD_IN_USE_BY_WORKFLOW, +RECORD_UPDATE_FAILED, +RECOVERABLE_SEARCH_PROVIDER_ERROR, +RELATED_ENTITY_FILTER_VALIDATION_EXCEPTION, +REL_FIELD_BAD_ACCESSIBILITY, +REPUTATION_MINIMUM_NUMBER_NOT_REACHED, +REQUEST_RUNNING_TOO_LONG, +REQUIRED_FEATURE_MISSING, +REQUIRED_FIELD_MISSING, +REQUIRE_CONNECTED_APP_SCS, +REQUIRE_CONNECTED_APP_SESSION_SCS, +REQUIRE_RUNAS_USER, +RETRIEVE_EXCHANGE_ATTACHMENT_FAILED, +RETRIEVE_EXCHANGE_EMAIL_FAILED, +RETRIEVE_EXCHANGE_EVENT_FAILED, +RETRIEVE_GOOGLE_EMAIL_FAILED, +RETRIEVE_GOOGLE_EVENT_FAILED, +RETRIEVE_USER_CONFIG_ERROR, +ROUTES_EVALUATION_LIMIT_EXCEEDED, +SALESFORCE_INBOX_TRANSPORT_CONNECTION_ERROR, +SALESFORCE_INBOX_TRANSPORT_INVALID_INPUT_ERROR, +SALESFORCE_INBOX_TRANSPORT_TOKEN_ERROR, +SALESFORCE_INBOX_TRANSPORT_UNKNOWN_ERROR, +SCHEMA_OBJECT_NOT_FOUND, +SCREEN_POP_REQUIRED_INPUT_MISSING, +SEARCH_PROVIDER_REQUEST_RATE_EXCEEDED, +SEGMENT_COUNT_LIMIT_EXCEEDED, +SELF_REFERENCE_FROM_FLOW, +SELF_REFERENCE_FROM_TRIGGER, +SERVICE_UNAVAILABLE, +SESSION_EXPIRED, +SESSION_INVALIDATED, +SHARE_NEEDED_FOR_CHILD_OWNER, +SINGLE_EMAIL_LIMIT_EXCEEDED, +SLACK_API_ERROR, +SOCIAL_ACCOUNT_NOT_FOUND, +SOCIAL_ACTION_INVALID, +SOCIAL_PERSONA_NOT_FOUND, +SOCIAL_POST_INVALID, +SOCIAL_POST_NOT_FOUND, +SPECIFICATION_GENERATION_EXCEPTION, +STANDARD_PRICE_NOT_DEFINED, +STORAGE_LIMIT_EXCEEDED, +STRING_TOO_LONG, +SUBDOMAIN_IN_USE, +TABSET_LIMIT_EXCEEDED, +TEMPLATE_NOT_ACTIVE, +TEMPLATE_NOT_FOUND, +TERMS_OF_SERVICE_UNREAD, +TERRITORY_REALIGN_IN_PROGRESS, +TEXT_DATA_OUTSIDE_SUPPORTED_CHARSET, +TEXT_TO_PICKLIST_VALUES_EXCEEDED, +TOO_MANY_APEX_REQUESTS, +TOO_MANY_ENUM_VALUE, +TOO_MANY_JOBS, +TOO_MANY_POSSIBLE_USERS_EXIST, +TRANSFER_REQUIRES_READ, +TXN_SECURITY_NO_ACCESS, +UISF_ENTITY_QUERY_FAILED, +UISF_NO_MAPPINGS_FOUND, +UISF_TOKEN_NOT_FOUND, +UISF_UNKNOWN_EXCEPTION, +UISF_USER_MAPPING_FAILED, +UNABLE_TO_LOCK_ROW, +UNAUTHORIZED_SEARCH_PROVIDER_REQUEST, +UNAVAILABLE_RECORDTYPE_EXCEPTION, +UNAVAILABLE_REF, +UNDEFINED_MAPPING_DEFINITION, +UNDELETE_FAILED, +UNKNOWN_EXCEPTION, +UNKNOWN_TOKEN_ERROR, +UNPROCESSABLE_REQUEST, +UNQUALIFIED_CART, +UNSAFE_HTML_CONTENT, +UNSPECIFIED_EMAIL_ADDRESS, +UNSUPPORTED_APEX_TRIGGER_OPERATON, +UNSUPPORTED_MODE, +UNSUPPORTED_PAYMENT_GATEWAY_TYPE, +UNSUPPORTED_PAYMENT_REQUEST_TYPE, +UNSUPPORTED_SITE, +UNSUPPORTED_SITE_FILE_IMPORTED_EXCEPTION, +UNSUPPORTED_SOCIAL_PROVIDER, +UNVERIFIED_SENDER_ADDRESS, +UPDATE_GOOGLE_EMAIL_LABEL_FAILED, +USER_OWNS_PORTAL_ACCOUNT_EXCEPTION, +USER_WITHOUT_WEM_PERMISSION, +USER_WITH_APEX_SHARES_EXCEPTION, +VARIANT_NOT_FOUND, +VF_COMPILE_ERROR, +WEBLINK_SIZE_LIMIT_EXCEEDED, +WEBLINK_URL_INVALID, +WEM_SEGMENTS_CAN_NOT_HAVE_NON_ACTIVE_SEGMENT_TYPE, +WEM_SHIFT_SEGMENT_TIME_IS_OUTSIDE_OF_THE_SHIFT_DURATION, +WEM_USER_NOT_ORG_ADMIN, +WORKSPACE_NOT_FOUND, +WRONG_CONTROLLER_TYPE, +XCLEAN_DJ_MATCH_IGNORABLE_ERROR, +XCLEAN_DJ_MATCH_INTERNAL_DJ_ERROR, +XCLEAN_DJ_MATCH_NON_RETRIABLE_ERROR, +XCLEAN_DJ_MATCH_RETRIABLE_ERROR, +XCLEAN_DJ_MATCH_UNKNOWN_ERROR, +XCLEAN_UNEXPECTED_ERROR +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/SubtabComponents.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/SubtabComponents.cls new file mode 100644 index 0000000..c1f0ab8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/SubtabComponents.cls @@ -0,0 +1,7 @@ +global class SubtabComponents { + global List component; + global List containers; + global SubtabComponents() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/SummaryLayout.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/SummaryLayout.cls new file mode 100644 index 0000000..bbbaf3f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/SummaryLayout.cls @@ -0,0 +1,11 @@ +global class SummaryLayout { + global String masterLabel; + global Integer sizeX; + global Integer sizeY; + global Integer sizeZ; + global List summaryLayoutItems; + global Metadata.SummaryLayoutStyleEnum summaryLayoutStyle; + global SummaryLayout() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/SummaryLayoutItem.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/SummaryLayoutItem.cls new file mode 100644 index 0000000..0ef5b4f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/SummaryLayoutItem.cls @@ -0,0 +1,10 @@ +global class SummaryLayoutItem { + global String customLink; + global String field; + global Integer posX; + global Integer posY; + global Integer posZ; + global SummaryLayoutItem() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/SummaryLayoutStyleEnum.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/SummaryLayoutStyleEnum.cls new file mode 100644 index 0000000..5f7deef --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/SummaryLayoutStyleEnum.cls @@ -0,0 +1,12 @@ +global enum SummaryLayoutStyleEnum { +CASEINTERACTION, +CHILDSERVICEREPORTTEMPLATESTYLE, +DEFAULTQUOTETEMPLATE, +DEFAULTSERVICEREPORTTEMPLATE, +DEFAULT_X, +PATHASSISTANT, +QUICKACTIONLAYOUTLEFTRIGHT, +QUICKACTIONLAYOUTTOPDOWN, +QUOTETEMPLATE, +SERVICEREPORTTEMPLATE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Metadata/UiBehavior.cls b/.sfdx/tools/246/StandardApexLibrary/Metadata/UiBehavior.cls new file mode 100644 index 0000000..0d3a562 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Metadata/UiBehavior.cls @@ -0,0 +1,5 @@ +global enum UiBehavior { +EDIT, +READONLY, +REQUIRED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Process/Plugin.cls b/.sfdx/tools/246/StandardApexLibrary/Process/Plugin.cls new file mode 100644 index 0000000..16a01ca --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Process/Plugin.cls @@ -0,0 +1,5 @@ +global interface Plugin { + Process.PluginDescribeResult describe(); + Process.PluginResult invoke(Process.PluginRequest param0); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Process/PluginDescribeResult.cls b/.sfdx/tools/246/StandardApexLibrary/Process/PluginDescribeResult.cls new file mode 100644 index 0000000..da721a1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Process/PluginDescribeResult.cls @@ -0,0 +1,41 @@ +global class PluginDescribeResult { + global String description; + global List inputParameters; + global String name; + global List outputParameters; + global String tag; + global PluginDescribeResult() { } + global Object clone() { } +global class InputParameter { + global String description; + global String name; + global Process.PluginDescribeResult.ParameterType parameterType; + global Boolean required; + global PluginDescribeResult.InputParameter(String name, String description, Process.PluginDescribeResult.ParameterType parameterType, Boolean required) { } + global PluginDescribeResult.InputParameter(String name, Process.PluginDescribeResult.ParameterType parameterType, Boolean required) { } + global Object clone() { } + +} +global class OutputParameter { + global String description; + global String name; + global Process.PluginDescribeResult.ParameterType parameterType; + global PluginDescribeResult.OutputParameter(String name, String description, Process.PluginDescribeResult.ParameterType parameterType) { } + global PluginDescribeResult.OutputParameter(String name, Process.PluginDescribeResult.ParameterType parameterType) { } + global Object clone() { } + +} +global enum ParameterType { +BOOLEAN, +DATE, +DATETIME, +DECIMAL, +DOUBLE, +FLOAT, +ID, +INTEGER, +LONG, +STRING +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Process/PluginRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Process/PluginRequest.cls new file mode 100644 index 0000000..864b201 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Process/PluginRequest.cls @@ -0,0 +1,6 @@ +global class PluginRequest { + global Map inputParameters; + global PluginRequest(Map inputParameters) { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Process/PluginResult.cls b/.sfdx/tools/246/StandardApexLibrary/Process/PluginResult.cls new file mode 100644 index 0000000..fc59f6a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Process/PluginResult.cls @@ -0,0 +1,7 @@ +global class PluginResult { + global Map outputParameters; + global PluginResult(String outputKey, Object outputValue) { } + global PluginResult(Map outputParameters) { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Process/SparkPlugApi.cls b/.sfdx/tools/246/StandardApexLibrary/Process/SparkPlugApi.cls new file mode 100644 index 0000000..a735d82 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Process/SparkPlugApi.cls @@ -0,0 +1,24 @@ +global class SparkPlugApi { + global SparkPlugApi() { } + global Object clone() { } + global static Process.SparkPlugApi.SparkPlugDescribeResult describePlugin(String className) { } + global static List describePlugins() { } + global static String invokePluginWithJson(String className, String parameters) { } +global class SparkPlugDescribeResult { + global List inputParameters; + global String name; + global List outputParameters; + global SparkPlugApi.SparkPlugDescribeResult() { } + global Object clone() { } + +} +global class SparkPlugParameter { + global String name; + global String parameterType; + global Boolean required; + global SparkPlugApi.SparkPlugParameter() { } + global Object clone() { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/QuickAction/Control.cls b/.sfdx/tools/246/StandardApexLibrary/QuickAction/Control.cls new file mode 100644 index 0000000..50007c5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/QuickAction/Control.cls @@ -0,0 +1,7 @@ +global class Control { + global Integer getDisplayLines() { } + global Integer getTabOrder() { } + global String getType() { } + global String getValue() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeAvailableQuickActionResult.cls b/.sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeAvailableQuickActionResult.cls new file mode 100644 index 0000000..88e5ced --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeAvailableQuickActionResult.cls @@ -0,0 +1,11 @@ +global class DescribeAvailableQuickActionResult { + global String actionenumorid; + global String label; + global String name; + global String type; + global String getActionEnumOrId() { } + global String getLabel() { } + global String getName() { } + global String getType() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeLayoutComponent.cls b/.sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeLayoutComponent.cls new file mode 100644 index 0000000..ce6fe03 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeLayoutComponent.cls @@ -0,0 +1,11 @@ +global class DescribeLayoutComponent { + global Integer displaylines; + global Integer taborder; + global String type; + global String value; + global Integer getDisplayLines() { } + global Integer getTabOrder() { } + global String getType() { } + global String getValue() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeLayoutItem.cls b/.sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeLayoutItem.cls new file mode 100644 index 0000000..c091814 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeLayoutItem.cls @@ -0,0 +1,15 @@ +global class DescribeLayoutItem { + global Boolean editablefornew; + global Boolean editableforupdate; + global String label; + global List layoutcomponents; + global Boolean placeholder; + global Boolean required; + global String getLabel() { } + global List getLayoutComponents() { } + global Boolean isEditableForNew() { } + global Boolean isEditableForUpdate() { } + global Boolean isPlaceholder() { } + global Boolean isRequired() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeLayoutRow.cls b/.sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeLayoutRow.cls new file mode 100644 index 0000000..8d6856b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeLayoutRow.cls @@ -0,0 +1,7 @@ +global class DescribeLayoutRow { + global List layoutitems; + global Integer numitems; + global List getLayoutItems() { } + global Integer getNumItems() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeLayoutSection.cls b/.sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeLayoutSection.cls new file mode 100644 index 0000000..b726b85 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeLayoutSection.cls @@ -0,0 +1,23 @@ +global class DescribeLayoutSection { + global Boolean collapsed; + global Integer columns; + global String heading; + global List layoutrows; + global Id layoutsectionid; + global Id parentlayoutid; + global Integer rows; + global String taborder; + global Boolean usecollapsiblesection; + global Boolean useheading; + global Integer getColumns() { } + global String getHeading() { } + global List getLayoutRows() { } + global Id getLayoutSectionId() { } + global Id getParentLayoutId() { } + global Integer getRows() { } + global String getTabOrder() { } + global Boolean isCollapsed() { } + global Boolean isUseCollapsibleSection() { } + global Boolean isUseHeading() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeQuickActionDefaultValue.cls b/.sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeQuickActionDefaultValue.cls new file mode 100644 index 0000000..7d3822d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeQuickActionDefaultValue.cls @@ -0,0 +1,7 @@ +global class DescribeQuickActionDefaultValue { + global String defaultvalue; + global String field; + global String getDefaultValue() { } + global String getField() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeQuickActionResult.cls b/.sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeQuickActionResult.cls new file mode 100644 index 0000000..1032e60 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/QuickAction/DescribeQuickActionResult.cls @@ -0,0 +1,65 @@ +global class DescribeQuickActionResult { + global String accesslevelrequired; + global String canvasapplicationid; + global String canvasapplicationname; + global List colors; + global String contextsobjecttype; + global List defaultvalues; + global String flowdevname; + global String flowrecordidvar; + global Integer height; + global String iconname; + global List icons; + global String iconurl; + global QuickAction.DescribeLayoutSection layout; + global String lightningcomponentbundleid; + global String lightningcomponentbundlename; + global String lightningcomponentqualifiedname; + global String lightningwebcomponentbundleid; + global String lightningwebcomponentbundlename; + global String lightningwebcomponentqualifiedname; + global String miniiconurl; + global String mobileextensionid; + global Boolean showquickactionlcheader; + global Boolean showquickactionvfheader; + global String targetparentfield; + global String targetrecordtypeid; + global String targetsobjecttype; + global String visualforcepagename; + global String visualforcepageurl; + global Integer width; + global String getAccessLevelRequired() { } + global String getActionEnumOrId() { } + global String getCanvasApplicationId() { } + global String getCanvasApplicationName() { } + global List getColors() { } + global String getContextSobjectType() { } + global List getDefaultValues() { } + global String getFlowDevName() { } + global String getFlowRecordIdVar() { } + global Integer getHeight() { } + global String getIconName() { } + global String getIconUrl() { } + global List getIcons() { } + global String getLabel() { } + global QuickAction.DescribeLayoutSection getLayout() { } + global String getLightningComponentBundleId() { } + global String getLightningComponentBundleName() { } + global String getLightningComponentQualifiedName() { } + global String getLightningWebComponentBundleId() { } + global String getLightningWebComponentBundleName() { } + global String getLightningWebComponentQualifiedName() { } + global String getMiniIconUrl() { } + global String getMobileExtensionId() { } + global String getName() { } + global Boolean getShowQuickActionLcHeader() { } + global Boolean getShowQuickActionVfHeader() { } + global String getTargetParentField() { } + global String getTargetRecordTypeId() { } + global String getTargetSobjectType() { } + global String getType() { } + global String getVisualforcePageName() { } + global String getVisualforcePageUrl() { } + global Integer getWidth() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/QuickAction/EmptySpace.cls b/.sfdx/tools/246/StandardApexLibrary/QuickAction/EmptySpace.cls new file mode 100644 index 0000000..a081fdf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/QuickAction/EmptySpace.cls @@ -0,0 +1,7 @@ +global class EmptySpace { + global Integer getDisplayLines() { } + global Integer getTabOrder() { } + global String getType() { } + global String getValue() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/QuickAction/ExpandedLookup.cls b/.sfdx/tools/246/StandardApexLibrary/QuickAction/ExpandedLookup.cls new file mode 100644 index 0000000..8f7d1de --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/QuickAction/ExpandedLookup.cls @@ -0,0 +1,7 @@ +global class ExpandedLookup { + global Integer getDisplayLines() { } + global Integer getTabOrder() { } + global String getType() { } + global String getValue() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/QuickAction/Field.cls b/.sfdx/tools/246/StandardApexLibrary/QuickAction/Field.cls new file mode 100644 index 0000000..8cbdb7d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/QuickAction/Field.cls @@ -0,0 +1,7 @@ +global class Field { + global Integer getDisplayLines() { } + global Integer getTabOrder() { } + global String getType() { } + global String getValue() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/QuickAction/FieldLayoutComponent.cls b/.sfdx/tools/246/StandardApexLibrary/QuickAction/FieldLayoutComponent.cls new file mode 100644 index 0000000..df4aada --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/QuickAction/FieldLayoutComponent.cls @@ -0,0 +1,7 @@ +global class FieldLayoutComponent { + global Integer getDisplayLines() { } + global Integer getTabOrder() { } + global String getType() { } + global String getValue() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/QuickAction/QuickActionDefaults.cls b/.sfdx/tools/246/StandardApexLibrary/QuickAction/QuickActionDefaults.cls new file mode 100644 index 0000000..4d278c2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/QuickAction/QuickActionDefaults.cls @@ -0,0 +1,8 @@ +global class QuickActionDefaults { + global Object clone() { } + global String getActionName() { } + global String getActionType() { } + global Id getContextId() { } + global SObject getTargetSObject() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/QuickAction/QuickActionDefaultsHandler.cls b/.sfdx/tools/246/StandardApexLibrary/QuickAction/QuickActionDefaultsHandler.cls new file mode 100644 index 0000000..73cd0f5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/QuickAction/QuickActionDefaultsHandler.cls @@ -0,0 +1,4 @@ +global interface QuickActionDefaultsHandler { + void onInitDefaults(List param0); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/QuickAction/QuickActionRequest.cls b/.sfdx/tools/246/StandardApexLibrary/QuickAction/QuickActionRequest.cls new file mode 100644 index 0000000..99974d9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/QuickAction/QuickActionRequest.cls @@ -0,0 +1,13 @@ +global class QuickActionRequest { + global Id contextid; + global String quickactionname; + global SObject record; + global QuickActionRequest() { } + global Id getContextId() { } + global String getQuickActionName() { } + global SObject getRecord() { } + global void setContextId(Id param0) { } + global void setQuickActionName(String param0) { } + global void setRecord(SObject param0) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/QuickAction/QuickActionResult.cls b/.sfdx/tools/246/StandardApexLibrary/QuickAction/QuickActionResult.cls new file mode 100644 index 0000000..3dc6ed0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/QuickAction/QuickActionResult.cls @@ -0,0 +1,15 @@ +global class QuickActionResult { + global Id contextid; + global Boolean created; + global List errors; + global List ids; + global Boolean success; + global String successmessage; + global Id getContextId() { } + global List getErrors() { } + global List getIds() { } + global String getSuccessMessage() { } + global Boolean isCreated() { } + global Boolean isSuccess() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/QuickAction/QuickActionTemplateResult.cls b/.sfdx/tools/246/StandardApexLibrary/QuickAction/QuickActionTemplateResult.cls new file mode 100644 index 0000000..a12bd67 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/QuickAction/QuickActionTemplateResult.cls @@ -0,0 +1,13 @@ +global class QuickActionTemplateResult { + global String contextid; + global SObject defaultvalueformulas; + global SObject defaultvalues; + global List errors; + global Boolean success; + global String getContextId() { } + global SObject getDefaultValueFormulas() { } + global SObject getDefaultValues() { } + global List getErrors() { } + global Boolean isSuccess() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/QuickAction/ReportChartComponent.cls b/.sfdx/tools/246/StandardApexLibrary/QuickAction/ReportChartComponent.cls new file mode 100644 index 0000000..a6374bb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/QuickAction/ReportChartComponent.cls @@ -0,0 +1,21 @@ +global class ReportChartComponent { + global Boolean cachedata; + global String contextfilterablefield; + global String error; + global Boolean hideonerror; + global Boolean includecontext; + global Boolean showtitle; + global String size; + global Boolean getCacheData() { } + global String getContextFilterableField() { } + global Integer getDisplayLines() { } + global String getError() { } + global Boolean getHideOnError() { } + global Boolean getIncludeContext() { } + global Boolean getShowTitle() { } + global String getSize() { } + global Integer getTabOrder() { } + global String getType() { } + global String getValue() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/QuickAction/SControl.cls b/.sfdx/tools/246/StandardApexLibrary/QuickAction/SControl.cls new file mode 100644 index 0000000..7470c2d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/QuickAction/SControl.cls @@ -0,0 +1,7 @@ +global class SControl { + global Integer getDisplayLines() { } + global Integer getTabOrder() { } + global String getType() { } + global String getValue() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/QuickAction/SendEmailQuickActionDefaults.cls b/.sfdx/tools/246/StandardApexLibrary/QuickAction/SendEmailQuickActionDefaults.cls new file mode 100644 index 0000000..ded09e9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/QuickAction/SendEmailQuickActionDefaults.cls @@ -0,0 +1,13 @@ +global class SendEmailQuickActionDefaults { + global Object clone() { } + global String getActionName() { } + global String getActionType() { } + global Id getContextId() { } + global List getFromAddressList() { } + global Id getInReplyToId() { } + global SObject getTargetSObject() { } + global void setIgnoreTemplateSubject(Boolean ignoreSubject) { } + global void setInsertTemplateBody(Boolean insertBody) { } + global void setTemplateId(Id templateId) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/QuickAction/Separator.cls b/.sfdx/tools/246/StandardApexLibrary/QuickAction/Separator.cls new file mode 100644 index 0000000..3e1f06c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/QuickAction/Separator.cls @@ -0,0 +1,7 @@ +global class Separator { + global Integer getDisplayLines() { } + global Integer getTabOrder() { } + global String getType() { } + global String getValue() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/QuickAction/VisualforcePage.cls b/.sfdx/tools/246/StandardApexLibrary/QuickAction/VisualforcePage.cls new file mode 100644 index 0000000..37f184e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/QuickAction/VisualforcePage.cls @@ -0,0 +1,17 @@ +global class VisualforcePage { + global Boolean showlabel; + global Boolean showscrollbars; + global String suggestedheight; + global String suggestedwidth; + global String url; + global Integer getDisplayLines() { } + global Boolean getShowLabel() { } + global Boolean getShowScrollbars() { } + global String getSuggestedHeight() { } + global String getSuggestedWidth() { } + global Integer getTabOrder() { } + global String getType() { } + global String getUrl() { } + global String getValue() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/AggregateColumn.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/AggregateColumn.cls new file mode 100644 index 0000000..2cd647d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/AggregateColumn.cls @@ -0,0 +1,10 @@ +global class AggregateColumn { + global Object clone() { } + global String getAcrossGroupingContext() { } + global reports.ColumnDataType getDataType() { } + global String getDownGroupingContext() { } + global String getLabel() { } + global String getName() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/BucketField.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/BucketField.cls new file mode 100644 index 0000000..94557b9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/BucketField.cls @@ -0,0 +1,22 @@ +global class BucketField { + global BucketField(reports.BucketType bucketType, String devloperName, String label, Boolean nullTreatedAsZero, String otherBucketLabel, String sourceColumnName, List values) { } + global BucketField() { } + global Object clone() { } + global reports.BucketType getBucketType() { } + global String getDevloperName() { } + global String getLabel() { } + global Boolean getNullTreatedAsZero() { } + global String getOtherBucketLabel() { } + global String getSourceColumnName() { } + global List getValues() { } + global void setBucketType(String value) { } + global void setBucketType(reports.BucketType bucketType) { } + global void setDevloperName(String devloperName) { } + global void setLabel(String label) { } + global void setNullTreatedAsZero(Boolean nullTreatedAsZero) { } + global void setOtherBucketLabel(String otherBucketLabel) { } + global void setSourceColumnName(String sourceColumnName) { } + global void setValues(List values) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/BucketFieldValue.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/BucketFieldValue.cls new file mode 100644 index 0000000..4e3a39d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/BucketFieldValue.cls @@ -0,0 +1,13 @@ +global class BucketFieldValue { + global BucketFieldValue(String label, List sourceDimensionValues, Double rangeUpperBound) { } + global BucketFieldValue() { } + global Object clone() { } + global String getLabel() { } + global Double getRangeUpperBound() { } + global List getSourceDimensionValues() { } + global void setLabel(String label) { } + global void setRangeUpperBound(Double rangeUpperBound) { } + global void setSourceDimensionValues(List sourceDimensionValues) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/BucketType.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/BucketType.cls new file mode 100644 index 0000000..b8d5092 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/BucketType.cls @@ -0,0 +1,5 @@ +global enum BucketType { +NUMBER, +PICKLIST, +TEXT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ColumnDataType.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ColumnDataType.cls new file mode 100644 index 0000000..a2e22ca --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ColumnDataType.cls @@ -0,0 +1,21 @@ +global enum ColumnDataType { +BOOLEAN_DATA, +COMBOBOX_DATA, +CURRENCY_DATA, +DATETIME_DATA, +DATE_DATA, +DOUBLE_DATA, +EMAIL_DATA, +HTML_DATA, +ID_DATA, +INT_DATA, +MULTIPICKLIST_DATA, +PERCENT_DATA, +PHONE_DATA, +PICKLIST_DATA, +REFERENCE_DATA, +STRING_DATA, +TEXTAREA_DATA, +TIME_DATA, +URL_DATA +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ColumnSortOrder.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ColumnSortOrder.cls new file mode 100644 index 0000000..5608e8c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ColumnSortOrder.cls @@ -0,0 +1,4 @@ +global enum ColumnSortOrder { +ASCENDING, +DESCENDING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/CrossFilter.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/CrossFilter.cls new file mode 100644 index 0000000..5448c70 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/CrossFilter.cls @@ -0,0 +1,17 @@ +global class CrossFilter { + global CrossFilter(List criteria, Boolean includesObject, String primaryEntityField, String relatedEntity, String relatedEntityJoinField) { } + global CrossFilter() { } + global Object clone() { } + global List getCriteria() { } + global Boolean getIncludesObject() { } + global String getPrimaryEntityField() { } + global String getRelatedEntity() { } + global String getRelatedEntityJoinField() { } + global void setCriteria(List criteria) { } + global void setIncludesObject(Boolean includesObject) { } + global void setPrimaryEntityField(String primaryEntityField) { } + global void setRelatedEntity(String relatedEntity) { } + global void setRelatedEntityJoinField(String relatedEntityJoinField) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/CsfGroupType.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/CsfGroupType.cls new file mode 100644 index 0000000..1febae4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/CsfGroupType.cls @@ -0,0 +1,5 @@ +global enum CsfGroupType { +ALL, +CUSTOM, +GRAND_TOTAL +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/DateGranularity.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/DateGranularity.cls new file mode 100644 index 0000000..fa9b6fe --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/DateGranularity.cls @@ -0,0 +1,14 @@ +global enum DateGranularity { +DAY, +DAY_IN_MONTH, +FISCAL_PERIOD, +FISCAL_QUARTER, +FISCAL_WEEK, +FISCAL_YEAR, +MONTH, +MONTH_IN_YEAR, +NONE, +QUARTER, +WEEK, +YEAR +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/DetailColumn.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/DetailColumn.cls new file mode 100644 index 0000000..7a08ea6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/DetailColumn.cls @@ -0,0 +1,8 @@ +global class DetailColumn { + global Object clone() { } + global reports.ColumnDataType getDataType() { } + global String getLabel() { } + global String getName() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/Dimension.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/Dimension.cls new file mode 100644 index 0000000..04153e2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/Dimension.cls @@ -0,0 +1,6 @@ +global class Dimension { + global Object clone() { } + global List getGroupings() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/EvaluatedCondition.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/EvaluatedCondition.cls new file mode 100644 index 0000000..49001af --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/EvaluatedCondition.cls @@ -0,0 +1,12 @@ +global class EvaluatedCondition { + global EvaluatedCondition(String aggregateName, String aggregateLabel, Double compareTo, Double value, String displayCompareTo, String displayValue, reports.EvaluatedConditionOperator operator) { } + global Object clone() { } + global String getAggregateLabel() { } + global String getAggregateName() { } + global Double getCompareTo() { } + global String getDisplayCompareTo() { } + global String getDisplayValue() { } + global reports.EvaluatedConditionOperator getOperator() { } + global Double getValue() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/EvaluatedConditionOperator.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/EvaluatedConditionOperator.cls new file mode 100644 index 0000000..b762aa7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/EvaluatedConditionOperator.cls @@ -0,0 +1,8 @@ +global enum EvaluatedConditionOperator { +EQUAL, +GREATER_THAN, +GREATER_THAN_EQUAL, +LESS_THAN, +LESS_THAN_EQUAL, +NOT_EQUAL +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/FeatureNotSupportedException.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/FeatureNotSupportedException.cls new file mode 100644 index 0000000..3e72492 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/FeatureNotSupportedException.cls @@ -0,0 +1,8 @@ +global class FeatureNotSupportedException extends Exception { + global FeatureNotSupportedException(String param0, Exception param1) { } + global FeatureNotSupportedException(Exception param0) { } + global FeatureNotSupportedException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/FilterOperator.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/FilterOperator.cls new file mode 100644 index 0000000..8edd6f5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/FilterOperator.cls @@ -0,0 +1,7 @@ +global class FilterOperator { + global Object clone() { } + global String getLabel() { } + global String getName() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/FilterValue.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/FilterValue.cls new file mode 100644 index 0000000..27cbbfd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/FilterValue.cls @@ -0,0 +1,7 @@ +global class FilterValue { + global Object clone() { } + global String getLabel() { } + global String getName() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/FormulaType.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/FormulaType.cls new file mode 100644 index 0000000..9dea316 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/FormulaType.cls @@ -0,0 +1,10 @@ +global enum FormulaType { +CHECKBOX, +CURRENCY, +DATE, +DATE_TIME, +NUMBER, +PERCENT, +TEXT, +TIME +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/GroupingColumn.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/GroupingColumn.cls new file mode 100644 index 0000000..0e722ca --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/GroupingColumn.cls @@ -0,0 +1,9 @@ +global class GroupingColumn { + global Object clone() { } + global reports.ColumnDataType getDataType() { } + global Integer getGroupingLevel() { } + global String getLabel() { } + global String getName() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/GroupingInfo.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/GroupingInfo.cls new file mode 100644 index 0000000..aecc855 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/GroupingInfo.cls @@ -0,0 +1,17 @@ +global class GroupingInfo { + global GroupingInfo(String name, reports.ColumnSortOrder sortOrder, reports.DateGranularity dateGranularity, String sortAggregate) { } + global GroupingInfo() { } + global Object clone() { } + global reports.DateGranularity getDateGranularity() { } + global String getName() { } + global String getSortAggregate() { } + global reports.ColumnSortOrder getSortOrder() { } + global void setDateGranularity(String value) { } + global void setDateGranularity(reports.DateGranularity dateGranularity) { } + global void setName(String name) { } + global void setSortAggregate(String sortAggregate) { } + global void setSortOrder(String value) { } + global void setSortOrder(reports.ColumnSortOrder sortOrder) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/GroupingValue.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/GroupingValue.cls new file mode 100644 index 0000000..f9b9323 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/GroupingValue.cls @@ -0,0 +1,9 @@ +global class GroupingValue { + global Object clone() { } + global List getGroupings() { } + global String getKey() { } + global String getLabel() { } + global Object getValue() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/InstanceAccessException.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/InstanceAccessException.cls new file mode 100644 index 0000000..82c1b11 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/InstanceAccessException.cls @@ -0,0 +1,8 @@ +global class InstanceAccessException extends Exception { + global InstanceAccessException(String param0, Exception param1) { } + global InstanceAccessException(Exception param0) { } + global InstanceAccessException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/InvalidFilterException.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/InvalidFilterException.cls new file mode 100644 index 0000000..bb56eca --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/InvalidFilterException.cls @@ -0,0 +1,10 @@ +global class InvalidFilterException extends Exception { + global InvalidFilterException(String param0, Exception param1) { } + global InvalidFilterException(Exception param0) { } + global InvalidFilterException(String param0) { } + global InvalidFilterException() { } + global Object clone() { } + global List getFilterErrors() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/InvalidReportMetadataException.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/InvalidReportMetadataException.cls new file mode 100644 index 0000000..32e885d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/InvalidReportMetadataException.cls @@ -0,0 +1,10 @@ +global class InvalidReportMetadataException extends Exception { + global InvalidReportMetadataException(String param0, Exception param1) { } + global InvalidReportMetadataException(Exception param0) { } + global InvalidReportMetadataException(String param0) { } + global InvalidReportMetadataException() { } + global Object clone() { } + global List getReportMetadataErrors() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/InvalidSnapshotDateException.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/InvalidSnapshotDateException.cls new file mode 100644 index 0000000..f38fdbf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/InvalidSnapshotDateException.cls @@ -0,0 +1,10 @@ +global class InvalidSnapshotDateException extends Exception { + global InvalidSnapshotDateException(String param0, Exception param1) { } + global InvalidSnapshotDateException(Exception param0) { } + global InvalidSnapshotDateException(String param0) { } + global InvalidSnapshotDateException() { } + global Object clone() { } + global List getSnapshotDateErrors() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/MetadataException.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/MetadataException.cls new file mode 100644 index 0000000..e6fe2ae --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/MetadataException.cls @@ -0,0 +1,8 @@ +global class MetadataException extends Exception { + global MetadataException(String param0, Exception param1) { } + global MetadataException(Exception param0) { } + global MetadataException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/NotificationAction.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/NotificationAction.cls new file mode 100644 index 0000000..5ac2886 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/NotificationAction.cls @@ -0,0 +1,4 @@ +global interface NotificationAction { + void execute(reports.NotificationActionContext param0); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/NotificationActionContext.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/NotificationActionContext.cls new file mode 100644 index 0000000..1e4ffb1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/NotificationActionContext.cls @@ -0,0 +1,7 @@ +global class NotificationActionContext { + global NotificationActionContext(reports.ReportInstance reportInstance, reports.ThresholdInformation thresholdInformation) { } + global Object clone() { } + global reports.ReportInstance getReportInstance() { } + global reports.ThresholdInformation getThresholdInformation() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ReportCsf.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportCsf.cls new file mode 100644 index 0000000..e536170 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportCsf.cls @@ -0,0 +1,28 @@ +global class ReportCsf { + global ReportCsf(String label, String description, reports.FormulaType formulaType, Integer decimalPlaces, String downGroup, reports.CsfGroupType downGroupType, String acrossGroup, reports.CsfGroupType acrossGroupType, String formula) { } + global ReportCsf() { } + global Object clone() { } + global String getAcrossGroup() { } + global reports.CsfGroupType getAcrossGroupType() { } + global Integer getDecimalPlaces() { } + global String getDescription() { } + global String getDownGroup() { } + global reports.CsfGroupType getDownGroupType() { } + global String getFormula() { } + global reports.FormulaType getFormulaType() { } + global String getLabel() { } + global void setAcrossGroup(String acrossGroup) { } + global void setAcrossGroupType(String value) { } + global void setAcrossGroupType(reports.CsfGroupType acrossGroupType) { } + global void setDecimalPlaces(Integer decimalPlaces) { } + global void setDescription(String description) { } + global void setDownGroup(String downGroup) { } + global void setDownGroupType(String value) { } + global void setDownGroupType(reports.CsfGroupType downGroupType) { } + global void setFormula(String formula) { } + global void setFormulaType(String value) { } + global void setFormulaType(reports.FormulaType formulaType) { } + global void setLabel(String label) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ReportCurrency.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportCurrency.cls new file mode 100644 index 0000000..9c5d8d5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportCurrency.cls @@ -0,0 +1,7 @@ +global class ReportCurrency { + global Object clone() { } + global Decimal getAmount() { } + global String getCurrencyCode() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ReportDataCell.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportDataCell.cls new file mode 100644 index 0000000..d31dbe7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportDataCell.cls @@ -0,0 +1,7 @@ +global class ReportDataCell { + global Object clone() { } + global String getLabel() { } + global Object getValue() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ReportDescribeResult.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportDescribeResult.cls new file mode 100644 index 0000000..0105573 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportDescribeResult.cls @@ -0,0 +1,8 @@ +global class ReportDescribeResult { + global Object clone() { } + global reports.ReportExtendedMetadata getReportExtendedMetadata() { } + global reports.ReportMetadata getReportMetadata() { } + global reports.ReportTypeMetadata getReportTypeMetadata() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ReportDetailRow.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportDetailRow.cls new file mode 100644 index 0000000..12dcef4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportDetailRow.cls @@ -0,0 +1,6 @@ +global class ReportDetailRow { + global Object clone() { } + global List getDataCells() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ReportDivisionInfo.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportDivisionInfo.cls new file mode 100644 index 0000000..68c8b01 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportDivisionInfo.cls @@ -0,0 +1,7 @@ +global class ReportDivisionInfo { + global Object clone() { } + global String getDefaultValue() { } + global List getValues() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ReportExtendedMetadata.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportExtendedMetadata.cls new file mode 100644 index 0000000..26821c8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportExtendedMetadata.cls @@ -0,0 +1,8 @@ +global class ReportExtendedMetadata { + global Object clone() { } + global Map getAggregateColumnInfo() { } + global Map getDetailColumnInfo() { } + global Map getGroupingColumnInfo() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ReportFact.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportFact.cls new file mode 100644 index 0000000..7390af0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportFact.cls @@ -0,0 +1,7 @@ +global class ReportFact { + global Object clone() { } + global List getAggregates() { } + global String getKey() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ReportFactWithDetails.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportFactWithDetails.cls new file mode 100644 index 0000000..b1f2bad --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportFactWithDetails.cls @@ -0,0 +1,8 @@ +global class ReportFactWithDetails { + global Object clone() { } + global List getAggregates() { } + global String getKey() { } + global List getRows() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ReportFactWithSummaries.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportFactWithSummaries.cls new file mode 100644 index 0000000..dd32156 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportFactWithSummaries.cls @@ -0,0 +1,7 @@ +global class ReportFactWithSummaries { + global Object clone() { } + global List getAggregates() { } + global String getKey() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ReportFilter.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportFilter.cls new file mode 100644 index 0000000..212a177 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportFilter.cls @@ -0,0 +1,17 @@ +global class ReportFilter { + global ReportFilter(String column, String operator, String value, reports.ReportFilterType filterType) { } + global ReportFilter(String column, String operator, String value) { } + global ReportFilter() { } + global Object clone() { } + global String getColumn() { } + global reports.ReportFilterType getFilterType() { } + global String getOperator() { } + global String getValue() { } + global void setColumn(String column) { } + global void setFilterType(String value) { } + global void setFilterType(reports.ReportFilterType filterType) { } + global void setOperator(String operator) { } + global void setValue(String value) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ReportFilterType.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportFilterType.cls new file mode 100644 index 0000000..8dd9c04 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportFilterType.cls @@ -0,0 +1,4 @@ +global enum ReportFilterType { +FIELDTOFIELD, +FIELDVALUE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ReportFormat.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportFormat.cls new file mode 100644 index 0000000..d1c916b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportFormat.cls @@ -0,0 +1,6 @@ +global enum ReportFormat { +MATRIX, +MULTI_BLOCK, +SUMMARY, +TABULAR +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ReportInstance.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportInstance.cls new file mode 100644 index 0000000..ad2bd30 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportInstance.cls @@ -0,0 +1,12 @@ +global class ReportInstance { + global Object clone() { } + global Datetime getCompletionDate() { } + global Id getId() { } + global Id getOwnerId() { } + global Id getReportId() { } + global reports.ReportResults getReportResults() { } + global Datetime getRequestDate() { } + global String getStatus() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ReportInstanceAttributes.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportInstanceAttributes.cls new file mode 100644 index 0000000..f29a8a9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportInstanceAttributes.cls @@ -0,0 +1,10 @@ +global class ReportInstanceAttributes { + global Object clone() { } + global Datetime getCompletionDate() { } + global Id getId() { } + global Id getOwnerId() { } + global Datetime getRequestDate() { } + global String getStatus() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ReportManager.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportManager.cls new file mode 100644 index 0000000..5144722 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportManager.cls @@ -0,0 +1,17 @@ +global class ReportManager { + global ReportManager() { } + global Object clone() { } + global static reports.ReportDescribeResult describeReport(Id reportId) { } + global static Map> getDatatypeFilterOperatorMap() { } + global static reports.ReportInstance getReportInstance(Id instanceId) { } + global static List getReportInstances(Id reportId) { } + global static reports.ReportInstance runAsyncReport(Id reportId, reports.ReportMetadata rmData, Boolean includeDetails) { } + global static reports.ReportInstance runAsyncReport(Id reportId, Boolean includeDetails) { } + global static reports.ReportInstance runAsyncReport(Id reportId, reports.ReportMetadata rmData) { } + global static reports.ReportInstance runAsyncReport(Id reportId) { } + global static reports.ReportResults runReport(Id reportId, reports.ReportMetadata rmData, Boolean includeDetails) { } + global static reports.ReportResults runReport(Id reportId, Boolean includeDetails) { } + global static reports.ReportResults runReport(Id reportId, reports.ReportMetadata rmData) { } + global static reports.ReportResults runReport(Id reportId) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ReportMetadata.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportMetadata.cls new file mode 100644 index 0000000..e93fdf7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportMetadata.cls @@ -0,0 +1,62 @@ +global class ReportMetadata { + global ReportMetadata(String name, String developerName, Id id, List groupingsAcross, List groupingsDown, List aggregates, List buckets, List detailColumns, String reportBooleanFilter, List reportFilters, List historicalSnapshotDates, reports.ReportFormat reportFormat, reports.ReportType reportType, String currencyCode, String scope, String division, List sortBy, reports.StandardDateFilter standardDateFilter, Boolean hasDetailRows, Boolean hasRecordCount, List standardFilters, String description, Boolean showSubtotals, Boolean showGrandTotal, reports.TopRows topRows, Map customSummaryFormula, List crossFilters) { } + global ReportMetadata() { } + global Object clone() { } + global List getAggregates() { } + global List getBuckets() { } + global List getCrossFilters() { } + global String getCurrencyCode() { } + global Map getCustomSummaryFormula() { } + global String getDescription() { } + global List getDetailColumns() { } + global String getDeveloperName() { } + global String getDivision() { } + global List getGroupingsAcross() { } + global List getGroupingsDown() { } + global Boolean getHasDetailRows() { } + global Boolean getHasRecordCount() { } + global List getHistoricalSnapshotDates() { } + global Id getId() { } + global String getName() { } + global String getReportBooleanFilter() { } + global List getReportFilters() { } + global reports.ReportFormat getReportFormat() { } + global reports.ReportType getReportType() { } + global String getScope() { } + global Boolean getShowGrandTotal() { } + global Boolean getShowSubtotals() { } + global List getSortBy() { } + global reports.StandardDateFilter getStandardDateFilter() { } + global List getStandardFilters() { } + global reports.TopRows getTopRows() { } + global void setAggregates(List aggregates) { } + global void setBuckets(List buckets) { } + global void setCrossFilters(List crossFilters) { } + global void setCurrencyCode(String currencyCode) { } + global void setCustomSummaryFormula(Map customSummaryFormula) { } + global void setDescription(String description) { } + global void setDetailColumns(List detailColumns) { } + global void setDeveloperName(String developerName) { } + global void setDivision(String division) { } + global void setGroupingsAcross(List groupingsAcross) { } + global void setGroupingsDown(List groupingsDown) { } + global void setHasDetailRows(Boolean hasDetailRows) { } + global void setHasRecordCount(Boolean hasRecordCount) { } + global void setHistoricalSnapshotDates(List historicalSnapshotDates) { } + global void setId(Id id) { } + global void setName(String name) { } + global void setReportBooleanFilter(String reportBooleanFilter) { } + global void setReportFilters(List reportFilters) { } + global void setReportFormat(String value) { } + global void setReportFormat(reports.ReportFormat reportFormat) { } + global void setReportType(reports.ReportType reportType) { } + global void setScope(String scope) { } + global void setShowGrandTotal(Boolean showGrandTotal) { } + global void setShowSubtotals(Boolean showSubtotals) { } + global void setSortBy(List sortBy) { } + global void setStandardDateFilter(reports.StandardDateFilter standardDateFilter) { } + global void setStandardFilters(List standardFilters) { } + global void setTopRows(reports.TopRows topRows) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ReportResults.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportResults.cls new file mode 100644 index 0000000..8d5026e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportResults.cls @@ -0,0 +1,12 @@ +global class ReportResults { + global Object clone() { } + global Boolean getAllData() { } + global Map getFactMap() { } + global reports.Dimension getGroupingsAcross() { } + global reports.Dimension getGroupingsDown() { } + global Boolean getHasDetailRows() { } + global reports.ReportExtendedMetadata getReportExtendedMetadata() { } + global reports.ReportMetadata getReportMetadata() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ReportRunException.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportRunException.cls new file mode 100644 index 0000000..6d9b016 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportRunException.cls @@ -0,0 +1,8 @@ +global class ReportRunException extends Exception { + global ReportRunException(String param0, Exception param1) { } + global ReportRunException(Exception param0) { } + global ReportRunException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ReportScopeInfo.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportScopeInfo.cls new file mode 100644 index 0000000..6869201 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportScopeInfo.cls @@ -0,0 +1,7 @@ +global class ReportScopeInfo { + global Object clone() { } + global String getDefaultValue() { } + global List getValues() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ReportScopeValue.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportScopeValue.cls new file mode 100644 index 0000000..52b3ae0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportScopeValue.cls @@ -0,0 +1,8 @@ +global class ReportScopeValue { + global Object clone() { } + global Boolean getAllowsDivision() { } + global String getLabel() { } + global String getValue() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ReportTester.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportTester.cls new file mode 100644 index 0000000..e1b34a6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportTester.cls @@ -0,0 +1,3 @@ +global class ReportTester { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ReportType.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportType.cls new file mode 100644 index 0000000..99e0f42 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportType.cls @@ -0,0 +1,11 @@ +global class ReportType { + global ReportType(String type, String label) { } + global ReportType() { } + global Object clone() { } + global String getLabel() { } + global String getType() { } + global void setLabel(String label) { } + global void setType(String type) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ReportTypeColumn.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportTypeColumn.cls new file mode 100644 index 0000000..f95099d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportTypeColumn.cls @@ -0,0 +1,10 @@ +global class ReportTypeColumn { + global Object clone() { } + global reports.ColumnDataType getDataType() { } + global List getFilterValues() { } + global Boolean getFilterable() { } + global String getLabel() { } + global String getName() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ReportTypeColumnCategory.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportTypeColumnCategory.cls new file mode 100644 index 0000000..5be1145 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportTypeColumnCategory.cls @@ -0,0 +1,7 @@ +global class ReportTypeColumnCategory { + global Object clone() { } + global Map getColumns() { } + global String getLabel() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ReportTypeMetadata.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportTypeMetadata.cls new file mode 100644 index 0000000..bcd3ef9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ReportTypeMetadata.cls @@ -0,0 +1,10 @@ +global class ReportTypeMetadata { + global Object clone() { } + global List getCategories() { } + global reports.ReportDivisionInfo getDivisionInfo() { } + global reports.ReportScopeInfo getScopeInfo() { } + global List getStandardDateFilterDurationGroups() { } + global Map getStandardFilterInfos() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/SortColumn.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/SortColumn.cls new file mode 100644 index 0000000..9462972 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/SortColumn.cls @@ -0,0 +1,12 @@ +global class SortColumn { + global SortColumn(String sortColumn, reports.ColumnSortOrder sortOrder) { } + global SortColumn() { } + global Object clone() { } + global String getSortColumn() { } + global reports.ColumnSortOrder getSortOrder() { } + global void setSortColumn(String sortColumn) { } + global void setSortOrder(String value) { } + global void setSortOrder(reports.ColumnSortOrder sortOrder) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/StandardDateFilter.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/StandardDateFilter.cls new file mode 100644 index 0000000..7d4d575 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/StandardDateFilter.cls @@ -0,0 +1,15 @@ +global class StandardDateFilter { + global StandardDateFilter(String column, String durationValue, String startDate, String endDate) { } + global StandardDateFilter() { } + global Object clone() { } + global String getColumn() { } + global String getDurationValue() { } + global String getEndDate() { } + global String getStartDate() { } + global void setColumn(String column) { } + global void setDurationValue(String durationValue) { } + global void setEndDate(String endDate) { } + global void setStartDate(String startDate) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/StandardDateFilterDuration.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/StandardDateFilterDuration.cls new file mode 100644 index 0000000..12813f6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/StandardDateFilterDuration.cls @@ -0,0 +1,9 @@ +global class StandardDateFilterDuration { + global Object clone() { } + global String getEndDate() { } + global String getLabel() { } + global String getStartDate() { } + global String getValue() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/StandardDateFilterDurationGroup.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/StandardDateFilterDurationGroup.cls new file mode 100644 index 0000000..2753d9b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/StandardDateFilterDurationGroup.cls @@ -0,0 +1,7 @@ +global class StandardDateFilterDurationGroup { + global Object clone() { } + global String getLabel() { } + global List getStandardDateFilterDurations() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/StandardFilter.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/StandardFilter.cls new file mode 100644 index 0000000..f9083b9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/StandardFilter.cls @@ -0,0 +1,11 @@ +global class StandardFilter { + global StandardFilter(String name, String value) { } + global StandardFilter() { } + global Object clone() { } + global String getName() { } + global String getValue() { } + global void setName(String name) { } + global void setValue(String value) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/StandardFilterInfo.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/StandardFilterInfo.cls new file mode 100644 index 0000000..e9c25b0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/StandardFilterInfo.cls @@ -0,0 +1,7 @@ +global class StandardFilterInfo { + global Object clone() { } + global String getLabel() { } + global reports.StandardFilterType getType() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/StandardFilterInfoPicklist.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/StandardFilterInfoPicklist.cls new file mode 100644 index 0000000..41c4bf6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/StandardFilterInfoPicklist.cls @@ -0,0 +1,9 @@ +global class StandardFilterInfoPicklist { + global Object clone() { } + global String getDefaultValue() { } + global List getFilterValues() { } + global String getLabel() { } + global reports.StandardFilterType getType() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/StandardFilterType.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/StandardFilterType.cls new file mode 100644 index 0000000..b9b8f6a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/StandardFilterType.cls @@ -0,0 +1,4 @@ +global enum StandardFilterType { +PICKLIST, +STRING +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/SummaryValue.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/SummaryValue.cls new file mode 100644 index 0000000..5815073 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/SummaryValue.cls @@ -0,0 +1,7 @@ +global class SummaryValue { + global Object clone() { } + global String getLabel() { } + global Object getValue() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/ThresholdInformation.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/ThresholdInformation.cls new file mode 100644 index 0000000..d660494 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/ThresholdInformation.cls @@ -0,0 +1,6 @@ +global class ThresholdInformation { + global ThresholdInformation(List evaluatedConditions) { } + global Object clone() { } + global List getEvaluatedConditions() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/TopRows.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/TopRows.cls new file mode 100644 index 0000000..b35ed6e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/TopRows.cls @@ -0,0 +1,12 @@ +global class TopRows { + global TopRows(Integer rowLimit, reports.ColumnSortOrder direction) { } + global TopRows() { } + global Object clone() { } + global reports.ColumnSortOrder getDirection() { } + global Integer getRowLimit() { } + global void setDirection(String value) { } + global void setDirection(reports.ColumnSortOrder direction) { } + global void setRowLimit(Integer rowLimit) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Reports/UnsupportedOperationException.cls b/.sfdx/tools/246/StandardApexLibrary/Reports/UnsupportedOperationException.cls new file mode 100644 index 0000000..6014b3f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Reports/UnsupportedOperationException.cls @@ -0,0 +1,8 @@ +global class UnsupportedOperationException extends Exception { + global UnsupportedOperationException(String param0, Exception param1) { } + global UnsupportedOperationException(Exception param0) { } + global UnsupportedOperationException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Schema/ChildRelationship.cls b/.sfdx/tools/246/StandardApexLibrary/Schema/ChildRelationship.cls new file mode 100644 index 0000000..7b08f36 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Schema/ChildRelationship.cls @@ -0,0 +1,19 @@ +global class ChildRelationship { + global Boolean cascadedelete; + global Schema.SObjectType childsobject; + global Boolean deprecatedandhidden; + global Schema.SObjectField field; + global List junctionidlistnames; + global List junctionreferenceto; + global String relationshipname; + global Boolean restricteddelete; + global Schema.SObjectType getChildSObject() { } + global Schema.SObjectField getField() { } + global List getJunctionIdListNames() { } + global List getJunctionReferenceTo() { } + global String getRelationshipName() { } + global Boolean isCascadeDelete() { } + global Boolean isDeprecatedAndHidden() { } + global Boolean isRestrictedDelete() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Schema/DataCategory.cls b/.sfdx/tools/246/StandardApexLibrary/Schema/DataCategory.cls new file mode 100644 index 0000000..665b0ab --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Schema/DataCategory.cls @@ -0,0 +1,9 @@ +global class DataCategory { + global List childcategories; + global String label; + global String name; + global List getChildCategories() { } + global String getLabel() { } + global String getName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Schema/DataCategoryGroupSobjectTypePair.cls b/.sfdx/tools/246/StandardApexLibrary/Schema/DataCategoryGroupSobjectTypePair.cls new file mode 100644 index 0000000..2e8ed69 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Schema/DataCategoryGroupSobjectTypePair.cls @@ -0,0 +1,10 @@ +global class DataCategoryGroupSobjectTypePair { + global String datacategorygroupname; + global String sobject; + global DataCategoryGroupSobjectTypePair() { } + global String getDataCategoryGroupName() { } + global String getSobject() { } + global void setDataCategoryGroupName(String param0) { } + global void setSobject(String param0) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Schema/DescribeColorResult.cls b/.sfdx/tools/246/StandardApexLibrary/Schema/DescribeColorResult.cls new file mode 100644 index 0000000..d40177e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Schema/DescribeColorResult.cls @@ -0,0 +1,9 @@ +global class DescribeColorResult { + global String color; + global String context; + global String theme; + global String getColor() { } + global String getContext() { } + global String getTheme() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Schema/DescribeDataCategoryGroupResult.cls b/.sfdx/tools/246/StandardApexLibrary/Schema/DescribeDataCategoryGroupResult.cls new file mode 100644 index 0000000..de941c2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Schema/DescribeDataCategoryGroupResult.cls @@ -0,0 +1,13 @@ +global class DescribeDataCategoryGroupResult { + global Integer categorycount; + global String description; + global String label; + global String name; + global String sobject; + global Integer getCategoryCount() { } + global String getDescription() { } + global String getLabel() { } + global String getName() { } + global String getSobject() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Schema/DescribeDataCategoryGroupStructureResult.cls b/.sfdx/tools/246/StandardApexLibrary/Schema/DescribeDataCategoryGroupStructureResult.cls new file mode 100644 index 0000000..e50877a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Schema/DescribeDataCategoryGroupStructureResult.cls @@ -0,0 +1,13 @@ +global class DescribeDataCategoryGroupStructureResult { + global String description; + global String label; + global String name; + global String sobject; + global List topcategories; + global String getDescription() { } + global String getLabel() { } + global String getName() { } + global String getSobject() { } + global List getTopCategories() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Schema/DescribeFieldResult.cls b/.sfdx/tools/246/StandardApexLibrary/Schema/DescribeFieldResult.cls new file mode 100644 index 0000000..8f6c843 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Schema/DescribeFieldResult.cls @@ -0,0 +1,123 @@ +global class DescribeFieldResult { + global Boolean accessible; + global Boolean aggregatable; + global Boolean aipredictionfield; + global Boolean autonumber; + global Integer bytelength; + global Boolean calculated; + global String calculatedformula; + global Boolean cascadedelete; + global Boolean casesensitive; + global String compoundfieldname; + global Schema.SObjectField controller; + global Boolean createable; + global Boolean custom; + global Boolean datatranslationenabled; + global Boolean defaultedoncreate; + global Object defaultvalue; + global String defaultvalueformula; + global Boolean dependentpicklist; + global Boolean deprecatedandhidden; + global Integer digits; + global Boolean displaylocationindecimal; + global Boolean encrypted; + global Boolean externalid; + global Boolean filterable; + global Schema.FilteredLookupInfo filteredlookupinfo; + global Boolean formulatreatnullnumberaszero; + global Boolean groupable; + global Boolean highscalenumber; + global Boolean htmlformatted; + global Boolean idlookup; + global String inlinehelptext; + global String label; + global Integer length; + global String localname; + global String mask; + global String masktype; + global String name; + global Boolean namefield; + global Boolean namepointing; + global Boolean nillable; + global Boolean permissionable; + global List picklistvalues; + global Integer precision; + global Boolean querybydistance; + global String referencetargetfield; + global List referenceto; + global String relationshipname; + global Integer relationshiporder; + global Boolean restricteddelete; + global Boolean restrictedpicklist; + global Integer scale; + global Boolean searchprefilterable; + global Schema.SoapType soaptype; + global Schema.SObjectField sobjectfield; + global Schema.SObjectType sobjecttype; + global Boolean sortable; + global Schema.DisplayType type; + global Boolean unique; + global Boolean updateable; + global Boolean writerequiresmasterread; + global Integer getByteLength() { } + global String getCalculatedFormula() { } + global String getCompoundFieldName() { } + global Schema.SObjectField getController() { } + global Boolean getDataTranslationEnabled() { } + global Object getDefaultValue() { } + global String getDefaultValueFormula() { } + global Integer getDigits() { } + global Schema.FilteredLookupInfo getFilteredLookupInfo() { } + global String getInlineHelpText() { } + global String getLabel() { } + global Integer getLength() { } + global String getLocalName() { } + global String getMask() { } + global String getMaskType() { } + global String getName() { } + global List getPicklistValues() { } + global Integer getPrecision() { } + global String getReferenceTargetField() { } + global List getReferenceTo() { } + global String getRelationshipName() { } + global Integer getRelationshipOrder() { } + global Schema.SObjectType getSObjectType() { } + global Integer getScale() { } + global Schema.SoapType getSoapType() { } + global Schema.SObjectField getSobjectField() { } + global Schema.DisplayType getType() { } + global Boolean isAccessible() { } + global Boolean isAggregatable() { } + global Boolean isAiPredictionField() { } + global Boolean isAutoNumber() { } + global Boolean isCalculated() { } + global Boolean isCascadeDelete() { } + global Boolean isCaseSensitive() { } + global Boolean isCreateable() { } + global Boolean isCustom() { } + global Boolean isDefaultedOnCreate() { } + global Boolean isDependentPicklist() { } + global Boolean isDeprecatedAndHidden() { } + global Boolean isDisplayLocationInDecimal() { } + global Boolean isEncrypted() { } + global Boolean isExternalId() { } + global Boolean isFilterable() { } + global Boolean isFormulaTreatNullNumberAsZero() { } + global Boolean isGroupable() { } + global Boolean isHighScaleNumber() { } + global Boolean isHtmlFormatted() { } + global Boolean isIdLookup() { } + global Boolean isNameField() { } + global Boolean isNamePointing() { } + global Boolean isNillable() { } + global Boolean isPermissionable() { } + global Boolean isQueryByDistance() { } + global Boolean isRestrictedDelete() { } + global Boolean isRestrictedPicklist() { } + global Boolean isSearchPrefilterable() { } + global Boolean isSortable() { } + global Boolean isUnique() { } + global Boolean isUpdateable() { } + global Boolean isWriteRequiresMasterRead() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Schema/DescribeIconResult.cls b/.sfdx/tools/246/StandardApexLibrary/Schema/DescribeIconResult.cls new file mode 100644 index 0000000..1309afd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Schema/DescribeIconResult.cls @@ -0,0 +1,13 @@ +global class DescribeIconResult { + global String contenttype; + global Integer height; + global String theme; + global String url; + global Integer width; + global String getContentType() { } + global Integer getHeight() { } + global String getTheme() { } + global String getUrl() { } + global Integer getWidth() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Schema/DescribeSObjectResult.cls b/.sfdx/tools/246/StandardApexLibrary/Schema/DescribeSObjectResult.cls new file mode 100644 index 0000000..40c1565 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Schema/DescribeSObjectResult.cls @@ -0,0 +1,75 @@ +global class DescribeSObjectResult { + global Boolean accessible; + global String associateentitytype; + global String associateparententity; + global List childrelationships; + global Boolean createable; + global Boolean custom; + global Boolean customsetting; + global Boolean datatranslationenabled; + global String defaultimplementation; + global Boolean deletable; + global Boolean deprecatedandhidden; + global Boolean feedenabled; + global Schema.SObjectTypeFields fields; + global Schema.SObjectTypeFieldSets fieldsets; + global Boolean hassubtypes; + global String implementedby; + global String implementsinterfaces; + global Boolean isinterface; + global Boolean issubtype; + global String keyprefix; + global String label; + global String labelplural; + global String localname; + global Boolean mergeable; + global Boolean mruenabled; + global String name; + global Boolean queryable; + global List recordtypeinfos; + global Map recordtypeinfosbydevelopername; + global Map recordtypeinfosbyid; + global Map recordtypeinfosbyname; + global Boolean searchable; + global Schema.SObjectDescribeOptions sobjectdescribeoption; + global Schema.SObjectType sobjecttype; + global Boolean undeletable; + global Boolean updateable; + global String getAssociateEntityType() { } + global String getAssociateParentEntity() { } + global List getChildRelationships() { } + global Boolean getDataTranslationEnabled() { } + global String getDefaultImplementation() { } + global Schema.SObjectTypeFieldSets getFieldSets() { } + global Schema.SObjectTypeFields getFields() { } + global Boolean getHasSubtypes() { } + global String getImplementedBy() { } + global String getImplementsInterfaces() { } + global Boolean getIsInterface() { } + global Boolean getIsSubtype() { } + global String getKeyPrefix() { } + global String getLabel() { } + global String getLabelPlural() { } + global String getLocalName() { } + global String getName() { } + global List getRecordTypeInfos() { } + global Map getRecordTypeInfosByDeveloperName() { } + global Map getRecordTypeInfosById() { } + global Map getRecordTypeInfosByName() { } + global Schema.SObjectDescribeOptions getSObjectDescribeOption() { } + global Schema.SObjectType getSObjectType() { } + global Boolean isAccessible() { } + global Boolean isCreateable() { } + global Boolean isCustom() { } + global Boolean isCustomSetting() { } + global Boolean isDeletable() { } + global Boolean isDeprecatedAndHidden() { } + global Boolean isFeedEnabled() { } + global Boolean isMergeable() { } + global Boolean isMruEnabled() { } + global Boolean isQueryable() { } + global Boolean isSearchable() { } + global Boolean isUndeletable() { } + global Boolean isUpdateable() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Schema/DescribeTabResult.cls b/.sfdx/tools/246/StandardApexLibrary/Schema/DescribeTabResult.cls new file mode 100644 index 0000000..ef44bb4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Schema/DescribeTabResult.cls @@ -0,0 +1,25 @@ +global class DescribeTabResult { + global List colors; + global Boolean custom; + global List icons; + global String iconurl; + global String label; + global String miniiconurl; + global String mobileurl; + global String name; + global String sobjectname; + global String tabenumorid; + global String url; + global List getColors() { } + global String getIconUrl() { } + global List getIcons() { } + global String getLabel() { } + global String getMiniIconUrl() { } + global String getMobileUrl() { } + global String getName() { } + global String getSobjectName() { } + global String getTabEnumOrId() { } + global String getUrl() { } + global Boolean isCustom() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Schema/DescribeTabSetResult.cls b/.sfdx/tools/246/StandardApexLibrary/Schema/DescribeTabSetResult.cls new file mode 100644 index 0000000..69b9f0e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Schema/DescribeTabSetResult.cls @@ -0,0 +1,17 @@ +global class DescribeTabSetResult { + global String description; + global String label; + global String logourl; + global String namespace; + global Boolean selected; + global List tabs; + global String tabsetid; + global String getDescription() { } + global String getLabel() { } + global String getLogoUrl() { } + global String getNamespace() { } + global String getTabSetId() { } + global List getTabs() { } + global Boolean isSelected() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Schema/DisplayType.cls b/.sfdx/tools/246/StandardApexLibrary/Schema/DisplayType.cls new file mode 100644 index 0000000..5b2d060 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Schema/DisplayType.cls @@ -0,0 +1,30 @@ +global enum DisplayType { +ADDRESS, +ANYTYPE, +BASE64, +BOOLEAN, +COMBOBOX, +COMPLEXVALUE, +CURRENCY, +DATACATEGORYGROUPREFERENCE, +DATE, +DATETIME, +DOUBLE, +EMAIL, +ENCRYPTEDSTRING, +ID, +INTEGER, +JSON, +LOCATION, +LONG, +MULTIPICKLIST, +PERCENT, +PHONE, +PICKLIST, +REFERENCE, +SOBJECT, +STRING, +TEXTAREA, +TIME, +URL +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Schema/FieldDescribeOptions.cls b/.sfdx/tools/246/StandardApexLibrary/Schema/FieldDescribeOptions.cls new file mode 100644 index 0000000..89fed9e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Schema/FieldDescribeOptions.cls @@ -0,0 +1,4 @@ +global enum FieldDescribeOptions { +DEFAULT, +FULL_DESCRIBE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Schema/FieldSet.cls b/.sfdx/tools/246/StandardApexLibrary/Schema/FieldSet.cls new file mode 100644 index 0000000..2167de5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Schema/FieldSet.cls @@ -0,0 +1,15 @@ +global class FieldSet { + global String description; + global List fields; + global String label; + global String name; + global String namespace; + global Schema.SObjectType sobjecttype; + global String getDescription() { } + global List getFields() { } + global String getLabel() { } + global String getName() { } + global String getNameSpace() { } + global Schema.SObjectType getSObjectType() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Schema/FieldSetMember.cls b/.sfdx/tools/246/StandardApexLibrary/Schema/FieldSetMember.cls new file mode 100644 index 0000000..874a78f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Schema/FieldSetMember.cls @@ -0,0 +1,15 @@ +global class FieldSetMember { + global Boolean dbrequired; + global String fieldpath; + global String label; + global Boolean required; + global Schema.SObjectField sobjectfield; + global Schema.DisplayType type; + global Boolean getDbRequired() { } + global String getFieldPath() { } + global String getLabel() { } + global Boolean getRequired() { } + global Schema.SObjectField getSObjectField() { } + global Schema.DisplayType getType() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Schema/FilteredLookupInfo.cls b/.sfdx/tools/246/StandardApexLibrary/Schema/FilteredLookupInfo.cls new file mode 100644 index 0000000..769e99a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Schema/FilteredLookupInfo.cls @@ -0,0 +1,9 @@ +global class FilteredLookupInfo { + global List controllingfields; + global Boolean dependent; + global Boolean optionalfilter; + global List getControllingFields() { } + global Boolean isDependent() { } + global Boolean isOptionalFilter() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Schema/PicklistEntry.cls b/.sfdx/tools/246/StandardApexLibrary/Schema/PicklistEntry.cls new file mode 100644 index 0000000..0d3144e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Schema/PicklistEntry.cls @@ -0,0 +1,11 @@ +global class PicklistEntry { + global Boolean active; + global Boolean defaultvalue; + global String label; + global String value; + global String getLabel() { } + global String getValue() { } + global Boolean isActive() { } + global Boolean isDefaultValue() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Schema/RecordTypeInfo.cls b/.sfdx/tools/246/StandardApexLibrary/Schema/RecordTypeInfo.cls new file mode 100644 index 0000000..5f7da86 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Schema/RecordTypeInfo.cls @@ -0,0 +1,17 @@ +global class RecordTypeInfo { + global Boolean active; + global Boolean available; + global Boolean defaultrecordtypemapping; + global String developername; + global Boolean master; + global String name; + global Id recordtypeid; + global String getDeveloperName() { } + global String getName() { } + global Id getRecordTypeId() { } + global Boolean isActive() { } + global Boolean isAvailable() { } + global Boolean isDefaultRecordTypeMapping() { } + global Boolean isMaster() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Schema/SObjectDescribeOptions.cls b/.sfdx/tools/246/StandardApexLibrary/Schema/SObjectDescribeOptions.cls new file mode 100644 index 0000000..4a58ea3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Schema/SObjectDescribeOptions.cls @@ -0,0 +1,5 @@ +global enum SObjectDescribeOptions { +DEFAULT, +DEFERRED, +FULL +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Schema/SObjectField.cls b/.sfdx/tools/246/StandardApexLibrary/Schema/SObjectField.cls new file mode 100644 index 0000000..80c129b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Schema/SObjectField.cls @@ -0,0 +1,5 @@ +global class SObjectField { + global Schema.DescribeFieldResult getDescribe(Object options) { } + global Schema.DescribeFieldResult getDescribe() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Schema/SObjectType.cls b/.sfdx/tools/246/StandardApexLibrary/Schema/SObjectType.cls new file mode 100644 index 0000000..9eab107 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Schema/SObjectType.cls @@ -0,0 +1,8 @@ +global class SObjectType { + global Schema.DescribeSObjectResult getDescribe(Object options) { } + global Schema.DescribeSObjectResult getDescribe() { } + global SObject newSObject(Id recordTypeId, Boolean loadDefaultValues) { } + global SObject newSObject(Id id) { } + global SObject newSObject() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Schema/SoapType.cls b/.sfdx/tools/246/StandardApexLibrary/Schema/SoapType.cls new file mode 100644 index 0000000..bbc3e37 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Schema/SoapType.cls @@ -0,0 +1,1308 @@ +global enum SoapType { +ABSTRACT_COMPONENT_INSTANCE, +ABSTRACT_ITEM_INSTANCE, +ABSTRACT_ITEM_INSTANCE_PROPERTY, +ABSTRACT_METADATA_VALUE_WITH_EXTENSIONS, +ABSTRACT_PLACEHOLDER_METADATA, +ACCESS_CONTROL_POLICY, +ACCESS_MAPPING, +ACCOUNT_CRITERIA_BASED_SHARING_RULE, +ACCOUNT_FORECAST_FORMULA, +ACCOUNT_FORECAST_SETTINGS, +ACCOUNT_INSIGHTS_SETTINGS, +ACCOUNT_INTELLIGENCE_SETTINGS, +ACCOUNT_OWNER_SHARING_RULE, +ACCOUNT_RELATIONSHIP_SHARE_RULE, +ACCOUNT_SETTINGS, +ACCOUNT_SHARING_RULES, +ACCOUNT_SHARING_RULE_SETTINGS, +ACCOUNT_TERRITORY_SHARING_RULE, +ACCOUNT_TERRITORY_SHARING_RULES, +ACCT_MGR_TARGET_SETTINGS, +ACTIONS_SETTINGS, +ACTION_LINK_GROUP_TEMPLATE, +ACTION_LINK_TEMPLATE, +ACTION_OVERRIDE, +ACTION_PLAN_TEMPLATE, +ACTION_PLAN_TEMPLATE_ITEM, +ACTION_PLAN_TEMPLATE_ITEM_VALUE, +ACTIVITIES_SETTINGS, +ADDRESS, +ADDRESS_SETTINGS, +ADD_ON_DEFINITION, +ADJUSTMENTS_SETTINGS, +AGENT_CONFIG_ASSIGNMENTS, +AGENT_CONFIG_BUTTONS, +AGENT_CONFIG_PROFILE_ASSIGNMENTS, +AGENT_CONFIG_SKILLS, +AGENT_CONFIG_USER_ASSIGNMENTS, +ANALYSIS_CONFIGURATION, +ANALYTICS_CLOUD_COMPONENT_LAYOUT_ITEM, +ANALYTIC_SNAPSHOT, +ANALYTIC_SNAPSHOT_MAPPING, +ANDROID_PUSH_APPLICATION_SETUP, +ANIMATION_RULE, +ANYTYPE, +APEXCODECOVERAGE_COVERAGE, +APEX_CLASS, +APEX_COMPONENT, +APEX_EMAIL_NOTIFICATION, +APEX_EMAIL_NOTIFICATIONS, +APEX_PAGE, +APEX_SETTINGS, +APEX_TEST_SUITE, +APEX_TRIGGER, +APPLE_DOMAIN_VERIFICATION, +APPLE_PUSH_APPLICATION_SETUP, +APPLICATION, +APPLICATIONS, +APPLICATION_RECORD_TYPE_CONFIG, +APPOINTMENT_SCHEDULING_POLICY, +APPROVAL_ACTION, +APPROVAL_ENTRY_CRITERIA, +APPROVAL_PAGE_FIELD, +APPROVAL_PROCESS, +APPROVAL_STEP, +APPROVAL_STEP_APPROVER, +APPROVAL_STEP_REJECT_BEHAVIOR, +APPROVAL_SUBMITTER, +APPROVER, +APP_ACTION_OVERRIDE, +APP_ANALYTICS_SETTINGS, +APP_BRAND, +APP_CAPABILITY_CONFIG, +APP_COMPONENT_LIST, +APP_EXPERIENCE_SETTINGS, +APP_MENU, +APP_MENU_ITEM, +APP_NOTIFICATION_TYPE, +APP_PREFERENCES, +APP_PROFILE_ACTION_OVERRIDE, +APP_SETTINGS, +APP_WORKSPACE_CONFIG, +ARCHIVE_SETTINGS, +ARRAY, +ARTICLE_TYPE_CHANNEL_DISPLAY, +ARTICLE_TYPE_TEMPLATE, +ASSIGNMENT_RULE, +ASSIGNMENT_RULES, +ASSISTANT_CONTEXT_ITEM, +ASSISTANT_DEFINITION, +ASSISTANT_DEFINITION_PROFILE, +ASSISTANT_RECOMMENDATION_TYPE, +ASSISTANT_SKILL, +ASSISTANT_SKILL_INTENT, +ASSISTANT_SKILL_QUICK_ACTION, +ASSISTANT_SKILL_QUICK_ACTION_PARAM, +ASSISTANT_SKILL_SOBJECT_ACTION, +ASSISTANT_SKILL_SOBJECT_PARAM, +ASSISTANT_VERSION, +ASSISTANT_VERSION_ACTION, +ATTACHMENT, +AUDIENCE, +AUDIENCE_CONTACT_POINT, +AUDIENCE_CRITERIA, +AUDIENCE_CRITERIA_VALUE, +AUDIENCE_CRITERION, +AURA_COMPONENT, +AURA_DEFINITION, +AURA_DEFINITIONS, +AURA_DEFINITION_BUNDLE, +AUTH_PROVIDER, +AUTOMATED_CONTACTS_SETTINGS, +AUTO_RESPONSE_RULE, +AUTO_RESPONSE_RULES, +A_I_APPLICATION, +A_I_APPLICATION_CONFIG, +A_I_ASSISTANT_TEMPLATE, +A_I_DATA_DEFINITION, +A_I_FACTOR_COMPONENT, +A_I_FILTER, +A_I_FILTER_GROUP, +A_I_FILTER_VALUE, +A_I_LIVE_METRIC_DEFINITION, +A_I_MANAGED_FIELD, +A_I_MODEL, +A_I_MODEL_DEFINITION, +A_I_MODEL_FACTOR, +A_I_MODEL_GRAPH, +A_I_MODEL_METRIC, +A_I_PREDICTION_DEFINITION, +A_I_PREDICTION_EXPRESSION, +A_I_PREDICTION_FIELD, +A_I_PREDICTION_TARGET, +A_I_REPLY_RECOMMENDATIONS_SETTINGS, +BASE64, +BASE64BINARY, +BASE_CONVERSATION_VARIABLE, +BASE_ENTITY_RULE, +BASE_ENTITY_RULES, +BASE_FIELD_ASSIGNMENT, +BASE_GLOBAL_VALUE_SET, +BASE_LIVE_AGENT_METADATA, +BASE_NETWORK_PARENTED_METADATA, +BASE_PERMISSION_METADATA, +BASE_PUSH_SETTINGS_METADATA, +BASE_SHARING_RULE, +BASE_TRANSLATION_METADATA, +BASE_VALUE_SET, +BASE_VALUE_TRANSLATION, +BASE_VISUALFORCE_METADATA, +BATCH_CALC_JOB_ABSTRACT_METADATA_VALUE, +BATCH_CALC_JOB_AGGREGATE, +BATCH_CALC_JOB_AGGREGATE_FIELD, +BATCH_CALC_JOB_AGGREGATE_KEY, +BATCH_CALC_JOB_DATASOURCE, +BATCH_CALC_JOB_DATASOURCE_FIELD, +BATCH_CALC_JOB_DEFINITION, +BATCH_CALC_JOB_FILTER, +BATCH_CALC_JOB_FILTER_CRITERIA, +BATCH_CALC_JOB_JOIN_KEY, +BATCH_CALC_JOB_JOIN_RESULT_FIELD, +BATCH_CALC_JOB_PARAMETER, +BATCH_CALC_JOB_PROCESS_TYPE, +BATCH_CALC_JOB_SOURCE_JOIN, +BATCH_CALC_JOB_TRANSFORM, +BATCH_CALC_JOB_TRANSFORM_ADDED_FIELD, +BATCH_CALC_JOB_TRANSFORM_DROPPED_FIELD, +BATCH_CALC_JOB_UNION, +BATCH_CALC_JOB_UNION_SOURCE, +BATCH_CALC_JOB_VERSION, +BATCH_CALC_JOB_WRITEBACK_MAPPING, +BATCH_CALC_JOB_WRITEBACK_OBJECT, +BATCH_DATA_SOURCE, +BATCH_DATA_SRC_FILTER_CRITERIA, +BATCH_PROCESS_JOB_DEFINITION, +BENEFIT_ACTION, +BLACKLISTED_CONSUMER, +BLOCKCHAIN_SETTINGS, +BOOLEAN, +BOT, +BOT_DIALOG, +BOT_DIALOG_GROUP, +BOT_INVOCATION, +BOT_INVOCATION_MAPPING, +BOT_MESSAGE, +BOT_NAVIGATION, +BOT_NAVIGATION_LINK, +BOT_QUICK_REPLY_OPTION, +BOT_SETTINGS, +BOT_STEP, +BOT_STEP_CONDITION, +BOT_VARIABLE_OPERAND, +BOT_VARIABLE_OPERATION, +BOT_VERSION, +BRANCH_MANAGEMENT_SETTINGS, +BRANDING, +BRANDING_SET, +BRANDING_SET_PROPERTY, +BRANDING_VALUE, +BUSINESS_HOURS_ENTRY, +BUSINESS_HOURS_SETTINGS, +BUSINESS_PROCESS, +BUSINESS_PROCESS_DEFINITION, +BUSINESS_PROCESS_FEEDBACK, +BUSINESS_PROCESS_GROUP, +CALL_CENTER, +CALL_CENTER_ITEM, +CALL_CENTER_SECTION, +CALL_COACHING_MEDIA_PROVIDER, +CAMPAIGN_CRITERIA_BASED_SHARING_RULE, +CAMPAIGN_INFLUENCE_MODEL, +CAMPAIGN_OWNER_SHARING_RULE, +CAMPAIGN_SETTINGS, +CAMPAIGN_SHARING_RULES, +CANVAS_METADATA, +CAPABILITIES, +CARE_PROVIDER_SEARCH_CONFIG, +CARE_REQUEST_CONFIGURATION, +CARE_REQUEST_RECORDS, +CARE_SYSTEM_FIELD_MAPPING, +CASE_CLASSIFICATION_SETTINGS, +CASE_CRITERIA_BASED_SHARING_RULE, +CASE_OWNER_SHARING_RULE, +CASE_SETTINGS, +CASE_SHARING_RULES, +CASE_SUBJECT_PARTICLE, +CASE_TEAM, +CASE_TEAM_ROLE, +CERTIFICATE, +CHANGE_EVENT_HEADER, +CHANNEL_LAYOUT, +CHANNEL_LAYOUT_ITEM, +CHANNEL_OBJECT_LINKING_RULE, +CHART_SUMMARY, +CHATTER_ANSWERS_REPUTATION_LEVEL, +CHATTER_ANSWERS_SETTINGS, +CHATTER_EMAILS_M_D_SETTINGS, +CHATTER_EXTENSION, +CHATTER_MOBILE_SETTINGS, +CHATTER_SETTINGS, +CLEAN_DATA_SERVICE, +CLEAN_RULE, +CLOUD_SERVICE_PROVIDER, +CLOUD_SERVICE_PROVIDER_API, +CODE_BUNDLE, +COMMUNITIES_SETTINGS, +COMMUNITY, +COMMUNITY_A_I_MODEL_MAPPING, +COMMUNITY_CUSTOM_THEME_LAYOUT_TYPE, +COMMUNITY_ROLES, +COMMUNITY_TEMPLATE_BUNDLE_INFO, +COMMUNITY_TEMPLATE_DEFINITION, +COMMUNITY_TEMPLATE_PAGE_SETTING, +COMMUNITY_THEME_BUNDLE_INFO, +COMMUNITY_THEME_DEFINITION, +COMMUNITY_THEME_ROUTE_OVERRIDE, +COMMUNITY_THEME_SETTING, +COMPACT_LAYOUT, +COMPANY_SETTINGS, +COMPONENT_INSTANCE, +COMPONENT_INSTANCE_PROPERTY, +COMPONENT_INSTANCE_PROPERTY_LIST, +COMPONENT_INSTANCE_PROPERTY_LIST_ITEM, +CONNECTED_APP, +CONNECTED_APP_ATTRIBUTE, +CONNECTED_APP_CANVAS_CONFIG, +CONNECTED_APP_IP_RANGE, +CONNECTED_APP_MOBILE_DETAIL_CONFIG, +CONNECTED_APP_OAUTH_ASSET_TOKEN, +CONNECTED_APP_OAUTH_CONFIG, +CONNECTED_APP_OAUTH_ID_TOKEN, +CONNECTED_APP_OAUTH_POLICY, +CONNECTED_APP_SAML_CONFIG, +CONNECTED_APP_SESSION_POLICY, +CONNECTED_APP_SETTINGS, +CONNECTIVITY_ATTRIBUTES_METADATA, +CONNECTIVITY_DEV_CONFIG_METADATA, +CONSOLE_COMPONENT, +CONTACT_CRITERIA_BASED_SHARING_RULE, +CONTACT_OWNER_SHARING_RULE, +CONTACT_SHARING_RULES, +CONTAINER, +CONTENT_ASSET, +CONTENT_ASSET_LINK, +CONTENT_ASSET_RELATIONSHIPS, +CONTENT_ASSET_VERSION, +CONTENT_ASSET_VERSIONS, +CONTENT_SETTINGS, +CONTRACT_SETTINGS, +CONVERSATIONAL_INTELLIGENCE_SETTINGS, +CONVERSATION_CONTEXT_VARIABLE, +CONVERSATION_CONTEXT_VARIABLE_MAPPING, +CONVERSATION_DEFINITION_NLP_PROVIDER, +CONVERSATION_MESSAGE_DEFINITION, +CONVERSATION_MESSAGE_LAYOUT, +CONVERSATION_MESSAGE_LAYOUT_ITEM, +CONVERSATION_MESSAGE_LAYOUT_OBJECT_VALUE, +CONVERSATION_MESSAGE_LAYOUT_PRIMITIVE_VALUE, +CONVERSATION_MESSAGE_LAYOUT_VALUE, +CONVERSATION_RECORD_LOOKUP, +CONVERSATION_RECORD_LOOKUP_CONDITION, +CONVERSATION_RECORD_LOOKUP_FIELD, +CONVERSATION_SYSTEM_DIALOG, +CONVERSATION_SYSTEM_MESSAGE, +CONVERSATION_SYSTEM_MESSAGE_MAPPING, +CONVERSATION_VARIABLE, +CONVERSATION_VENDOR_FIELD_DEF, +CONVERSATION_VENDOR_INFO, +COUNTRIES_AND_STATES, +COUNTRY, +CRITERIA_BASED_SHARING_RULE, +CSP_TRUSTED_SITE, +CURRENCY_SETTINGS, +CUSTOMER_DATA_PLATFORM_SETTINGS, +CUSTOM_APPLICATION, +CUSTOM_APPLICATION_COMPONENT, +CUSTOM_APPLICATION_COMPONENTS, +CUSTOM_APPLICATION_TRANSLATION, +CUSTOM_CONSOLE_COMPONENTS, +CUSTOM_DATA_TYPE, +CUSTOM_DATA_TYPE_COMPONENT, +CUSTOM_DATA_TYPE_COMPONENT_TRANSLATION, +CUSTOM_DATA_TYPE_TRANSLATION, +CUSTOM_FEED_FILTER, +CUSTOM_FIELD, +CUSTOM_FIELD_TRANSLATION, +CUSTOM_HELP_MENU_ITEM, +CUSTOM_HELP_MENU_SECTION, +CUSTOM_HTTP_HEADER, +CUSTOM_INDEX, +CUSTOM_LABEL, +CUSTOM_LABELS, +CUSTOM_LABEL_TRANSLATION, +CUSTOM_METADATA, +CUSTOM_METADATA_VALUE, +CUSTOM_NOTIFICATION_TYPE, +CUSTOM_OBJECT, +CUSTOM_OBJECT_CRITERIA_BASED_SHARING_RULE, +CUSTOM_OBJECT_OWNER_SHARING_RULE, +CUSTOM_OBJECT_SHARING_RULES, +CUSTOM_OBJECT_TRANSLATION, +CUSTOM_PAGE_WEB_LINK, +CUSTOM_PAGE_WEB_LINK_TRANSLATION, +CUSTOM_PERMISSION, +CUSTOM_PERMISSION_DEPENDENCY_REQUIRED, +CUSTOM_SHORTCUT, +CUSTOM_SITE, +CUSTOM_TAB, +CUSTOM_TAB_TRANSLATION, +CUSTOM_VALUE, +C_M_S_CONNECT_ASSET, +C_M_S_CONNECT_LANGUAGE, +C_M_S_CONNECT_PERSONALIZATION, +C_M_S_CONNECT_RESOURCE_DEFINITION, +C_M_S_CONNECT_RESOURCE_TYPE, +C_M_S_CONNECT_SOURCE, +DASHBOARD, +DASHBOARD_COMPONENT, +DASHBOARD_COMPONENT_COLUMN, +DASHBOARD_COMPONENT_GROUPING_SORT, +DASHBOARD_COMPONENT_GROUPING_SORT_PROPERTIES, +DASHBOARD_COMPONENT_SECTION, +DASHBOARD_COMPONENT_SORT_INFO, +DASHBOARD_FILTER, +DASHBOARD_FILTER_COLUMN, +DASHBOARD_FILTER_OPTION, +DASHBOARD_FLEX_TABLE_COMPONENT_PROPERTIES, +DASHBOARD_FOLDER, +DASHBOARD_GRID_COMPONENT, +DASHBOARD_GRID_LAYOUT, +DASHBOARD_MOBILE_SETTINGS, +DASHBOARD_TABLE_COLUMN, +DATA_CATEGORY, +DATA_CATEGORY_GROUP, +DATA_CLASSIFICATION, +DATA_CONNECTOR_M_C, +DATA_CONNECTOR_S3, +DATA_CONNECTOR_SFTP, +DATA_CONNECTOR_UPLOAD, +DATA_CON_SUP_DATA_SET_BUNDLE, +DATA_MODEL_TAXONOMY, +DATA_OBJECT_CATEGORY, +DATA_PIPELINE, +DATA_PLATFORM, +DATA_PLATFORM_DATA_SET, +DATA_PLAT_DATA_SET_BUNDLE, +DATA_SOURCE, +DATA_SOURCE_OBJECT, +DATA_SOURCE_SETTINGS, +DATA_SOURCE_TENANT, +DATA_STREAM_DEFINITION, +DATE, +DATETIME, +DECIMAL, +DECISION_TABLE, +DECISION_TABLE_DATASET_LINK, +DECISION_TABLE_PARAMETER, +DECISION_TBL_DATASET_PARAMETER, +DEFAULT_SHORTCUT, +DELEGATE_GROUP, +DELETED_MEMBERS, +DEPLOYMENT_SETTINGS, +DEPLOY_DETAILS, +DEV_HUB_SETTINGS, +DISCOVERY_A_I_MODEL, +DISCOVERY_CUSTOM_PRESCRIBABLE_FIELD_DEFINITION, +DISCOVERY_DEPLOYED_MODEL, +DISCOVERY_FIELD_MAP, +DISCOVERY_FILTER, +DISCOVERY_FILTER_VALUE, +DISCOVERY_GOAL, +DISCOVERY_GOAL_OUTCOME, +DISCOVERY_MODEL_FIELD, +DISCOVERY_PRESCRIBABLE_FIELD, +DISCOVERY_SETTINGS, +DIVISION, +DOCUMENT, +DOCUMENT_CHECKLIST_SETTINGS, +DOCUMENT_FOLDER, +DOCUMENT_TYPE, +DOMAIN_PROVISION, +DOMAIN_WHITELIST, +DOUBLE, +DPE_TO_RECIPE_TRANSLATE_ABSTRACT_METADATA_VALUE, +DUPLICATE_RULE, +DUPLICATE_RULE_FILTER, +DUPLICATE_RULE_FILTER_ITEM, +DUPLICATE_RULE_MATCH_RULE, +DURABLE_ID_LIST, +DYNAMIC_TRIGGER, +ECLAIR_GEO_DATA, +ECLAIR_MAP, +EDITION_DEFINITION, +EINSTEIN_ASSISTANT_SETTINGS, +EMAIL_ADMINISTRATION_SETTINGS, +EMAIL_FOLDER, +EMAIL_INTEGRATION_SETTINGS, +EMAIL_SERVICES_ADDRESS, +EMAIL_SERVICES_FUNCTION, +EMAIL_TEMPLATE, +EMAIL_TEMPLATE_FOLDER, +EMAIL_TEMPLATE_SETTINGS, +EMAIL_TO_CASE_ROUTING_ADDRESS, +EMAIL_TO_CASE_SETTINGS, +EMBEDDED_SERVICE_APPOINTMENT_SETTINGS, +EMBEDDED_SERVICE_BRANDING, +EMBEDDED_SERVICE_CONFIG, +EMBEDDED_SERVICE_CUSTOMIZATION, +EMBEDDED_SERVICE_CUSTOM_COMPONENT, +EMBEDDED_SERVICE_CUSTOM_LABEL, +EMBEDDED_SERVICE_FIELD_SERVICE, +EMBEDDED_SERVICE_FLOW, +EMBEDDED_SERVICE_FLOW_CONFIG, +EMBEDDED_SERVICE_LAYOUT, +EMBEDDED_SERVICE_LAYOUT_RULE, +EMBEDDED_SERVICE_LIVE_AGENT, +EMBEDDED_SERVICE_MENU_ITEM, +EMBEDDED_SERVICE_MENU_SETTINGS, +EMBEDDED_SERVICE_MESSAGING_CHANNEL, +EMBEDDED_SERVICE_MOBILE_PLATFORM, +EMBEDDED_SERVICE_QUICK_ACTION, +EMBEDDED_SERVICE_RESOURCE, +EMPLOYEE_USER_SETTINGS, +ENCRYPTION_KEY_SETTINGS, +ENHANCED_NOTES_SETTINGS, +ENRICHED_FIELD, +ENTITLEMENT_PROCESS, +ENTITLEMENT_PROCESS_MILESTONE_ITEM, +ENTITLEMENT_PROCESS_MILESTONE_TIME_TRIGGER, +ENTITLEMENT_SETTINGS, +ENTITLEMENT_TEMPLATE, +ENTITY_ARCHIVING_SETUP, +ENTITY_IMPLEMENTS, +ESCALATION_ACTION, +ESCALATION_RULE, +ESCALATION_RULES, +ESSENTIALS_SETTINGS, +ESSENTIALS_TRIAL_ORG_SETTINGS, +EVENT_DELIVERY, +EVENT_PARAMETER_MAP, +EVENT_SETTINGS, +EVENT_SUBSCRIPTION, +EVENT_TYPE, +EVENT_TYPE_PARAMETER, +EXECUTION_OVERLAY_APEX_RESULT, +EXECUTION_OVERLAY_HEAPDUMP, +EXECUTION_OVERLAY_SOQL_RESULT, +EXPERIENCE_BUNDLE, +EXPERIENCE_BUNDLE_SETTINGS, +EXPERIENCE_RESOURCE, +EXPERIENCE_RESOURCES, +EXTERNAL_A_I_MODEL, +EXTERNAL_DATA_CONNECTOR, +EXTERNAL_DATA_SOURCE, +EXTERNAL_DATA_TRAN_FIELD, +EXTERNAL_DATA_TRAN_OBJECT, +EXTERNAL_SERVICES_SETTINGS, +EXTERNAL_SERVICE_OPERATION, +EXTERNAL_SERVICE_REGISTRATION, +E_A_C_SETTINGS, +FEATURE_PARAMETER_BOOLEAN, +FEATURE_PARAMETER_DATE, +FEATURE_PARAMETER_INTEGER, +FEED_FILTER_CRITERION, +FEED_ITEM_SETTINGS, +FEED_LAYOUT, +FEED_LAYOUT_COMPONENT, +FEED_LAYOUT_FILTER, +FIELDS_INFO, +FIELD_CLASSIFICATION_SETTING, +FIELD_CRITERIA, +FIELD_CRITERION, +FIELD_IMPLEMENTS, +FIELD_INSTANCE, +FIELD_INSTANCE_PROPERTY, +FIELD_MAPPING, +FIELD_MAPPING_FIELD, +FIELD_MAPPING_ROW, +FIELD_OVERRIDE, +FIELD_SERVICE_MOBILE_EXTENSION, +FIELD_SERVICE_SETTINGS, +FIELD_SET, +FIELD_SET_ITEM, +FIELD_SET_TRANSLATION, +FIELD_SOURCE_TARGET_MAP, +FIELD_SRC_TRGT_RELATIONSHIP, +FIELD_VALUE, +FILES_CONNECT_SETTINGS, +FILE_TYPE_DISPOSITION_ASSIGNMENT_BEAN, +FILE_UPLOAD_AND_DOWNLOAD_SECURITY_SETTINGS, +FILTER_ITEM, +FIND_SIMILAR_OPP_FILTER, +FISCAL_YEAR_SETTINGS, +FLEXI_PAGE, +FLEXI_PAGE_REGION, +FLEXI_PAGE_TEMPLATE_INSTANCE, +FLOAT, +FLOW, +FLOW_ABSTRACT_PARAMETER, +FLOW_ABSTRACT_VALUE_ELEMENT, +FLOW_ACTION_CALL, +FLOW_ACTION_CALL_INPUT_PARAMETER, +FLOW_ACTION_CALL_OUTPUT_PARAMETER, +FLOW_APEX_PLUGIN_CALL, +FLOW_APEX_PLUGIN_CALL_INPUT_PARAMETER, +FLOW_APEX_PLUGIN_CALL_OUTPUT_PARAMETER, +FLOW_ASSIGNMENT, +FLOW_ASSIGNMENT_ITEM, +FLOW_BASE_ELEMENT, +FLOW_BASE_METADATA_VALUE, +FLOW_CATEGORY, +FLOW_CATEGORY_ITEM, +FLOW_CATEGORY_ITEMS, +FLOW_CHOICE, +FLOW_CHOICE_TRANSLATION, +FLOW_CHOICE_USER_INPUT, +FLOW_CHOICE_USER_INPUT_TRANSLATION, +FLOW_COLLECTION_PROCESSOR, +FLOW_COLLECTION_SORT_OPTION, +FLOW_CONDITION, +FLOW_CONNECTOR, +FLOW_CONSTANT, +FLOW_DATA_TYPE_MAPPING, +FLOW_DECISION, +FLOW_DEFINITION, +FLOW_DEFINITION_TRANSLATION, +FLOW_DYNAMIC_CHOICE_SET, +FLOW_ELEMENT, +FLOW_ELEMENT_REFERENCE_OR_VALUE, +FLOW_ELEMENT_SUBTYPE_DEFINITION, +FLOW_FORMULA, +FLOW_INPUT_FIELD_ASSIGNMENT, +FLOW_INPUT_VALIDATION_RULE, +FLOW_INPUT_VALIDATION_RULE_TRANSLATION, +FLOW_LOOP, +FLOW_METADATA_VALUE, +FLOW_NODE, +FLOW_OUTPUT_FIELD_ASSIGNMENT, +FLOW_RECORD_CREATE, +FLOW_RECORD_DELETE, +FLOW_RECORD_FILTER, +FLOW_RECORD_LOOKUP, +FLOW_RECORD_UPDATE, +FLOW_RULE, +FLOW_SCHEDULE, +FLOW_SCHEDULED_PATH, +FLOW_SCREEN, +FLOW_SCREEN_FIELD, +FLOW_SCREEN_FIELD_INPUT_PARAMETER, +FLOW_SCREEN_FIELD_OUTPUT_PARAMETER, +FLOW_SCREEN_FIELD_TRANSLATION, +FLOW_SCREEN_RULE, +FLOW_SCREEN_RULE_ACTION, +FLOW_SCREEN_TRANSLATION, +FLOW_SETTINGS, +FLOW_STAGE, +FLOW_STAGE_TRANSLATION, +FLOW_START, +FLOW_STEP, +FLOW_STEPPED_STAGE, +FLOW_STEPPED_STAGE_ITEM, +FLOW_STEPPED_STAGE_ITEM_INPUT_PARAMETER, +FLOW_SUBFLOW, +FLOW_SUBFLOW_INPUT_ASSIGNMENT, +FLOW_SUBFLOW_OUTPUT_ASSIGNMENT, +FLOW_TEXT_TEMPLATE, +FLOW_TEXT_TEMPLATE_TRANSLATION, +FLOW_TRANSLATION, +FLOW_TRIGGER_TYPE_DEFINITION, +FLOW_VARIABLE, +FLOW_VISIBILITY_RULE, +FLOW_WAIT, +FLOW_WAIT_EVENT, +FLOW_WAIT_EVENT_INPUT_PARAMETER, +FLOW_WAIT_EVENT_OUTPUT_PARAMETER, +FOLDER, +FOLDER_AWARE_METADATA, +FOLDER_SHARE, +FORECASTING_CATEGORY_MAPPING, +FORECASTING_DISPLAYED_FAMILY_SETTINGS, +FORECASTING_OBJECT_LIST_LABEL_MAPPING, +FORECASTING_OBJECT_LIST_SELECTED_SETTINGS, +FORECASTING_OBJECT_LIST_SETTINGS, +FORECASTING_OBJECT_LIST_UNSELECTED_SETTINGS, +FORECASTING_SETTINGS, +FORECASTING_SOURCE_DEFINITION, +FORECASTING_TYPE_OBJECT_LIST_SETTINGS, +FORECASTING_TYPE_SETTINGS, +FORECASTING_TYPE_SOURCE, +FORECAST_RANGE_SETTINGS, +FORM, +FORMULA_SETTINGS, +FORM_COLUMN, +FORM_ITEM, +FORM_SECTION, +FTEST_COMPLEX_TYPE, +FTEST_FIRST_TOP_LEVEL, +FTEST_GENERATED_ENTITY_COMPLEX_VALUE_TYPE, +FTEST_GENERATED_ENTITY_COMPLEX_VALUE_TYPE2, +FTEST_SECOND_TOP_LEVEL, +FTEST_TOP_LEVEL_WITH_CRUD, +FUNCTION_REFERENCE, +F_TEST_FIELD_MAPPING_MD, +F_TEST_TOOLING_F_L_U, +GATEWAY_PROVIDER_PAYMENT_METHOD_TYPE, +GLOBAL_PICKLIST, +GLOBAL_PICKLIST_TRANSLATION, +GLOBAL_PICKLIST_VALUE, +GLOBAL_QUICK_ACTION_TRANSLATION, +GLOBAL_VALUE_SET, +GLOBAL_VALUE_SET_TRANSLATION, +GOOGLE_APPS_SETTINGS, +GROUP, +HIGH_VELOCITY_SALES_SETTINGS, +HISTORY_RETENTION_POLICY, +HOLIDAY, +HOME_PAGE_COMPONENT, +HOME_PAGE_LAYOUT, +ICON, +ID, +IDEAS_SETTINGS, +IDEA_REPUTATION_LEVEL, +IFRAME_WHITE_LIST_URL, +IFRAME_WHITE_LIST_URL_SETTINGS, +IF_EXPRESSION, +INBOUND_CERTIFICATE, +INBOUND_NETWORK_CONNECTION, +INBOUND_NETWORK_CONN_PROPERTY, +INCLUDED_FEATURE, +INCLUDED_PLATFORM_LICENSE_DEFINITION, +INCLUDED_USER_LICENSE_DEFINITION, +INDEX, +INDEX_FIELD, +INDUSTRIES_MANUFACTURING_SETTINGS, +INDUSTRIES_SETTINGS, +INSIGHTS_EXTERNAL_DATA_PART_METADATA, +INSTALLED_PACKAGE, +INTEGER, +INTEGRATION_HUB_SETTINGS, +INTEGRATION_HUB_SETTINGS_TYPE, +INTERNAL_DATA_CONNECTOR, +INTERNAL_ORGANIZATION, +INVENTORY_SETTINGS, +INVOCABLE_ACTION_SETTINGS, +IO_T_SETTINGS, +IP_RANGE, +ITEM_INSTANCE, +JSON, +JUNCTION_ID_LIST_NAMES, +KEYBOARD_SHORTCUTS, +KEYWORD, +KEYWORD_LIST, +KNOWLEDGE_ANSWER_SETTINGS, +KNOWLEDGE_CASE_FIELD, +KNOWLEDGE_CASE_FIELDS_SETTINGS, +KNOWLEDGE_CASE_SETTINGS, +KNOWLEDGE_COMMUNITIES_SETTINGS, +KNOWLEDGE_LANGUAGE, +KNOWLEDGE_LANGUAGE_SETTINGS, +KNOWLEDGE_SETTINGS, +KNOWLEDGE_SITES_SETTINGS, +KNOWLEDGE_SUGGESTED_ARTICLES_SETTINGS, +KNOWLEDGE_WORK_ORDER_FIELD, +KNOWLEDGE_WORK_ORDER_FIELDS_SETTINGS, +KNOWLEDGE_WORK_ORDER_LINE_ITEM_FIELD, +KNOWLEDGE_WORK_ORDER_LINE_ITEM_FIELDS_SETTINGS, +LANGUAGE_SETTINGS, +LAYOUT, +LAYOUT_COLUMN, +LAYOUT_ITEM, +LAYOUT_SECTION, +LAYOUT_SECTION_TRANSLATION, +LAYOUT_TRANSLATION, +LEAD_CONFIG_SETTINGS, +LEAD_CONVERT_SETTINGS, +LEAD_CRITERIA_BASED_SHARING_RULE, +LEAD_OWNER_SHARING_RULE, +LEAD_SHARING_RULES, +LETTERHEAD, +LETTERHEAD_HEADER_FOOTER, +LETTERHEAD_LINE, +LICENSED_CUSTOM_PERMISSIONS, +LICENSE_DEFINITION, +LIGHTNING_BOLT, +LIGHTNING_BOLT_ABSTRACT, +LIGHTNING_BOLT_FEATURE, +LIGHTNING_BOLT_FEATURES, +LIGHTNING_BOLT_IMAGE, +LIGHTNING_BOLT_IMAGES, +LIGHTNING_BOLT_ITEM, +LIGHTNING_BOLT_ITEMS, +LIGHTNING_COMPONENT, +LIGHTNING_COMPONENT_BUNDLE, +LIGHTNING_EXPERIENCE_SETTINGS, +LIGHTNING_EXPERIENCE_THEME, +LIGHTNING_ONBOARDING_CONFIG, +LIST_PLACEMENT, +LIST_VIEW, +LIST_VIEW_FILTER, +LIVE_AGENT_CONFIG, +LIVE_AGENT_SETTINGS, +LIVE_CHAT_AGENT_CONFIG, +LIVE_CHAT_BUTTON, +LIVE_CHAT_BUTTON_DEPLOYMENTS, +LIVE_CHAT_BUTTON_SKILLS, +LIVE_CHAT_DEPLOYMENT, +LIVE_CHAT_DEPLOYMENT_DOMAIN_WHITELIST, +LIVE_CHAT_SENSITIVE_DATA_RULE, +LIVE_MESSAGE_SETTINGS, +LOCALIZED_VALUE, +LOCAL_ML_DOMAIN, +LOCATION, +LOGIN_FLOW, +LONG, +LOOKUP_FILTER, +LOOKUP_FILTER_TRANSLATION, +LWC_RESOURCE, +LWC_RESOURCES, +MACRO_SETTINGS, +MANAGED_CONTENT_NODE_TYPE, +MANAGED_CONTENT_TYPE, +MANAGED_TOPIC, +MANAGED_TOPICS, +MAPS_AND_LOCATION_SETTINGS, +MAP_ENTRY, +MAP_EXPRESSION, +MARKETING_RESOURCE_TYPE, +MARKET_AUDIENCE_DEFINITION, +MARKET_AUDIENCE_FIELD, +MATCHING_RULE, +MATCHING_RULES, +MATCHING_RULE_ITEM, +METADATA, +METADATA_FOR_SETTINGS, +METADATA_VALUE, +METADATA_WITH_CONTENT, +METADATA_WITH_ONLY_HARDCODED_FILES, +MIGRATION_ALIAS, +MILESTONE_TYPE, +MINI_LAYOUT, +MKT_CALCULATED_INSIGHT_ATTRIBUTES, +MKT_CALCULATED_INSIGHT_FIELD_ATTRIBUTES, +MKT_CALCULATED_INSIGHT_OBJECT, +MKT_DATA_LAKE_ATTRIBUTES, +MKT_DATA_LAKE_FIELD_ATTRIBUTES, +MKT_DATA_LAKE_OBJECT, +MKT_DATA_MODEL_ATTRIBUTES, +MKT_DATA_MODEL_FIELD_ATTRIBUTES, +MKT_DATA_MODEL_OBJECT, +MKT_DATA_TRAN_FIELD, +MKT_DATA_TRAN_OBJECT, +ML_DOMAIN, +ML_INTENT, +ML_INTENT_UTTERANCE, +ML_RELATED_INTENT, +ML_SLOT, +ML_SLOT_CLASS, +ML_SLOT_CLASS_VALUE, +MOBILE_APPLICATION_DETAIL, +MOBILE_PUSH_NOTIFICATION_CREDENTIAL, +MOBILE_SECURITY_ASSIGNMENT, +MOBILE_SECURITY_POLICY, +MOBILE_SECURITY_POLICY_SET, +MOBILE_SETTINGS, +MODERATED_ENTITY_FIELD, +MODERATION_RULE, +MODULE, +MODULES, +MODULE_DEPENDENCIES, +MODULE_REF, +MODULE_REFS, +MUTING_PERMISSION_SET, +MY_DOMAIN_DISCOVERABLE_LOGIN, +MY_DOMAIN_SETTINGS, +M_L_DATA_DEFINITION, +M_L_FIELD, +M_L_FILTER, +M_L_FILTER_VALUE, +M_L_PREDICTION_DEFINITION, +M_L_RECOMMENDATION_DEFINITION, +NAMED_CREDENTIAL, +NAMED_FILTER, +NAMED_FILTER_TRANSLATION, +NAME_SETTINGS, +NAVIGATION_LINK_SET, +NAVIGATION_MENU, +NAVIGATION_MENU_ITEM, +NAVIGATION_MENU_ITEM_BRANDING, +NAVIGATION_SUB_MENU, +NETWORK, +NETWORK_ACCESS, +NETWORK_BRANDING, +NETWORK_MEMBER_GROUP, +NETWORK_PAGE_OVERRIDE, +NETWORK_TAB_SET, +NEXT_AUTOMATED_APPROVER, +NOTIFICATIONS_SETTINGS, +NOTIFICATION_CHANNELS, +NOTIFICATION_TYPE_CONFIG, +NOTIFICATION_TYPE_SETTINGS, +NO_ACCESS_FILTERABLE, +OAUTH_CUSTOM_SCOPE, +OAUTH_CUSTOM_SCOPE_APP, +OBJECT_CHILD_TRANSLATION, +OBJECT_HIERARCHY_RELATIONSHIP, +OBJECT_LINKING_SETTINGS, +OBJECT_MAPPING, +OBJECT_MAPPING_FIELD, +OBJECT_NAME_CASE_VALUE, +OBJECT_RELATIONSHIP, +OBJECT_SOURCE_TARGET_MAP, +OBJECT_USAGE, +OCR_SAMPLE_DOCUMENT, +OCR_SAMPLE_DOCUMENT_FIELD, +OCR_TARGET_OBJECT, +OCR_TARGET_OBJ_FIELD_MAPPING, +OCR_TEMPLATE, +OCR_TEMPLATE_SAMPLE_DOCUMENT, +OLD_SHARING_RULES, +OMNI_CHANNEL_SETTINGS, +OMNI_INTERACTION_CONFIG, +OPERATION_PARAMETERS, +OPPORTUNITY_CRITERIA_BASED_SHARING_RULE, +OPPORTUNITY_INSIGHTS_SETTINGS, +OPPORTUNITY_LIST_FIELDS_LABEL_MAPPING, +OPPORTUNITY_LIST_FIELDS_SELECTED_SETTINGS, +OPPORTUNITY_LIST_FIELDS_UNSELECTED_SETTINGS, +OPPORTUNITY_OWNER_SHARING_RULE, +OPPORTUNITY_SCORE_SETTINGS, +OPPORTUNITY_SETTINGS, +OPPORTUNITY_SHARING_RULES, +ORCHESTRATION, +ORCHESTRATION_CONTEXT, +ORCHESTRATION_CONTEXT_DATASET, +ORCHESTRATION_CONTEXT_EVENT, +ORDER_MANAGEMENT_SETTINGS, +ORDER_SETTINGS, +ORG_ENTITY_FEATURE_PAYLOAD, +ORG_FEATURE_PAYLOAD, +OUTBOUND_NETWORK_CONNECTION, +OUTBOUND_NETWORK_CONN_PROPERTY, +OVERRIDE_PRESET, +OWNER_SHARING_RULE, +PACKAGE, +PACKAGE2_VERSION_CODE_COVERAGE, +PACKAGE_BRANDING_SETTINGS, +PACKAGE_EXTENSION, +PACKAGE_ID_MAPPING, +PACKAGE_LOCALIZATION, +PACKAGE_TYPE_MEMBERS, +PACKAGE_UPLOAD_ERROR, +PACKAGE_UPLOAD_ERRORS, +PACKAGE_VERSION, +PACKAGING_GACK_EMAIL, +PAGES_TO_OPEN, +PARDOT_EINSTEIN_SETTINGS, +PARDOT_SETTINGS, +PARDOT_TENANT, +PARTICIPANT_ROLE, +PARTY_DATA_MODEL_SETTINGS, +PARTY_ID_MATCH_RULE_CRITERIA, +PARTY_MATCH_RULE, +PARTY_MATCH_RULE_CRITERIA, +PARTY_RECON_RULE, +PARTY_RECON_RULE_SEQ, +PASSWORD_POLICIES, +PATH_ASSISTANT, +PATH_ASSISTANT_SETTINGS, +PATH_ASSISTANT_STEP, +PAYMENT_GATEWAY_PROVIDER, +PERMISSION_SET, +PERMISSION_SET_APEX_CLASS_ACCESS, +PERMISSION_SET_APEX_PAGE_ACCESS, +PERMISSION_SET_APPLICATION_VISIBILITY, +PERMISSION_SET_CUSTOM_METADATA_TYPE_ACCESS, +PERMISSION_SET_CUSTOM_PERMISSIONS, +PERMISSION_SET_CUSTOM_SETTING_ACCESS, +PERMISSION_SET_EXTERNAL_DATA_SOURCE_ACCESS, +PERMISSION_SET_FIELD_PERMISSIONS, +PERMISSION_SET_FLOW_ACCESS, +PERMISSION_SET_GROUP, +PERMISSION_SET_LICENSE, +PERMISSION_SET_OBJECT_PERMISSIONS, +PERMISSION_SET_RECORD_TYPE_VISIBILITY, +PERMISSION_SET_TAB_SETTING, +PERMISSION_SET_USER_PERMISSION, +PERSONALIZATION_ACTIVITY, +PERSONALIZATION_TARGET_INFO, +PERSONALIZATION_TARGET_INFOS, +PERSONALIZATION_TARGET_SET, +PERSON_LIST_SETTINGS, +PICKLIST, +PICKLIST_SETTINGS, +PICKLIST_VALUE, +PICKLIST_VALUE_TRANSLATION, +PLATFORM_ACTION_LIST, +PLATFORM_ACTION_LIST_ITEM, +PLATFORM_CACHE_PARTITION, +PLATFORM_CACHE_PARTITION_TYPE, +PLATFORM_ENCRYPTION_SETTINGS, +PLATFORM_EVENT_CHANNEL, +PLATFORM_EVENT_CHANNEL_MEMBER, +PLATFORM_EVENT_CHANNEL_SELECTED_ENTITY, +PLATFORM_EVENT_ENRICHMENT_FIELD, +PLATFORM_EVENT_SUBSCRIBER_CONFIG, +PLATFORM_LICENSE_DEFINITION, +PORTAL, +PORTALS_SETTINGS, +PORTAL_DELEGABLE_PERMISSION_SET, +POST_TEMPLATE, +PREDICTION_BUILDER_SETTINGS, +PRESENCE_CONFIG_ASSIGNMENTS, +PRESENCE_CONFIG_PROFILE_ASSIGNMENTS, +PRESENCE_CONFIG_USER_ASSIGNMENTS, +PRESENCE_DECLINE_REASON, +PRESENCE_USER_CONFIG, +PRIMARY_TAB_COMPONENTS, +PRIVACY_SETTINGS, +PROCESS_APPROVER, +PROCESS_DEFINITION, +PROCESS_NODE, +PROCESS_PALETTE, +PROCESS_TRANSITION, +PROCESS_TYPE_DEFINITION, +PRODUCT_FAMILY_USAGE, +PRODUCT_SETTINGS, +PROFILE, +PROFILE_ACTION_OVERRIDE, +PROFILE_APEX_CLASS_ACCESS, +PROFILE_APEX_PAGE_ACCESS, +PROFILE_APPLICATION_VISIBILITY, +PROFILE_CATEGORY_GROUP_VISIBILITY, +PROFILE_CUSTOM_METADATA_TYPE_ACCESS, +PROFILE_CUSTOM_PERMISSIONS, +PROFILE_CUSTOM_SETTING_ACCESS, +PROFILE_EXTERNAL_DATA_SOURCE_ACCESS, +PROFILE_FIELD_LEVEL_SECURITY, +PROFILE_FLOW_ACCESS, +PROFILE_LAYOUT_ASSIGNMENT, +PROFILE_LOGIN_HOURS, +PROFILE_LOGIN_IP_RANGE, +PROFILE_MAPPING, +PROFILE_OBJECT_PERMISSIONS, +PROFILE_PASSWORD_POLICY, +PROFILE_RECORD_TYPE_VISIBILITY, +PROFILE_SEARCH_LAYOUTS, +PROFILE_SESSION_SETTING, +PROFILE_TAB_VISIBILITY, +PROFILE_USER_PERMISSION, +PROMPT, +PROMPT_TRANSLATION, +PROMPT_VERSION, +PROMPT_VERSION_TRANSLATION, +PUBLIC_GROUPS, +PUSH_BACK_DEFINITION, +PUSH_NOTIFICATION, +PUSH_NOTIFICATIONS, +QUEUE, +QUEUE_MEMBERS, +QUEUE_ROUTING_CONFIG, +QUEUE_ROUTING_CONFIG_SKILL, +QUEUE_SOBJECT, +QUICK_ACTION, +QUICK_ACTION_LAYOUT, +QUICK_ACTION_LAYOUT_COLUMN, +QUICK_ACTION_LAYOUT_ITEM, +QUICK_ACTION_LIST, +QUICK_ACTION_LIST_ITEM, +QUICK_ACTION_SEND_EMAIL_OPTIONS, +QUICK_ACTION_TRANSLATION, +QUICK_TEXT_SETTINGS, +QUOTAS_SETTINGS, +QUOTE_SETTINGS, +REAL_TIME_EVENT, +REAL_TIME_EVENT_SETTINGS, +RECOMMENDATION_AUDIENCE, +RECOMMENDATION_AUDIENCE_DETAIL, +RECOMMENDATION_BUILDER_SETTINGS, +RECOMMENDATION_CONDITION_VALUE, +RECOMMENDATION_DEFINITION, +RECOMMENDATION_DEFINITION_DETAIL, +RECOMMENDATION_LOAD_CONDITION, +RECOMMENDATION_STRATEGY, +RECORD_ACTION_DEFAULT_ITEM, +RECORD_ACTION_DEPLOYMENT, +RECORD_ACTION_DEPLOYMENT_CHANNEL, +RECORD_ACTION_DEPLOYMENT_CONTEXT, +RECORD_ACTION_RECOMMENDATION, +RECORD_ACTION_SELECTABLE_ITEM, +RECORD_ACTION_SETTING_TEMPLATE, +RECORD_PAGE_SETTINGS, +RECORD_TYPE, +RECORD_TYPES_SUPPORTED, +RECORD_TYPE_PICKLIST_VALUE, +RECORD_TYPE_TRANSLATION, +REDIRECT_WHITELIST_URL, +REF_MODEL_INSTALLED, +REGISTERED_EXTERNAL_SERVICE, +RELATED_CONTENT, +RELATED_CONTENT_ITEM, +RELATED_LIST, +RELATED_LISTS_INFO, +RELATED_LIST_ITEM, +RELATIONSHIP_REFERENCE_TO, +REMOTE_SITE_SETTING, +REPORT, +REPORT_AGGREGATE, +REPORT_AGGREGATE_REFERENCE, +REPORT_BLOCK_INFO, +REPORT_BUCKET_FIELD, +REPORT_BUCKET_FIELD_SOURCE_VALUE, +REPORT_BUCKET_FIELD_VALUE, +REPORT_CHART, +REPORT_CHART_COMPONENT_LAYOUT_ITEM, +REPORT_COLOR_RANGE, +REPORT_COLUMN, +REPORT_CROSS_FILTER, +REPORT_CUSTOM_DETAIL_FORMULA, +REPORT_DATA_CATEGORY_FILTER, +REPORT_FILTER, +REPORT_FILTER_ITEM, +REPORT_FOLDER, +REPORT_FORMATTING_RULE, +REPORT_FORMATTING_RULE_VALUE, +REPORT_GROUPING, +REPORT_HISTORICAL_SELECTOR, +REPORT_LAYOUT_SECTION, +REPORT_PARAM, +REPORT_TIME_FRAME_FILTER, +REPORT_TYPE, +REPORT_TYPE_COLUMN, +REPORT_TYPE_COLUMN_TRANSLATION, +REPORT_TYPE_SECTION_TRANSLATION, +REPORT_TYPE_TRANSLATION, +REPUTATION_BRANDING, +REPUTATION_LEVEL, +REPUTATION_LEVELS, +REPUTATION_LEVEL_DEFINITIONS, +REPUTATION_POINTS_RULE, +REPUTATION_POINTS_RULES, +RESTRICTION_RULE, +RETAIL_EXECUTION_SETTINGS, +ROLE, +ROLES, +ROLE_AND_SUBORDINATES, +ROLE_AND_SUBORDINATES_INTERNAL, +ROLE_OR_TERRITORY, +RULE_ENTRY, +SALES_AGREEMENT_SETTINGS, +SALES_WORK_QUEUE_SETTINGS, +SAML_SSO_CONFIG, +SCHEDULED_RECOMMENDATION, +SCHEDULED_RECOMMENDATION_DETAIL, +SCHEDULING_RULE, +SCHEDULING_RULE_PARAMETER, +SCHEMA_SETTINGS, +SCONTROL, +SCONTROL_TRANSLATION, +SCORE_CATEGORY, +SCORE_RANGE, +SCORE_RANGE_CLASSIFICATION, +SEARCH_LAYOUTS, +SEARCH_LAYOUT_BUTTON, +SEARCH_LAYOUT_BUTTONS_DISPLAYED, +SEARCH_LAYOUT_FIELD, +SEARCH_LAYOUT_FIELDS_DISPLAYED, +SECURITY_SETTINGS, +SERVICE_A_I_SETUP_DEFINITION, +SERVICE_A_I_SETUP_FIELD, +SERVICE_CHANNEL, +SERVICE_CHANNEL_FIELD_PRIORITY, +SERVICE_CHANNEL_STATUS, +SERVICE_CLOUD_CONSOLE_CONFIG, +SERVICE_CLOUD_VOICE_SETTINGS, +SERVICE_PRESENCE_STATUS, +SERVICE_SETUP_ASSISTANT_SETTINGS, +SESSION_LEVEL_POLICY, +SESSION_SETTINGS, +SETTING_ITEM, +SETTING_OVERRIDE, +SETTING_USAGE_DEFINITION, +SETTING_VALUE, +SHARED_TO, +SHARING_BASE_RULE, +SHARING_CRITERIA_RULE, +SHARING_GUEST_RULE, +SHARING_OWNER_RULE, +SHARING_REASON, +SHARING_REASON_TRANSLATION, +SHARING_RECALCULATION, +SHARING_RULES, +SHARING_SET, +SHARING_SETTINGS, +SHARING_TERRITORY_RULE, +SIDEBAR_COMPONENT, +SINGLE_RELATED_LIST_INFO, +SINGLE_SIGN_ON_SETTINGS, +SITE_DOT_COM, +SITE_IFRAME_WHITE_LIST_URL, +SITE_REDIRECT_MAPPING, +SITE_SETTINGS, +SITE_WEB_ADDRESS, +SKILL, +SKILL_ASSIGNMENTS, +SKILL_PROFILE_ASSIGNMENTS, +SKILL_USER_ASSIGNMENTS, +SOCIAL_CUSTOMER_SERVICE_SETTINGS, +SOCIAL_PROFILE_SETTINGS, +SOURCE_TRACKING_SETTINGS, +STANDARD_FIELD_TRANSLATION, +STANDARD_PERMISSION_SET, +STANDARD_VALUE, +STANDARD_VALUE_SET, +STANDARD_VALUE_SET_TRANSLATION, +STATE, +STATIC_RESOURCE, +STRATEGY_ACTION, +STRATEGY_ACTION_ARG, +STRATEGY_NODE_AI_LOAD, +STRATEGY_NODE_AI_SORT, +STRATEGY_NODE_BASE, +STRATEGY_NODE_EXCLUSIVE, +STRATEGY_NODE_FILTER, +STRATEGY_NODE_IF, +STRATEGY_NODE_INVOCABLE_ACTION, +STRATEGY_NODE_INVOCABLE_ACTION_ARG, +STRATEGY_NODE_MAP, +STRATEGY_NODE_RECOMMENDATION_LIMIT, +STRATEGY_NODE_RECOMMENDATION_LOAD, +STRATEGY_NODE_SORT, +STRATEGY_NODE_SORT_FIELD, +STRATEGY_NODE_UNION, +STRATEGY_NODE_UNION_BASE, +STREAMING_APP_DATA_CONNECTOR, +STRING, +STRING_LIST, +SUBSCRIBER_PACKAGE_CSP_TRUSTED_SITE, +SUBSCRIBER_PACKAGE_CSP_TRUSTED_SITES, +SUBSCRIBER_PACKAGE_DEPENDENCIES, +SUBSCRIBER_PACKAGE_DEPENDENCY, +SUBSCRIBER_PACKAGE_DESTINATION_PROFILE, +SUBSCRIBER_PACKAGE_INSTALL_ERROR, +SUBSCRIBER_PACKAGE_INSTALL_ERRORS, +SUBSCRIBER_PACKAGE_PROFILES, +SUBSCRIBER_PACKAGE_PROFILE_MAPPING, +SUBSCRIBER_PACKAGE_PROFILE_MAPPINGS, +SUBSCRIBER_PACKAGE_REMOTE_SITE_SETTING, +SUBSCRIBER_PACKAGE_REMOTE_SITE_SETTINGS, +SUBSCRIBER_PACKAGE_SOURCE_PROFILE, +SUBTAB_COMPONENTS, +SUMMARY_LAYOUT, +SUMMARY_LAYOUT_ITEM, +SUPERVISOR_AGENT_CONFIG_SKILLS, +SURVEY_SETTINGS, +SYMBOL_TABLE, +SYNONYM_DICTIONARY, +SYSTEM_NOTIFICATION_SETTINGS, +S_F_D_C_MOBILE_SETTINGS, +TAB_LIMIT_CONFIG, +TARGETS, +TERRITORY, +TERRITORY2, +TERRITORY2_MODEL, +TERRITORY2_RULE, +TERRITORY2_RULE_ASSOCIATION, +TERRITORY2_RULE_ITEM, +TERRITORY2_SETTINGS, +TERRITORY2_SETTINGS_OPPORTUNITY_FILTER, +TERRITORY2_TYPE, +TIME, +TIME_SHEET_TEMPLATE, +TIME_SHEET_TEMPLATE_ASSIGNMENT, +TOPICS_FOR_OBJECTS, +TOUCH_MOBILE_SETTINGS, +TRAILHEAD_SETTINGS, +TRANSACTION_SECURITY_ACTION, +TRANSACTION_SECURITY_NOTIFICATION, +TRANSACTION_SECURITY_POLICY, +TRANSLATIONS, +TRIAL_ORG_SETTINGS, +UI_FORMULA_CRITERION, +UI_FORMULA_RULE, +UI_PLUGIN, +USER, +USERS, +USER_ACTIVITY_TIMELINE_FILTER, +USER_AUTH_CERTIFICATE, +USER_CRITERIA, +USER_CRITERIA_BASED_SHARING_RULE, +USER_ENGAGEMENT_SETTINGS, +USER_LICENSE, +USER_LICENSE_DEFINITION, +USER_MANAGEMENT_SETTINGS, +USER_MAPPED, +USER_MEMBERSHIP_SHARING_RULE, +USER_PROVISIONING_CONFIG, +USER_SHARING_RULES, +U_I_OBJECT_RELATION_CONFIG, +U_I_OBJECT_RELATION_FIELD_CONFIG, +VALIDATION_RULE, +VALIDATION_RULE_TRANSLATION, +VALUE_SET, +VALUE_SETTINGS, +VALUE_SET_TRANSLATION, +VALUE_SET_VALUES_DEFINITION, +VALUE_TRANSLATION, +VISUALIZATION_PLUGIN, +VISUALIZATION_RESOURCE, +VISUALIZATION_TYPE, +VOICE_SETTINGS, +WAVE_APPLICATION, +WAVE_DASHBOARD, +WAVE_DATAFLOW, +WAVE_DATASET, +WAVE_LENS, +WAVE_RECIPE, +WAVE_TEMPLATE_BUNDLE, +WAVE_TEMPLATE_LENS_DASHBOARD_METADATA, +WAVE_VISUALIZATION, +WAVE_XMD, +WAVE_XMD_DATE, +WAVE_XMD_DIMENSION, +WAVE_XMD_DIMENSION_CUSTOM_ACTION, +WAVE_XMD_DIMENSION_MEMBER, +WAVE_XMD_DIMENSION_SALESFORCE_ACTION, +WAVE_XMD_FORMATTING_BIN, +WAVE_XMD_FORMATTING_PREDICATE, +WAVE_XMD_FORMATTING_PROPERTY, +WAVE_XMD_MEASURE, +WAVE_XMD_ORGANIZATION, +WAVE_XMD_RECORD_DISPLAY_LOOKUP, +WEB_LINK, +WEB_LINK_COMMON, +WEB_LINK_TRANSLATION, +WEB_STORE_TEMPLATE, +WEB_TO_CASE_SETTINGS, +WEB_TO_X_SETTINGS, +WEIGHTED_SOURCE_CATEGORY, +WINDOWS_PUSH_APPLICATION_SETUP, +WORKFLOW, +WORKFLOW_ACTION, +WORKFLOW_ACTION_REFERENCE, +WORKFLOW_ALERT, +WORKFLOW_APEX, +WORKFLOW_CHATTER_POST, +WORKFLOW_CHATTER_RECIPIENT, +WORKFLOW_EMAIL_RECIPIENT, +WORKFLOW_FIELD_UPDATE, +WORKFLOW_FLOW_ACTION, +WORKFLOW_FLOW_ACTION_PARAMETER, +WORKFLOW_KNOWLEDGE_PUBLISH, +WORKFLOW_OUTBOUND_MESSAGE, +WORKFLOW_QUICK_CREATE, +WORKFLOW_RULE, +WORKFLOW_SEND, +WORKFLOW_TASK, +WORKFLOW_TASK_TRANSLATION, +WORKFLOW_TIME_TRIGGER, +WORKSPACE_MAPPING, +WORKSPACE_MAPPINGS, +WORK_DOT_COM_SETTINGS, +WORK_SKILL_ROUTING, +WORK_SKILL_ROUTING_ATTRIBUTE, +X_ORG_HUB, +X_ORG_HUB_CONNECTION, +X_ORG_HUB_SHARED_OBJECT, +X_ORG_SPOKE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Search/KnowledgeSuggestionFilter.cls b/.sfdx/tools/246/StandardApexLibrary/Search/KnowledgeSuggestionFilter.cls new file mode 100644 index 0000000..72f4ad0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Search/KnowledgeSuggestionFilter.cls @@ -0,0 +1,12 @@ +global class KnowledgeSuggestionFilter { + global KnowledgeSuggestionFilter() { } + global void addArticleType(String articleType) { } + global void addDataCategory(String dataCategoryGroupName, String dataCategoryName) { } + global void addTopic(String topic) { } + global void setChannel(String channelName) { } + global void setDataCategories(Map dataCategoryFilters) { } + global void setLanguage(String localeCode) { } + global void setPublishStatus(String publishStatus) { } + global void setValidationStatus(String validationStatus) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/Search/QuestionSuggestionFilter.cls b/.sfdx/tools/246/StandardApexLibrary/Search/QuestionSuggestionFilter.cls new file mode 100644 index 0000000..7137823 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Search/QuestionSuggestionFilter.cls @@ -0,0 +1,11 @@ +global class QuestionSuggestionFilter { + global QuestionSuggestionFilter() { } + global void addGroupId(String groupId) { } + global void addNetworkId(String networkId) { } + global void addUserId(String userId) { } + global void setGroupIds(List groupIds) { } + global void setNetworkIds(List networkIds) { } + global void setTopicId(String topicId) { } + global void setUserIds(List userIds) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Search/SearchResult.cls b/.sfdx/tools/246/StandardApexLibrary/Search/SearchResult.cls new file mode 100644 index 0000000..f91f13d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Search/SearchResult.cls @@ -0,0 +1,7 @@ +global class SearchResult { + global Object clone() { } + global SObject getSObject() { } + global String getSnippet(String field) { } + global String getSnippet() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Search/SearchResults.cls b/.sfdx/tools/246/StandardApexLibrary/Search/SearchResults.cls new file mode 100644 index 0000000..5be6100 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Search/SearchResults.cls @@ -0,0 +1,5 @@ +global class SearchResults { + global Object clone() { } + global List get(String sObjectType) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Search/SuggestionOption.cls b/.sfdx/tools/246/StandardApexLibrary/Search/SuggestionOption.cls new file mode 100644 index 0000000..c63ccf6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Search/SuggestionOption.cls @@ -0,0 +1,6 @@ +global class SuggestionOption { + global SuggestionOption() { } + global void setFilter(Object filter) { } + global void setLimit(Integer limit) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Search/SuggestionResult.cls b/.sfdx/tools/246/StandardApexLibrary/Search/SuggestionResult.cls new file mode 100644 index 0000000..f4293d9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Search/SuggestionResult.cls @@ -0,0 +1,5 @@ +global class SuggestionResult { + global Object clone() { } + global SObject getSObject() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Search/SuggestionResults.cls b/.sfdx/tools/246/StandardApexLibrary/Search/SuggestionResults.cls new file mode 100644 index 0000000..1061ed0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Search/SuggestionResults.cls @@ -0,0 +1,6 @@ +global class SuggestionResults { + global Object clone() { } + global List getSuggestionResults() { } + global Boolean hasMoreResults() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Site/UrlRewriter.cls b/.sfdx/tools/246/StandardApexLibrary/Site/UrlRewriter.cls new file mode 100644 index 0000000..7c892af --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Site/UrlRewriter.cls @@ -0,0 +1,5 @@ +global interface UrlRewriter { + List generateUrlFor(List param0); + System.PageReference mapRequestUrl(System.PageReference param0); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ActionDispatcher.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ActionDispatcher.cls new file mode 100644 index 0000000..ad6eb9e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ActionDispatcher.cls @@ -0,0 +1,7 @@ +global class ActionDispatcher { + global ActionDispatcher() { } + global Boolean allowUnauthenticatedUsers() { } + global Object clone() { } + global Slack.ActionHandler invoke(Map param0, Slack.RequestContext param1) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ActionHandler.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ActionHandler.cls new file mode 100644 index 0000000..40e3a30 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ActionHandler.cls @@ -0,0 +1,14 @@ +global class ActionHandler { + global static Slack.ActionHandler ack(Slack.CallableHandler handler) { } + global static Slack.ActionHandler ack(Slack.RunnableHandler handler) { } + global static Slack.ActionHandler clearModal(Slack.CallableHandler handler) { } + global static Slack.ActionHandler clearModal(Slack.RunnableHandler handler) { } + global Object clone() { } + global static Slack.ActionHandler modal(Slack.ModalHandler handler, String stagedModalTitle) { } + global static Slack.ActionHandler modal(Slack.ModalHandler handler) { } + global static Slack.ActionHandler pushModal(Slack.ModalHandler handler, String stagedModalTitle) { } + global static Slack.ActionHandler pushModal(Slack.ModalHandler handler) { } + global static Slack.ActionHandler updateModal(Slack.ModalHandler handler, String stagedModalTitle) { } + global static Slack.ActionHandler updateModal(Slack.ModalHandler handler) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ActionPayload.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ActionPayload.cls new file mode 100644 index 0000000..d21264c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ActionPayload.cls @@ -0,0 +1,16 @@ +global class ActionPayload { + global Object clone() { } + global String getName() { } + global String getType() { } + global Object getValue() { } +global class Builder { + global ActionPayload.Builder() { } + global Slack.ActionPayload build() { } + global Object clone() { } + global Slack.ActionPayload.Builder name(String name) { } + global Slack.ActionPayload.Builder type(String type) { } + global Slack.ActionPayload.Builder value(Object value) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ActionResult.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ActionResult.cls new file mode 100644 index 0000000..2e2a8fb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ActionResult.cls @@ -0,0 +1,9 @@ +global class ActionResult { + global Object clone() { } + global static Slack.ActionResult error(Exception _exception, Slack.ErrorReport errorReport) { } + global static Slack.ActionResult error(Exception _exception) { } + global Exception getException() { } + global Boolean isOk() { } + global static Slack.ActionResult ok() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ApiTestRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ApiTestRequest.cls new file mode 100644 index 0000000..e4259ab --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ApiTestRequest.cls @@ -0,0 +1,16 @@ +global class ApiTestRequest { + global static Slack.ApiTestRequest.Builder builder() { } + global Object clone() { } + global String getError() { } + global String getFoo() { } + global String toString() { } +global class Builder { + global ApiTestRequest.Builder() { } + global Slack.ApiTestRequest build() { } + global Object clone() { } + global Slack.ApiTestRequest.Builder error(String error) { } + global Slack.ApiTestRequest.Builder foo(String foo) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ApiTestResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ApiTestResponse.cls new file mode 100644 index 0000000..425dcb8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ApiTestResponse.cls @@ -0,0 +1,29 @@ +global class ApiTestResponse { + global ApiTestResponse() { } + global Object clone() { } + global Slack.ApiTestResponse.Args getArgs() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setArgs(Slack.ApiTestResponse.Args args) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } +global class Args { + global ApiTestResponse.Args() { } + global Object clone() { } + global String getError() { } + global String getFoo() { } + global void setError(String error) { } + global void setFoo(String foo) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/App.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/App.cls new file mode 100644 index 0000000..f5dee15 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/App.cls @@ -0,0 +1,14 @@ +global class App { + global Object clone() { } + global static Slack.App getAppByKey(String key) { } + global static Slack.App getAppByName(String developerName) { } + global Slack.AppClient getAppClient() { } + global String getAppKey() { } + global Slack.BotClient getBotClientForTeam(String teamId) { } + global String getConnectedSalesforceUserId(String teamId, String slackUserId) { } + global Map getConnectedSalesforceUserIdMap(String teamId, List slackUserIds) { } + global String getConnectedSlackUserId(String teamId, String salesforceUserId) { } + global Map getConnectedSlackUserIdMap(String teamId, List salesforceUserIds) { } + global Slack.UserClient getUserClientForTeam(String teamId, String slackUserId) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/AppClient.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/AppClient.cls new file mode 100644 index 0000000..eb7142b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/AppClient.cls @@ -0,0 +1,6 @@ +global class AppClient { + global Slack.AppsEventAuthorizationsListResponse appsEventAuthorizationsList(Slack.AppsEventAuthorizationsListRequest req) { } + global Slack.AuthTestResponse authTest(Slack.AuthTestRequest req) { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/AppClientMock.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/AppClientMock.cls new file mode 100644 index 0000000..6287333 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/AppClientMock.cls @@ -0,0 +1,7 @@ +global class AppClientMock { + global AppClientMock() { } + global Slack.AppsEventAuthorizationsListResponse appsEventAuthorizationsList(Slack.AppsEventAuthorizationsListRequest req) { } + global Slack.AuthTestResponse authTest(Slack.AuthTestRequest req) { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/AppHomeOpenedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/AppHomeOpenedEvent.cls new file mode 100644 index 0000000..9caf153 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/AppHomeOpenedEvent.cls @@ -0,0 +1,16 @@ +global class AppHomeOpenedEvent { + global AppHomeOpenedEvent() { } + global Object clone() { } + global String getChannel() { } + global String getEventTs() { } + global String getSubtype() { } + global String getTab() { } + global String getType() { } + global String getUser() { } + global void setChannel(String channel) { } + global void setEventTs(String eventTs) { } + global void setTab(String tab) { } + global void setUser(String user) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/AppIcons.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/AppIcons.cls new file mode 100644 index 0000000..30f2c85 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/AppIcons.cls @@ -0,0 +1,28 @@ +global class AppIcons { + global AppIcons() { } + global Object clone() { } + global String getImage1024() { } + global String getImage128() { } + global String getImage192() { } + global String getImage32() { } + global String getImage36() { } + global String getImage48() { } + global String getImage512() { } + global String getImage64() { } + global String getImage72() { } + global String getImage96() { } + global String getImageOriginal() { } + global void setImage1024(String image1024) { } + global void setImage128(String image128) { } + global void setImage192(String image192) { } + global void setImage32(String image32) { } + global void setImage36(String image36) { } + global void setImage48(String image48) { } + global void setImage512(String image512) { } + global void setImage64(String image64) { } + global void setImage72(String image72) { } + global void setImage96(String image96) { } + global void setImageOriginal(String imageOriginal) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/AppMentionEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/AppMentionEvent.cls new file mode 100644 index 0000000..7d8dec0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/AppMentionEvent.cls @@ -0,0 +1,42 @@ +global class AppMentionEvent { + global AppMentionEvent() { } + global Object clone() { } + global String getBotId() { } + global Slack.BotProfile getBotProfile() { } + global String getChannel() { } + global String getClientMsgId() { } + global Slack.AppMentionEvent.Edited getEdited() { } + global String getEventTs() { } + global String getSubtype() { } + global String getTeam() { } + global String getText() { } + global String getThreadTs() { } + global String getTs() { } + global String getType() { } + global String getUser() { } + global String getUsername() { } + global void setBotId(String botId) { } + global void setBotProfile(Slack.BotProfile botProfile) { } + global void setChannel(String channel) { } + global void setClientMsgId(String clientMsgId) { } + global void setEdited(Slack.AppMentionEvent.Edited edited) { } + global void setEventTs(String eventTs) { } + global void setSubtype(String subtype) { } + global void setTeam(String team) { } + global void setText(String text) { } + global void setThreadTs(String threadTs) { } + global void setTs(String ts) { } + global void setUser(String user) { } + global void setUsername(String username) { } + global String toString() { } +global class Edited { + global AppMentionEvent.Edited() { } + global Object clone() { } + global String getTs() { } + global String getUser() { } + global void setTs(String ts) { } + global void setUser(String user) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/AppRateLimitedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/AppRateLimitedEvent.cls new file mode 100644 index 0000000..2c7f2f5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/AppRateLimitedEvent.cls @@ -0,0 +1,14 @@ +global class AppRateLimitedEvent { + global AppRateLimitedEvent() { } + global Object clone() { } + global String getApiAppId() { } + global Integer getMinuteRateLimited() { } + global String getSubtype() { } + global String getTeamId() { } + global String getType() { } + global void setApiAppId(String apiAppId) { } + global void setMinuteRateLimited(Integer minuteRateLimited) { } + global void setTeamId(String teamId) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/AppRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/AppRequest.cls new file mode 100644 index 0000000..6d250ff --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/AppRequest.cls @@ -0,0 +1,55 @@ +global class AppRequest { + global AppRequest() { } + global Object clone() { } + global Slack.RequestedApp getApp() { } + global Integer getDateCreated() { } + global String getId() { } + global Boolean getIsUserAppCollaborator() { } + global String getMessage() { } + global Slack.AppRequest.PreviousResolution getPreviousResolution() { } + global List getScopes() { } + global Slack.AppRequest.Team getTeam() { } + global Slack.AppRequest.User getUser() { } + global void setApp(Slack.RequestedApp app) { } + global void setDateCreated(Integer dateCreated) { } + global void setId(String id) { } + global void setIsUserAppCollaborator(Boolean isUserAppCollaborator) { } + global void setMessage(String message) { } + global void setPreviousResolution(Slack.AppRequest.PreviousResolution previousResolution) { } + global void setScopes(List scopes) { } + global void setTeam(Slack.AppRequest.Team team) { } + global void setUser(Slack.AppRequest.User user) { } + global String toString() { } +global class PreviousResolution { + global AppRequest.PreviousResolution() { } + global Object clone() { } + global List getScopes() { } + global String getStatus() { } + global void setScopes(List scopes) { } + global void setStatus(String status) { } + +} +global class Team { + global AppRequest.Team() { } + global Object clone() { } + global String getDomain() { } + global String getId() { } + global String getName() { } + global void setDomain(String domain) { } + global void setId(String id) { } + global void setName(String name) { } + +} +global class User { + global AppRequest.User() { } + global Object clone() { } + global String getEmail() { } + global String getId() { } + global String getName() { } + global void setEmail(String email) { } + global void setId(String id) { } + global void setName(String name) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/AppRequestedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/AppRequestedEvent.cls new file mode 100644 index 0000000..7e7cac7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/AppRequestedEvent.cls @@ -0,0 +1,10 @@ +global class AppRequestedEvent { + global AppRequestedEvent() { } + global Object clone() { } + global Slack.AppRequest getAppRequest() { } + global String getSubtype() { } + global String getType() { } + global void setAppRequest(Slack.AppRequest appRequest) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/AppScope.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/AppScope.cls new file mode 100644 index 0000000..457733a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/AppScope.cls @@ -0,0 +1,14 @@ +global class AppScope { + global AppScope() { } + global Object clone() { } + global String getDescription() { } + global String getName() { } + global String getTokenType() { } + global Boolean isSensitive() { } + global void setDescription(String description) { } + global void setName(String name) { } + global void setSensitive(Boolean sensitive) { } + global void setTokenType(String tokenType) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/AppUninstalledEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/AppUninstalledEvent.cls new file mode 100644 index 0000000..704efd4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/AppUninstalledEvent.cls @@ -0,0 +1,8 @@ +global class AppUninstalledEvent { + global AppUninstalledEvent() { } + global Object clone() { } + global String getSubtype() { } + global String getType() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/AppsEventAuthorizationsListRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/AppsEventAuthorizationsListRequest.cls new file mode 100644 index 0000000..a8e5aff --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/AppsEventAuthorizationsListRequest.cls @@ -0,0 +1,18 @@ +global class AppsEventAuthorizationsListRequest { + global static Slack.AppsEventAuthorizationsListRequest.Builder builder() { } + global Object clone() { } + global String getCursor() { } + global String getEventContext() { } + global Integer getLimit() { } + global String toString() { } +global class Builder { + global AppsEventAuthorizationsListRequest.Builder() { } + global Slack.AppsEventAuthorizationsListRequest build() { } + global Object clone() { } + global Slack.AppsEventAuthorizationsListRequest.Builder cursor(String cursor) { } + global Slack.AppsEventAuthorizationsListRequest.Builder eventContext(String eventContext) { } + global Slack.AppsEventAuthorizationsListRequest.Builder limitValue(Integer limitValue) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/AppsEventAuthorizationsListResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/AppsEventAuthorizationsListResponse.cls new file mode 100644 index 0000000..7b52507 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/AppsEventAuthorizationsListResponse.cls @@ -0,0 +1,37 @@ +global class AppsEventAuthorizationsListResponse { + global AppsEventAuthorizationsListResponse() { } + global Object clone() { } + global List getAuthorizations() { } + global String getCursorNext() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setAuthorizations(List authorizations) { } + global void setCursorNext(String cursorNext) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } +global class Authorization { + global AppsEventAuthorizationsListResponse.Authorization() { } + global Object clone() { } + global String getEnterpriseId() { } + global Boolean getIsBot() { } + global Boolean getIsEnterpriseInstall() { } + global String getTeamId() { } + global String getUserId() { } + global void setEnterpriseId(String enterpriseId) { } + global void setIsBot(Boolean isBot) { } + global void setIsEnterpriseInstall(Boolean isEnterpriseInstall) { } + global void setTeamId(String teamId) { } + global void setUserId(String userId) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/AppsUninstallRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/AppsUninstallRequest.cls new file mode 100644 index 0000000..601539f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/AppsUninstallRequest.cls @@ -0,0 +1,16 @@ +global class AppsUninstallRequest { + global static Slack.AppsUninstallRequest.Builder builder() { } + global Object clone() { } + global String getClientId() { } + global String getClientSecret() { } + global String toString() { } +global class Builder { + global AppsUninstallRequest.Builder() { } + global Slack.AppsUninstallRequest build() { } + global Slack.AppsUninstallRequest.Builder clientId(String clientId) { } + global Slack.AppsUninstallRequest.Builder clientSecret(String clientSecret) { } + global Object clone() { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/AppsUninstallResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/AppsUninstallResponse.cls new file mode 100644 index 0000000..d9c3578 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/AppsUninstallResponse.cls @@ -0,0 +1,20 @@ +global class AppsUninstallResponse { + global AppsUninstallResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/AuthRevokeRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/AuthRevokeRequest.cls new file mode 100644 index 0000000..c6889e8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/AuthRevokeRequest.cls @@ -0,0 +1,14 @@ +global class AuthRevokeRequest { + global static Slack.AuthRevokeRequest.Builder builder() { } + global Object clone() { } + global Boolean isTest() { } + global String toString() { } +global class Builder { + global AuthRevokeRequest.Builder() { } + global Slack.AuthRevokeRequest build() { } + global Object clone() { } + global Slack.AuthRevokeRequest.Builder test(Boolean test) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/AuthRevokeResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/AuthRevokeResponse.cls new file mode 100644 index 0000000..2700cb3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/AuthRevokeResponse.cls @@ -0,0 +1,20 @@ +global class AuthRevokeResponse { + global AuthRevokeResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global Boolean isRevoked() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setRevoked(Boolean revoked) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/AuthTeamsListRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/AuthTeamsListRequest.cls new file mode 100644 index 0000000..6ea3751 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/AuthTeamsListRequest.cls @@ -0,0 +1,18 @@ +global class AuthTeamsListRequest { + global static Slack.AuthTeamsListRequest.Builder builder() { } + global Object clone() { } + global String getCursor() { } + global Boolean getIncludeIcon() { } + global Integer getLimit() { } + global String toString() { } +global class Builder { + global AuthTeamsListRequest.Builder() { } + global Slack.AuthTeamsListRequest build() { } + global Object clone() { } + global Slack.AuthTeamsListRequest.Builder cursor(String cursor) { } + global Slack.AuthTeamsListRequest.Builder includeIcon(Boolean includeIcon) { } + global Slack.AuthTeamsListRequest.Builder limitValue(Integer limitValue) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/AuthTeamsListResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/AuthTeamsListResponse.cls new file mode 100644 index 0000000..b973dc9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/AuthTeamsListResponse.cls @@ -0,0 +1,31 @@ +global class AuthTeamsListResponse { + global AuthTeamsListResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ResponseMetadata getResponseMetadata() { } + global List getTeams() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ResponseMetadata responseMetadata) { } + global void setTeams(List teams) { } + global void setWarning(String warning) { } + global String toString() { } +global class Team { + global AuthTeamsListResponse.Team() { } + global Object clone() { } + global String getId() { } + global String getName() { } + global void setId(String id) { } + global void setName(String name) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/AuthTestRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/AuthTestRequest.cls new file mode 100644 index 0000000..1decdbb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/AuthTestRequest.cls @@ -0,0 +1,12 @@ +global class AuthTestRequest { + global static Slack.AuthTestRequest.Builder builder() { } + global Object clone() { } + global String toString() { } +global class Builder { + global AuthTestRequest.Builder() { } + global Slack.AuthTestRequest build() { } + global Object clone() { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/AuthTestResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/AuthTestResponse.cls new file mode 100644 index 0000000..2c658b2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/AuthTestResponse.cls @@ -0,0 +1,38 @@ +global class AuthTestResponse { + global AuthTestResponse() { } + global Object clone() { } + global String getAppId() { } + global String getAppName() { } + global String getBotId() { } + global String getEnterpriseId() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getTeam() { } + global String getTeamId() { } + global String getUrl() { } + global String getUser() { } + global String getUserId() { } + global String getWarning() { } + global Boolean isEnterpriseInstall() { } + global Boolean isOk() { } + global void setAppId(String appId) { } + global void setAppName(String appName) { } + global void setBotId(String botId) { } + global void setEnterpriseId(String enterpriseId) { } + global void setEnterpriseInstall(Boolean isEnterpriseInstall) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setTeam(String team) { } + global void setTeamId(String teamId) { } + global void setUrl(String url) { } + global void setUser(String user) { } + global void setUserId(String userId) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/BillableInfo.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/BillableInfo.cls new file mode 100644 index 0000000..6502d13 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/BillableInfo.cls @@ -0,0 +1,8 @@ +global class BillableInfo { + global BillableInfo() { } + global Object clone() { } + global Boolean isBillingActive() { } + global void setBillingActive(Boolean billingActive) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/Bookmark.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/Bookmark.cls new file mode 100644 index 0000000..1d9d179 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/Bookmark.cls @@ -0,0 +1,36 @@ +global class Bookmark { + global Bookmark() { } + global Object clone() { } + global String getAppId() { } + global String getChannelId() { } + global Integer getDateCreated() { } + global Integer getDateUpdated() { } + global String getEmoji() { } + global String getEntityId() { } + global String getIconUrl() { } + global String getId() { } + global String getLastUpdatedByTeamId() { } + global String getLastUpdatedByUserId() { } + global String getLink() { } + global String getRank() { } + global String getShortcutId() { } + global String getTitle() { } + global String getType() { } + global void setAppId(String appId) { } + global void setChannelId(String channelId) { } + global void setDateCreated(Integer dateCreated) { } + global void setDateUpdated(Integer dateUpdated) { } + global void setEmoji(String emoji) { } + global void setEntityId(String entityId) { } + global void setIconUrl(String iconUrl) { } + global void setId(String id) { } + global void setLastUpdatedByTeamId(String lastUpdatedByTeamId) { } + global void setLastUpdatedByUserId(String lastUpdatedByUserId) { } + global void setLink(String link) { } + global void setRank(String rank) { } + global void setShortcutId(String shortcutId) { } + global void setTitle(String title) { } + global void setType(String type) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/BookmarksAddRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/BookmarksAddRequest.cls new file mode 100644 index 0000000..2f08aae --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/BookmarksAddRequest.cls @@ -0,0 +1,26 @@ +global class BookmarksAddRequest { + global static Slack.BookmarksAddRequest.Builder builder() { } + global Object clone() { } + global String getChannelId() { } + global String getEmoji() { } + global String getEntityId() { } + global String getLink() { } + global String getParentId() { } + global String getTitle() { } + global String getType() { } + global String toString() { } +global class Builder { + global BookmarksAddRequest.Builder() { } + global Slack.BookmarksAddRequest build() { } + global Slack.BookmarksAddRequest.Builder channelId(String channelId) { } + global Object clone() { } + global Slack.BookmarksAddRequest.Builder emoji(String emoji) { } + global Slack.BookmarksAddRequest.Builder entityId(String entityId) { } + global Slack.BookmarksAddRequest.Builder link(String link) { } + global Slack.BookmarksAddRequest.Builder parentId(String parentId) { } + global Slack.BookmarksAddRequest.Builder title(String title) { } + global Slack.BookmarksAddRequest.Builder type(String type) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/BookmarksAddResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/BookmarksAddResponse.cls new file mode 100644 index 0000000..3e5b80c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/BookmarksAddResponse.cls @@ -0,0 +1,22 @@ +global class BookmarksAddResponse { + global BookmarksAddResponse() { } + global Object clone() { } + global Slack.Bookmark getBookmark() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ErrorResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isOk() { } + global void setBookmark(Slack.Bookmark bookmark) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ErrorResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/BookmarksEditRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/BookmarksEditRequest.cls new file mode 100644 index 0000000..2c7f315 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/BookmarksEditRequest.cls @@ -0,0 +1,22 @@ +global class BookmarksEditRequest { + global static Slack.BookmarksEditRequest.Builder builder() { } + global Object clone() { } + global String getBookmarkId() { } + global String getChannelId() { } + global String getEmoji() { } + global String getLink() { } + global String getTitle() { } + global String toString() { } +global class Builder { + global BookmarksEditRequest.Builder() { } + global Slack.BookmarksEditRequest.Builder bookmarkId(String bookmarkId) { } + global Slack.BookmarksEditRequest build() { } + global Slack.BookmarksEditRequest.Builder channelId(String channelId) { } + global Object clone() { } + global Slack.BookmarksEditRequest.Builder emoji(String emoji) { } + global Slack.BookmarksEditRequest.Builder link(String link) { } + global Slack.BookmarksEditRequest.Builder title(String title) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/BookmarksEditResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/BookmarksEditResponse.cls new file mode 100644 index 0000000..6269577 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/BookmarksEditResponse.cls @@ -0,0 +1,22 @@ +global class BookmarksEditResponse { + global BookmarksEditResponse() { } + global Object clone() { } + global Slack.Bookmark getBookmark() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ErrorResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isOk() { } + global void setBookmark(Slack.Bookmark bookmark) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ErrorResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/BookmarksListRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/BookmarksListRequest.cls new file mode 100644 index 0000000..b012360 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/BookmarksListRequest.cls @@ -0,0 +1,14 @@ +global class BookmarksListRequest { + global static Slack.BookmarksListRequest.Builder builder() { } + global Object clone() { } + global String getChannelId() { } + global String toString() { } +global class Builder { + global BookmarksListRequest.Builder() { } + global Slack.BookmarksListRequest build() { } + global Slack.BookmarksListRequest.Builder channelId(String channelId) { } + global Object clone() { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/BookmarksListResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/BookmarksListResponse.cls new file mode 100644 index 0000000..c3153e3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/BookmarksListResponse.cls @@ -0,0 +1,22 @@ +global class BookmarksListResponse { + global BookmarksListResponse() { } + global Object clone() { } + global List getBookmarks() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ErrorResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isOk() { } + global void setBookmarks(List bookmarks) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ErrorResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/BookmarksRemoveRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/BookmarksRemoveRequest.cls new file mode 100644 index 0000000..3f9e7a1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/BookmarksRemoveRequest.cls @@ -0,0 +1,16 @@ +global class BookmarksRemoveRequest { + global static Slack.BookmarksRemoveRequest.Builder builder() { } + global Object clone() { } + global String getBookmarkId() { } + global String getChannelId() { } + global String toString() { } +global class Builder { + global BookmarksRemoveRequest.Builder() { } + global Slack.BookmarksRemoveRequest.Builder bookmarkId(String bookmarkId) { } + global Slack.BookmarksRemoveRequest build() { } + global Slack.BookmarksRemoveRequest.Builder channelId(String channelId) { } + global Object clone() { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/BookmarksRemoveResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/BookmarksRemoveResponse.cls new file mode 100644 index 0000000..eecc060 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/BookmarksRemoveResponse.cls @@ -0,0 +1,20 @@ +global class BookmarksRemoveResponse { + global BookmarksRemoveResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ErrorResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ErrorResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/BotClient.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/BotClient.cls new file mode 100644 index 0000000..357f4b5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/BotClient.cls @@ -0,0 +1,95 @@ +global class BotClient { + global Slack.AppsUninstallResponse appsUninstall(Slack.AppsUninstallRequest req) { } + global Slack.AuthRevokeResponse authRevoke(Slack.AuthRevokeRequest req) { } + global Slack.AuthTeamsListResponse authTeamsList(Slack.AuthTeamsListRequest req) { } + global Slack.AuthTestResponse authTest(Slack.AuthTestRequest req) { } + global Slack.BookmarksAddResponse bookmarksAdd(Slack.BookmarksAddRequest req) { } + global Slack.BookmarksEditResponse bookmarksEdit(Slack.BookmarksEditRequest req) { } + global Slack.BookmarksListResponse bookmarksList(Slack.BookmarksListRequest req) { } + global Slack.BookmarksRemoveResponse bookmarksRemove(Slack.BookmarksRemoveRequest req) { } + global Slack.BotsInfoResponse botsInfo(Slack.BotsInfoRequest req) { } + global Slack.CallsAddResponse callsAdd(Slack.CallsAddRequest req) { } + global Slack.CallsEndResponse callsEnd(Slack.CallsEndRequest req) { } + global Slack.CallsInfoResponse callsInfo(Slack.CallsInfoRequest req) { } + global Slack.CallsParticipantsAddResponse callsParticipantsAdd(Slack.CallsParticipantsAddRequest req) { } + global Slack.CallsParticipantsRemoveResponse callsParticipantsRemove(Slack.CallsParticipantsRemoveRequest req) { } + global Slack.CallsUpdateResponse callsUpdate(Slack.CallsUpdateRequest req) { } + global Slack.ChatDeleteResponse chatDelete(Slack.ChatDeleteRequest req) { } + global Slack.ChatDeleteScheduledMessageResponse chatDeleteScheduledMessage(Slack.ChatDeleteScheduledMessageRequest req) { } + global Slack.ChatGetPermalinkResponse chatGetPermalink(Slack.ChatGetPermalinkRequest req) { } + global Slack.ChatMeMessageResponse chatMeMessage(Slack.ChatMeMessageRequest req) { } + global Slack.ChatPostEphemeralResponse chatPostEphemeral(Slack.ChatPostEphemeralRequest req) { } + global Slack.ChatPostMessageResponse chatPostMessage(Slack.ChatPostMessageRequest req) { } + global Slack.ChatScheduleMessageResponse chatScheduleMessage(Slack.ChatScheduleMessageRequest req) { } + global Slack.ChatScheduledMessagesListResponse chatScheduledMessagesList(Slack.ChatScheduledMessagesListRequest req) { } + global Slack.ChatUpdateResponse chatUpdate(Slack.ChatUpdateRequest req) { } + global Object clone() { } + global Slack.ConversationsAcceptSharedInviteResponse conversationsAcceptSharedInvite(Slack.ConversationsAcceptSharedInviteRequest req) { } + global Slack.ConversationsArchiveResponse conversationsArchive(Slack.ConversationsArchiveRequest req) { } + global Slack.ConversationsCloseResponse conversationsClose(Slack.ConversationsCloseRequest req) { } + global Slack.ConversationsCreateResponse conversationsCreate(Slack.ConversationsCreateRequest req) { } + global Slack.ConversationsDeclineSharedInviteResponse conversationsDeclineSharedInvite(Slack.ConversationsDeclineSharedInviteRequest req) { } + global Slack.ConversationsHistoryResponse conversationsHistory(Slack.ConversationsHistoryRequest req) { } + global Slack.ConversationsInfoResponse conversationsInfo(Slack.ConversationsInfoRequest req) { } + global Slack.ConversationsInviteResponse conversationsInvite(Slack.ConversationsInviteRequest req) { } + global Slack.ConversationsInviteSharedResponse conversationsInviteShared(Slack.ConversationsInviteSharedRequest req) { } + global Slack.ConversationsJoinResponse conversationsJoin(Slack.ConversationsJoinRequest req) { } + global Slack.ConversationsKickResponse conversationsKick(Slack.ConversationsKickRequest req) { } + global Slack.ConversationsLeaveResponse conversationsLeave(Slack.ConversationsLeaveRequest req) { } + global Slack.ConversationsListResponse conversationsList(Slack.ConversationsListRequest req) { } + global Slack.ConversationsListConnectInvitesResponse conversationsListConnectInvites(Slack.ConversationsListConnectInvitesRequest req) { } + global Slack.ConversationsMarkResponse conversationsMark(Slack.ConversationsMarkRequest req) { } + global Slack.ConversationsMembersResponse conversationsMembers(Slack.ConversationsMembersRequest req) { } + global Slack.ConversationsOpenResponse conversationsOpen(Slack.ConversationsOpenRequest req) { } + global Slack.ConversationsRenameResponse conversationsRename(Slack.ConversationsRenameRequest req) { } + global Slack.ConversationsRepliesResponse conversationsReplies(Slack.ConversationsRepliesRequest req) { } + global Slack.ConversationsSetPurposeResponse conversationsSetPurpose(Slack.ConversationsSetPurposeRequest req) { } + global Slack.ConversationsSetTopicResponse conversationsSetTopic(Slack.ConversationsSetTopicRequest req) { } + global Slack.ConversationsUnarchiveResponse conversationsUnarchive(Slack.ConversationsUnarchiveRequest req) { } + global Slack.DndInfoResponse dndInfo(Slack.DndInfoRequest req) { } + global Slack.DndTeamInfoResponse dndTeamInfo(Slack.DndTeamInfoRequest req) { } + global Slack.EmojiListResponse emojiList(Slack.EmojiListRequest req) { } + global Slack.FilesDeleteResponse filesDelete(Slack.FilesDeleteRequest req) { } + global Slack.FilesInfoResponse filesInfo(Slack.FilesInfoRequest req) { } + global Slack.FilesListResponse filesList(Slack.FilesListRequest req) { } + global Slack.FilesRemoteAddResponse filesRemoteAdd(Slack.FilesRemoteAddRequest req) { } + global Slack.FilesRemoteInfoResponse filesRemoteInfo(Slack.FilesRemoteInfoRequest req) { } + global Slack.FilesRemoteListResponse filesRemoteList(Slack.FilesRemoteListRequest req) { } + global Slack.FilesRemoteRemoveResponse filesRemoteRemove(Slack.FilesRemoteRemoveRequest req) { } + global Slack.FilesRemoteShareResponse filesRemoteShare(Slack.FilesRemoteShareRequest req) { } + global Slack.FilesRemoteUpdateResponse filesRemoteUpdate(Slack.FilesRemoteUpdateRequest req) { } + global Slack.MigrationExchangeResponse migrationExchange(Slack.MigrationExchangeRequest req) { } + global Slack.PinsAddResponse pinsAdd(Slack.PinsAddRequest req) { } + global Slack.PinsListResponse pinsList(Slack.PinsListRequest req) { } + global Slack.PinsRemoveResponse pinsRemove(Slack.PinsRemoveRequest req) { } + global Slack.ReactionsAddResponse reactionsAdd(Slack.ReactionsAddRequest req) { } + global Slack.ReactionsGetResponse reactionsGet(Slack.ReactionsGetRequest req) { } + global Slack.ReactionsListResponse reactionsList(Slack.ReactionsListRequest req) { } + global Slack.ReactionsRemoveResponse reactionsRemove(Slack.ReactionsRemoveRequest req) { } + global Slack.StarsAddResponse starsAdd(Slack.StarsAddRequest req) { } + global Slack.TeamInfoResponse teamInfo(Slack.TeamInfoRequest req) { } + global Slack.TeamProfileGetResponse teamProfileGet(Slack.TeamProfileGetRequest req) { } + global Slack.UsergroupsCreateResponse usergroupsCreate(Slack.UsergroupsCreateRequest req) { } + global Slack.UsergroupsDisableResponse usergroupsDisable(Slack.UsergroupsDisableRequest req) { } + global Slack.UsergroupsEnableResponse usergroupsEnable(Slack.UsergroupsEnableRequest req) { } + global Slack.UsergroupsListResponse usergroupsList(Slack.UsergroupsListRequest req) { } + global Slack.UsergroupsUpdateResponse usergroupsUpdate(Slack.UsergroupsUpdateRequest req) { } + global Slack.UsergroupsUsersListResponse usergroupsUsersList(Slack.UsergroupsUsersListRequest req) { } + global Slack.UsergroupsUsersUpdateResponse usergroupsUsersUpdate(Slack.UsergroupsUsersUpdateRequest req) { } + global Slack.UsersConversationsResponse usersConversations(Slack.UsersConversationsRequest req) { } + global Slack.UsersGetPresenceResponse usersGetPresence(Slack.UsersGetPresenceRequest req) { } + global Slack.UsersInfoResponse usersInfo(Slack.UsersInfoRequest req) { } + global Slack.UsersListResponse usersList(Slack.UsersListRequest req) { } + global Slack.UsersLookupByEmailResponse usersLookupByEmail(Slack.UsersLookupByEmailRequest req) { } + global Slack.UsersProfileGetResponse usersProfileGet(Slack.UsersProfileGetRequest req) { } + global Slack.UsersSetActiveResponse usersSetActive(Slack.UsersSetActiveRequest req) { } + global Slack.UsersSetPresenceResponse usersSetPresence(Slack.UsersSetPresenceRequest req) { } + global Slack.ViewsOpenResponse viewsOpen(Slack.ViewsOpenRequest req) { } + global Slack.ViewsPublishResponse viewsPublish(Slack.ViewsPublishRequest req) { } + global Slack.ViewsPushResponse viewsPush(Slack.ViewsPushRequest req) { } + global Slack.ViewsUpdateResponse viewsUpdate(Slack.ViewsUpdateRequest req) { } + global Slack.WorkflowsStepCompletedResponse workflowsStepCompleted(Slack.WorkflowsStepCompletedRequest req) { } + global Slack.WorkflowsStepFailedResponse workflowsStepFailed(Slack.WorkflowsStepFailedRequest req) { } + global Slack.WorkflowsUpdateStepResponse workflowsUpdateStep(Slack.WorkflowsUpdateStepRequest req) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/BotClientMock.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/BotClientMock.cls new file mode 100644 index 0000000..6066328 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/BotClientMock.cls @@ -0,0 +1,96 @@ +global class BotClientMock { + global BotClientMock() { } + global Slack.AppsUninstallResponse appsUninstall(Slack.AppsUninstallRequest req) { } + global Slack.AuthRevokeResponse authRevoke(Slack.AuthRevokeRequest req) { } + global Slack.AuthTeamsListResponse authTeamsList(Slack.AuthTeamsListRequest req) { } + global Slack.AuthTestResponse authTest(Slack.AuthTestRequest req) { } + global Slack.BookmarksAddResponse bookmarksAdd(Slack.BookmarksAddRequest req) { } + global Slack.BookmarksEditResponse bookmarksEdit(Slack.BookmarksEditRequest req) { } + global Slack.BookmarksListResponse bookmarksList(Slack.BookmarksListRequest req) { } + global Slack.BookmarksRemoveResponse bookmarksRemove(Slack.BookmarksRemoveRequest req) { } + global Slack.BotsInfoResponse botsInfo(Slack.BotsInfoRequest req) { } + global Slack.CallsAddResponse callsAdd(Slack.CallsAddRequest req) { } + global Slack.CallsEndResponse callsEnd(Slack.CallsEndRequest req) { } + global Slack.CallsInfoResponse callsInfo(Slack.CallsInfoRequest req) { } + global Slack.CallsParticipantsAddResponse callsParticipantsAdd(Slack.CallsParticipantsAddRequest req) { } + global Slack.CallsParticipantsRemoveResponse callsParticipantsRemove(Slack.CallsParticipantsRemoveRequest req) { } + global Slack.CallsUpdateResponse callsUpdate(Slack.CallsUpdateRequest req) { } + global Slack.ChatDeleteResponse chatDelete(Slack.ChatDeleteRequest req) { } + global Slack.ChatDeleteScheduledMessageResponse chatDeleteScheduledMessage(Slack.ChatDeleteScheduledMessageRequest req) { } + global Slack.ChatGetPermalinkResponse chatGetPermalink(Slack.ChatGetPermalinkRequest req) { } + global Slack.ChatMeMessageResponse chatMeMessage(Slack.ChatMeMessageRequest req) { } + global Slack.ChatPostEphemeralResponse chatPostEphemeral(Slack.ChatPostEphemeralRequest req) { } + global Slack.ChatPostMessageResponse chatPostMessage(Slack.ChatPostMessageRequest req) { } + global Slack.ChatScheduleMessageResponse chatScheduleMessage(Slack.ChatScheduleMessageRequest req) { } + global Slack.ChatScheduledMessagesListResponse chatScheduledMessagesList(Slack.ChatScheduledMessagesListRequest req) { } + global Slack.ChatUpdateResponse chatUpdate(Slack.ChatUpdateRequest req) { } + global Object clone() { } + global Slack.ConversationsAcceptSharedInviteResponse conversationsAcceptSharedInvite(Slack.ConversationsAcceptSharedInviteRequest req) { } + global Slack.ConversationsArchiveResponse conversationsArchive(Slack.ConversationsArchiveRequest req) { } + global Slack.ConversationsCloseResponse conversationsClose(Slack.ConversationsCloseRequest req) { } + global Slack.ConversationsCreateResponse conversationsCreate(Slack.ConversationsCreateRequest req) { } + global Slack.ConversationsDeclineSharedInviteResponse conversationsDeclineSharedInvite(Slack.ConversationsDeclineSharedInviteRequest req) { } + global Slack.ConversationsHistoryResponse conversationsHistory(Slack.ConversationsHistoryRequest req) { } + global Slack.ConversationsInfoResponse conversationsInfo(Slack.ConversationsInfoRequest req) { } + global Slack.ConversationsInviteResponse conversationsInvite(Slack.ConversationsInviteRequest req) { } + global Slack.ConversationsInviteSharedResponse conversationsInviteShared(Slack.ConversationsInviteSharedRequest req) { } + global Slack.ConversationsJoinResponse conversationsJoin(Slack.ConversationsJoinRequest req) { } + global Slack.ConversationsKickResponse conversationsKick(Slack.ConversationsKickRequest req) { } + global Slack.ConversationsLeaveResponse conversationsLeave(Slack.ConversationsLeaveRequest req) { } + global Slack.ConversationsListResponse conversationsList(Slack.ConversationsListRequest req) { } + global Slack.ConversationsListConnectInvitesResponse conversationsListConnectInvites(Slack.ConversationsListConnectInvitesRequest req) { } + global Slack.ConversationsMarkResponse conversationsMark(Slack.ConversationsMarkRequest req) { } + global Slack.ConversationsMembersResponse conversationsMembers(Slack.ConversationsMembersRequest req) { } + global Slack.ConversationsOpenResponse conversationsOpen(Slack.ConversationsOpenRequest req) { } + global Slack.ConversationsRenameResponse conversationsRename(Slack.ConversationsRenameRequest req) { } + global Slack.ConversationsRepliesResponse conversationsReplies(Slack.ConversationsRepliesRequest req) { } + global Slack.ConversationsSetPurposeResponse conversationsSetPurpose(Slack.ConversationsSetPurposeRequest req) { } + global Slack.ConversationsSetTopicResponse conversationsSetTopic(Slack.ConversationsSetTopicRequest req) { } + global Slack.ConversationsUnarchiveResponse conversationsUnarchive(Slack.ConversationsUnarchiveRequest req) { } + global Slack.DndInfoResponse dndInfo(Slack.DndInfoRequest req) { } + global Slack.DndTeamInfoResponse dndTeamInfo(Slack.DndTeamInfoRequest req) { } + global Slack.EmojiListResponse emojiList(Slack.EmojiListRequest req) { } + global Slack.FilesDeleteResponse filesDelete(Slack.FilesDeleteRequest req) { } + global Slack.FilesInfoResponse filesInfo(Slack.FilesInfoRequest req) { } + global Slack.FilesListResponse filesList(Slack.FilesListRequest req) { } + global Slack.FilesRemoteAddResponse filesRemoteAdd(Slack.FilesRemoteAddRequest req) { } + global Slack.FilesRemoteInfoResponse filesRemoteInfo(Slack.FilesRemoteInfoRequest req) { } + global Slack.FilesRemoteListResponse filesRemoteList(Slack.FilesRemoteListRequest req) { } + global Slack.FilesRemoteRemoveResponse filesRemoteRemove(Slack.FilesRemoteRemoveRequest req) { } + global Slack.FilesRemoteShareResponse filesRemoteShare(Slack.FilesRemoteShareRequest req) { } + global Slack.FilesRemoteUpdateResponse filesRemoteUpdate(Slack.FilesRemoteUpdateRequest req) { } + global Slack.MigrationExchangeResponse migrationExchange(Slack.MigrationExchangeRequest req) { } + global Slack.PinsAddResponse pinsAdd(Slack.PinsAddRequest req) { } + global Slack.PinsListResponse pinsList(Slack.PinsListRequest req) { } + global Slack.PinsRemoveResponse pinsRemove(Slack.PinsRemoveRequest req) { } + global Slack.ReactionsAddResponse reactionsAdd(Slack.ReactionsAddRequest req) { } + global Slack.ReactionsGetResponse reactionsGet(Slack.ReactionsGetRequest req) { } + global Slack.ReactionsListResponse reactionsList(Slack.ReactionsListRequest req) { } + global Slack.ReactionsRemoveResponse reactionsRemove(Slack.ReactionsRemoveRequest req) { } + global Slack.StarsAddResponse starsAdd(Slack.StarsAddRequest req) { } + global Slack.TeamInfoResponse teamInfo(Slack.TeamInfoRequest req) { } + global Slack.TeamProfileGetResponse teamProfileGet(Slack.TeamProfileGetRequest req) { } + global Slack.UsergroupsCreateResponse usergroupsCreate(Slack.UsergroupsCreateRequest req) { } + global Slack.UsergroupsDisableResponse usergroupsDisable(Slack.UsergroupsDisableRequest req) { } + global Slack.UsergroupsEnableResponse usergroupsEnable(Slack.UsergroupsEnableRequest req) { } + global Slack.UsergroupsListResponse usergroupsList(Slack.UsergroupsListRequest req) { } + global Slack.UsergroupsUpdateResponse usergroupsUpdate(Slack.UsergroupsUpdateRequest req) { } + global Slack.UsergroupsUsersListResponse usergroupsUsersList(Slack.UsergroupsUsersListRequest req) { } + global Slack.UsergroupsUsersUpdateResponse usergroupsUsersUpdate(Slack.UsergroupsUsersUpdateRequest req) { } + global Slack.UsersConversationsResponse usersConversations(Slack.UsersConversationsRequest req) { } + global Slack.UsersGetPresenceResponse usersGetPresence(Slack.UsersGetPresenceRequest req) { } + global Slack.UsersInfoResponse usersInfo(Slack.UsersInfoRequest req) { } + global Slack.UsersListResponse usersList(Slack.UsersListRequest req) { } + global Slack.UsersLookupByEmailResponse usersLookupByEmail(Slack.UsersLookupByEmailRequest req) { } + global Slack.UsersProfileGetResponse usersProfileGet(Slack.UsersProfileGetRequest req) { } + global Slack.UsersSetActiveResponse usersSetActive(Slack.UsersSetActiveRequest req) { } + global Slack.UsersSetPresenceResponse usersSetPresence(Slack.UsersSetPresenceRequest req) { } + global Slack.ViewsOpenResponse viewsOpen(Slack.ViewsOpenRequest req) { } + global Slack.ViewsPublishResponse viewsPublish(Slack.ViewsPublishRequest req) { } + global Slack.ViewsPushResponse viewsPush(Slack.ViewsPushRequest req) { } + global Slack.ViewsUpdateResponse viewsUpdate(Slack.ViewsUpdateRequest req) { } + global Slack.WorkflowsStepCompletedResponse workflowsStepCompleted(Slack.WorkflowsStepCompletedRequest req) { } + global Slack.WorkflowsStepFailedResponse workflowsStepFailed(Slack.WorkflowsStepFailedRequest req) { } + global Slack.WorkflowsUpdateStepResponse workflowsUpdateStep(Slack.WorkflowsUpdateStepRequest req) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/BotIcons.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/BotIcons.cls new file mode 100644 index 0000000..4908ff6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/BotIcons.cls @@ -0,0 +1,12 @@ +global class BotIcons { + global BotIcons() { } + global Object clone() { } + global String getImage36() { } + global String getImage48() { } + global String getImage72() { } + global void setImage36(String image36) { } + global void setImage48(String image48) { } + global void setImage72(String image72) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/BotProfile.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/BotProfile.cls new file mode 100644 index 0000000..59b210b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/BotProfile.cls @@ -0,0 +1,31 @@ +global class BotProfile { + global BotProfile() { } + global Object clone() { } + global String getAppId() { } + global Slack.BotProfile.Icons getIcons() { } + global String getId() { } + global String getName() { } + global String getTeamId() { } + global Integer getUpdated() { } + global Boolean isDeleted() { } + global void setAppId(String appId) { } + global void setDeleted(Boolean deleted) { } + global void setIcons(Slack.BotProfile.Icons icons) { } + global void setId(String id) { } + global void setName(String name) { } + global void setTeamId(String teamId) { } + global void setUpdated(Integer updated) { } + global String toString() { } +global class Icons { + global BotProfile.Icons() { } + global Object clone() { } + global String getImage36() { } + global String getImage48() { } + global String getImage72() { } + global void setImage36(String image36) { } + global void setImage48(String image48) { } + global void setImage72(String image72) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/BotsInfoRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/BotsInfoRequest.cls new file mode 100644 index 0000000..db2f25f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/BotsInfoRequest.cls @@ -0,0 +1,16 @@ +global class BotsInfoRequest { + global static Slack.BotsInfoRequest.Builder builder() { } + global Object clone() { } + global String getBot() { } + global String getTeamId() { } + global String toString() { } +global class Builder { + global BotsInfoRequest.Builder() { } + global Slack.BotsInfoRequest.Builder bot(String bot) { } + global Slack.BotsInfoRequest build() { } + global Object clone() { } + global Slack.BotsInfoRequest.Builder teamId(String teamId) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/BotsInfoResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/BotsInfoResponse.cls new file mode 100644 index 0000000..eacd9cb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/BotsInfoResponse.cls @@ -0,0 +1,39 @@ +global class BotsInfoResponse { + global BotsInfoResponse() { } + global Object clone() { } + global Slack.BotsInfoResponse.Bot getBot() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setBot(Slack.BotsInfoResponse.Bot bot) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } +global class Bot { + global BotsInfoResponse.Bot() { } + global Object clone() { } + global String getAppId() { } + global Slack.BotIcons getIcons() { } + global String getId() { } + global String getName() { } + global Integer getUpdated() { } + global String getUserId() { } + global Boolean isDeleted() { } + global void setAppId(String appId) { } + global void setDeleted(Boolean deleted) { } + global void setIcons(Slack.BotIcons icons) { } + global void setId(String id) { } + global void setName(String name) { } + global void setUpdated(Integer updated) { } + global void setUserId(String userId) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/Call.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/Call.cls new file mode 100644 index 0000000..f67fa3a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/Call.cls @@ -0,0 +1,26 @@ +global class Call { + global Call() { } + global Object clone() { } + global List getChannels() { } + global Integer getDateEnd() { } + global Integer getDateStart() { } + global String getDesktopAppJoinUrl() { } + global String getExternalDisplayId() { } + global String getExternalUniqueId() { } + global String getId() { } + global String getJoinUrl() { } + global String getTitle() { } + global List getUsers() { } + global void setChannels(List channels) { } + global void setDateEnd(Integer dateEnd) { } + global void setDateStart(Integer dateStart) { } + global void setDesktopAppJoinUrl(String desktopAppJoinUrl) { } + global void setExternalDisplayId(String externalDisplayId) { } + global void setExternalUniqueId(String externalUniqueId) { } + global void setId(String id) { } + global void setJoinUrl(String joinUrl) { } + global void setTitle(String title) { } + global void setUsers(List users) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/CallParticipant.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/CallParticipant.cls new file mode 100644 index 0000000..90dd94f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/CallParticipant.cls @@ -0,0 +1,14 @@ +global class CallParticipant { + global CallParticipant() { } + global Object clone() { } + global String getAvatarUrl() { } + global String getDisplayName() { } + global String getExternalId() { } + global String getSlackId() { } + global void setAvatarUrl(String avatarUrl) { } + global void setDisplayName(String displayName) { } + global void setExternalId(String externalId) { } + global void setSlackId(String slackId) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/CallRejectedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/CallRejectedEvent.cls new file mode 100644 index 0000000..88a97b6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/CallRejectedEvent.cls @@ -0,0 +1,16 @@ +global class CallRejectedEvent { + global CallRejectedEvent() { } + global Object clone() { } + global String getCallId() { } + global String getChannelId() { } + global String getExternalUniqueId() { } + global String getSubtype() { } + global String getType() { } + global String getUserId() { } + global void setCallId(String callId) { } + global void setChannelId(String channelId) { } + global void setExternalUniqueId(String externalUniqueId) { } + global void setUserId(String userId) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/CallableHandler.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/CallableHandler.cls new file mode 100644 index 0000000..df1b27e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/CallableHandler.cls @@ -0,0 +1,4 @@ +global interface CallableHandler { + Slack.ActionResult call(); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/CallsAddRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/CallsAddRequest.cls new file mode 100644 index 0000000..1abf539 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/CallsAddRequest.cls @@ -0,0 +1,28 @@ +global class CallsAddRequest { + global static Slack.CallsAddRequest.Builder builder() { } + global Object clone() { } + global String getCreatedBy() { } + global Integer getDateStart() { } + global String getDesktopAppJoinUrl() { } + global String getExternalDisplayId() { } + global String getExternalUniqueId() { } + global String getJoinUrl() { } + global String getTitle() { } + global List getUsers() { } + global String toString() { } +global class Builder { + global CallsAddRequest.Builder() { } + global Slack.CallsAddRequest build() { } + global Object clone() { } + global Slack.CallsAddRequest.Builder createdBy(String createdBy) { } + global Slack.CallsAddRequest.Builder dateStart(Integer dateStart) { } + global Slack.CallsAddRequest.Builder desktopAppJoinUrl(String desktopAppJoinUrl) { } + global Slack.CallsAddRequest.Builder externalDisplayId(String externalDisplayId) { } + global Slack.CallsAddRequest.Builder externalUniqueId(String externalUniqueId) { } + global Slack.CallsAddRequest.Builder joinUrl(String joinUrl) { } + global Slack.CallsAddRequest.Builder title(String title) { } + global Slack.CallsAddRequest.Builder users(List users) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/CallsAddResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/CallsAddResponse.cls new file mode 100644 index 0000000..fb546c1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/CallsAddResponse.cls @@ -0,0 +1,22 @@ +global class CallsAddResponse { + global CallsAddResponse() { } + global Object clone() { } + global Slack.Call getCall() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isOk() { } + global void setCall(Slack.Call call) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/CallsEndRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/CallsEndRequest.cls new file mode 100644 index 0000000..80d29b9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/CallsEndRequest.cls @@ -0,0 +1,16 @@ +global class CallsEndRequest { + global static Slack.CallsEndRequest.Builder builder() { } + global Object clone() { } + global Integer getDuration() { } + global String getId() { } + global String toString() { } +global class Builder { + global CallsEndRequest.Builder() { } + global Slack.CallsEndRequest build() { } + global Object clone() { } + global Slack.CallsEndRequest.Builder duration(Integer duration) { } + global Slack.CallsEndRequest.Builder id(String id) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/CallsEndResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/CallsEndResponse.cls new file mode 100644 index 0000000..84a190c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/CallsEndResponse.cls @@ -0,0 +1,22 @@ +global class CallsEndResponse { + global CallsEndResponse() { } + global Object clone() { } + global Slack.Call getCall() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isOk() { } + global void setCall(Slack.Call call) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/CallsInfoRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/CallsInfoRequest.cls new file mode 100644 index 0000000..b4f0fa2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/CallsInfoRequest.cls @@ -0,0 +1,14 @@ +global class CallsInfoRequest { + global static Slack.CallsInfoRequest.Builder builder() { } + global Object clone() { } + global String getId() { } + global String toString() { } +global class Builder { + global CallsInfoRequest.Builder() { } + global Slack.CallsInfoRequest build() { } + global Object clone() { } + global Slack.CallsInfoRequest.Builder id(String id) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/CallsInfoResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/CallsInfoResponse.cls new file mode 100644 index 0000000..a525b9f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/CallsInfoResponse.cls @@ -0,0 +1,22 @@ +global class CallsInfoResponse { + global CallsInfoResponse() { } + global Object clone() { } + global Slack.Call getCall() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isOk() { } + global void setCall(Slack.Call call) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/CallsParticipantsAddRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/CallsParticipantsAddRequest.cls new file mode 100644 index 0000000..f86df1f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/CallsParticipantsAddRequest.cls @@ -0,0 +1,16 @@ +global class CallsParticipantsAddRequest { + global static Slack.CallsParticipantsAddRequest.Builder builder() { } + global Object clone() { } + global String getId() { } + global List getUsers() { } + global String toString() { } +global class Builder { + global CallsParticipantsAddRequest.Builder() { } + global Slack.CallsParticipantsAddRequest build() { } + global Object clone() { } + global Slack.CallsParticipantsAddRequest.Builder id(String id) { } + global Slack.CallsParticipantsAddRequest.Builder users(List users) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/CallsParticipantsAddResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/CallsParticipantsAddResponse.cls new file mode 100644 index 0000000..c75c33f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/CallsParticipantsAddResponse.cls @@ -0,0 +1,22 @@ +global class CallsParticipantsAddResponse { + global CallsParticipantsAddResponse() { } + global Object clone() { } + global Slack.Call getCall() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isOk() { } + global void setCall(Slack.Call call) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/CallsParticipantsRemoveRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/CallsParticipantsRemoveRequest.cls new file mode 100644 index 0000000..57881ca --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/CallsParticipantsRemoveRequest.cls @@ -0,0 +1,16 @@ +global class CallsParticipantsRemoveRequest { + global static Slack.CallsParticipantsRemoveRequest.Builder builder() { } + global Object clone() { } + global String getId() { } + global List getUsers() { } + global String toString() { } +global class Builder { + global CallsParticipantsRemoveRequest.Builder() { } + global Slack.CallsParticipantsRemoveRequest build() { } + global Object clone() { } + global Slack.CallsParticipantsRemoveRequest.Builder id(String id) { } + global Slack.CallsParticipantsRemoveRequest.Builder users(List users) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/CallsParticipantsRemoveResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/CallsParticipantsRemoveResponse.cls new file mode 100644 index 0000000..86d647c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/CallsParticipantsRemoveResponse.cls @@ -0,0 +1,22 @@ +global class CallsParticipantsRemoveResponse { + global CallsParticipantsRemoveResponse() { } + global Object clone() { } + global Slack.Call getCall() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isOk() { } + global void setCall(Slack.Call call) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/CallsUpdateRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/CallsUpdateRequest.cls new file mode 100644 index 0000000..23248af --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/CallsUpdateRequest.cls @@ -0,0 +1,20 @@ +global class CallsUpdateRequest { + global static Slack.CallsUpdateRequest.Builder builder() { } + global Object clone() { } + global String getDesktopAppJoinUrl() { } + global String getId() { } + global String getJoinUrl() { } + global String getTitle() { } + global String toString() { } +global class Builder { + global CallsUpdateRequest.Builder() { } + global Slack.CallsUpdateRequest build() { } + global Object clone() { } + global Slack.CallsUpdateRequest.Builder desktopAppJoinUrl(String desktopAppJoinUrl) { } + global Slack.CallsUpdateRequest.Builder id(String id) { } + global Slack.CallsUpdateRequest.Builder joinUrl(String joinUrl) { } + global Slack.CallsUpdateRequest.Builder title(String title) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/CallsUpdateResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/CallsUpdateResponse.cls new file mode 100644 index 0000000..82e99a9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/CallsUpdateResponse.cls @@ -0,0 +1,22 @@ +global class CallsUpdateResponse { + global CallsUpdateResponse() { } + global Object clone() { } + global Slack.Call getCall() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isOk() { } + global void setCall(Slack.Call call) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/Channel.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/Channel.cls new file mode 100644 index 0000000..03ec99b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/Channel.cls @@ -0,0 +1,80 @@ +global class Channel { + global Channel() { } + global Object clone() { } + global Integer getCreated() { } + global String getCreator() { } + global String getEnterpriseId() { } + global String getId() { } + global Integer getIsMoved() { } + global String getLastRead() { } + global Slack.Latest getLatest() { } + global List getMembers() { } + global String getName() { } + global String getNameNormalized() { } + global Integer getNumMembers() { } + global List getPendingShared() { } + global List getPreviousNames() { } + global Double getPriority() { } + global Slack.Purpose getPurpose() { } + global Slack.Topic getTopic() { } + global Integer getUnlinked() { } + global Integer getUnreadCount() { } + global Integer getUnreadCountDisplay() { } + global String getUser() { } + global Boolean isArchived() { } + global Boolean isChannel() { } + global Boolean isExtShared() { } + global Boolean isGeneral() { } + global Boolean isGlobalShared() { } + global Boolean isGroup() { } + global Boolean isIm() { } + global Boolean isMember() { } + global Boolean isMpim() { } + global Boolean isOrgDefault() { } + global Boolean isOrgMandatory() { } + global Boolean isOrgShared() { } + global Boolean isPendingExtShared() { } + global Boolean isPrivateChannel() { } + global Boolean isReadOnly() { } + global Boolean isShared() { } + global Boolean isThreadOnly() { } + global void setArchived(Boolean archived) { } + global void setChannel(Boolean channel) { } + global void setCreated(Integer created) { } + global void setCreator(String creator) { } + global void setEnterpriseId(String enterpriseId) { } + global void setExtShared(Boolean extShared) { } + global void setGeneral(Boolean general) { } + global void setGlobalShared(Boolean globalShared) { } + global void setGroup(Boolean groupValue) { } + global void setId(String id) { } + global void setIm(Boolean im) { } + global void setIsMoved(Integer isMoved) { } + global void setLastRead(String lastRead) { } + global void setLatest(Slack.Latest latest) { } + global void setMember(Boolean member) { } + global void setMembers(List members) { } + global void setMpim(Boolean mpim) { } + global void setName(String name) { } + global void setNameNormalized(String nameNormalized) { } + global void setNumMembers(Integer numMembers) { } + global void setOrgDefault(Boolean orgDefault) { } + global void setOrgMandatory(Boolean orgMandatory) { } + global void setOrgShared(Boolean orgShared) { } + global void setPendingExtShared(Boolean pendingExtShared) { } + global void setPendingShared(List pendingShared) { } + global void setPreviousNames(List previousNames) { } + global void setPriority(Double priority) { } + global void setPrivateChannel(Boolean privateChannel) { } + global void setPurpose(Slack.Purpose purpose) { } + global void setReadOnly(Boolean readOnly) { } + global void setShared(Boolean shared) { } + global void setThreadOnly(Boolean threadOnly) { } + global void setTopic(Slack.Topic topic) { } + global void setUnlinked(Integer unlinked) { } + global void setUnreadCount(Integer unreadCount) { } + global void setUnreadCountDisplay(Integer unreadCountDisplay) { } + global void setUser(String user) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelArchiveEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelArchiveEvent.cls new file mode 100644 index 0000000..00e9747 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelArchiveEvent.cls @@ -0,0 +1,16 @@ +global class ChannelArchiveEvent { + global ChannelArchiveEvent() { } + global Object clone() { } + global String getChannel() { } + global String getEventTs() { } + global Integer getIsMoved() { } + global String getSubtype() { } + global String getType() { } + global String getUser() { } + global void setChannel(String channel) { } + global void setEventTs(String eventTs) { } + global void setIsMoved(Integer isMoved) { } + global void setUser(String user) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelCreatedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelCreatedEvent.cls new file mode 100644 index 0000000..f10ade8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelCreatedEvent.cls @@ -0,0 +1,35 @@ +global class ChannelCreatedEvent { + global ChannelCreatedEvent() { } + global Object clone() { } + global Slack.ChannelCreatedEvent.Channel getChannel() { } + global String getEventTs() { } + global String getSubtype() { } + global String getType() { } + global void setChannel(Slack.ChannelCreatedEvent.Channel channel) { } + global void setEventTs(String eventTs) { } + global String toString() { } +global class Channel { + global ChannelCreatedEvent.Channel() { } + global Object clone() { } + global String getContextTeamId() { } + global Integer getCreated() { } + global String getCreator() { } + global String getId() { } + global String getName() { } + global String getNameNormalized() { } + global Boolean isChannel() { } + global Boolean isOrgShared() { } + global Boolean isShared() { } + global void setChannel(Boolean isChannel) { } + global void setContextTeamId(String contextTeamId) { } + global void setCreated(Integer created) { } + global void setCreator(String creator) { } + global void setId(String id) { } + global void setName(String name) { } + global void setNameNormalized(String nameNormalized) { } + global void setOrgShared(Boolean isOrgShared) { } + global void setShared(Boolean isShared) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelDeletedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelDeletedEvent.cls new file mode 100644 index 0000000..5c031fe --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelDeletedEvent.cls @@ -0,0 +1,14 @@ +global class ChannelDeletedEvent { + global ChannelDeletedEvent() { } + global Object clone() { } + global String getActorId() { } + global String getChannel() { } + global String getEventTs() { } + global String getSubtype() { } + global String getType() { } + global void setActorId(String actorId) { } + global void setChannel(String channel) { } + global void setEventTs(String eventTs) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelHistoryChangedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelHistoryChangedEvent.cls new file mode 100644 index 0000000..bc4284d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelHistoryChangedEvent.cls @@ -0,0 +1,14 @@ +global class ChannelHistoryChangedEvent { + global ChannelHistoryChangedEvent() { } + global Object clone() { } + global String getEventTs() { } + global String getLatest() { } + global String getSubtype() { } + global String getTs() { } + global String getType() { } + global void setEventTs(String eventTs) { } + global void setLatest(String latest) { } + global void setTs(String ts) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelIdChangedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelIdChangedEvent.cls new file mode 100644 index 0000000..10c1e8d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelIdChangedEvent.cls @@ -0,0 +1,14 @@ +global class ChannelIdChangedEvent { + global ChannelIdChangedEvent() { } + global Object clone() { } + global String getEventTs() { } + global String getNewChannelId() { } + global String getOldChannelId() { } + global String getSubtype() { } + global String getType() { } + global void setEventTs(String eventTs) { } + global void setNewChannelId(String newChannelId) { } + global void setOldChannelId(String oldChannelId) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelLeftEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelLeftEvent.cls new file mode 100644 index 0000000..09cd90a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelLeftEvent.cls @@ -0,0 +1,14 @@ +global class ChannelLeftEvent { + global ChannelLeftEvent() { } + global Object clone() { } + global String getActorId() { } + global String getChannel() { } + global String getEventTs() { } + global String getSubtype() { } + global String getType() { } + global void setActorId(String actorId) { } + global void setChannel(String channel) { } + global void setEventTs(String eventTs) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelRenameEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelRenameEvent.cls new file mode 100644 index 0000000..260f5ee --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelRenameEvent.cls @@ -0,0 +1,29 @@ +global class ChannelRenameEvent { + global ChannelRenameEvent() { } + global Object clone() { } + global Slack.ChannelRenameEvent.Channel getChannel() { } + global String getEventTs() { } + global String getSubtype() { } + global String getType() { } + global void setChannel(Slack.ChannelRenameEvent.Channel channel) { } + global void setEventTs(String eventTs) { } + global String toString() { } +global class Channel { + global ChannelRenameEvent.Channel() { } + global Object clone() { } + global Integer getCreated() { } + global String getId() { } + global String getName() { } + global String getNameNormalized() { } + global Boolean isChannel() { } + global Boolean isMpim() { } + global void setChannel(Boolean isChannel) { } + global void setCreated(Integer created) { } + global void setId(String id) { } + global void setMpim(Boolean isMpim) { } + global void setName(String name) { } + global void setNameNormalized(String nameNormalized) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelSharedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelSharedEvent.cls new file mode 100644 index 0000000..6a013f5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelSharedEvent.cls @@ -0,0 +1,14 @@ +global class ChannelSharedEvent { + global ChannelSharedEvent() { } + global Object clone() { } + global String getChannel() { } + global String getConnectedTeamId() { } + global String getEventTs() { } + global String getSubtype() { } + global String getType() { } + global void setChannel(String channel) { } + global void setConnectedTeamId(String connectedTeamId) { } + global void setEventTs(String eventTs) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelUnarchiveEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelUnarchiveEvent.cls new file mode 100644 index 0000000..5ab3472 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelUnarchiveEvent.cls @@ -0,0 +1,14 @@ +global class ChannelUnarchiveEvent { + global ChannelUnarchiveEvent() { } + global Object clone() { } + global String getChannel() { } + global String getEventTs() { } + global String getSubtype() { } + global String getType() { } + global String getUser() { } + global void setChannel(String channel) { } + global void setEventTs(String eventTs) { } + global void setUser(String user) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelUnsharedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelUnsharedEvent.cls new file mode 100644 index 0000000..8452d10 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChannelUnsharedEvent.cls @@ -0,0 +1,16 @@ +global class ChannelUnsharedEvent { + global ChannelUnsharedEvent() { } + global Object clone() { } + global String getChannel() { } + global String getEventTs() { } + global String getPreviouslyConnectedTeamId() { } + global String getSubtype() { } + global String getType() { } + global Boolean isExtShared() { } + global void setChannel(String channel) { } + global void setEventTs(String eventTs) { } + global void setExtShared(Boolean isExtShared) { } + global void setPreviouslyConnectedTeamId(String previouslyConnectedTeamId) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChatDeleteRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatDeleteRequest.cls new file mode 100644 index 0000000..3c4815a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatDeleteRequest.cls @@ -0,0 +1,16 @@ +global class ChatDeleteRequest { + global static Slack.ChatDeleteRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global String getTs() { } + global String toString() { } +global class Builder { + global ChatDeleteRequest.Builder() { } + global Slack.ChatDeleteRequest build() { } + global Slack.ChatDeleteRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.ChatDeleteRequest.Builder ts(String ts) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChatDeleteResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatDeleteResponse.cls new file mode 100644 index 0000000..621f27c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatDeleteResponse.cls @@ -0,0 +1,24 @@ +global class ChatDeleteResponse { + global ChatDeleteResponse() { } + global Object clone() { } + global String getChannel() { } + global String getDeprecatedArgument() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getTs() { } + global String getWarning() { } + global Boolean isOk() { } + global void setChannel(String channel) { } + global void setDeprecatedArgument(String deprecatedArgument) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setTs(String ts) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChatDeleteScheduledMessageRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatDeleteScheduledMessageRequest.cls new file mode 100644 index 0000000..5a5cf2e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatDeleteScheduledMessageRequest.cls @@ -0,0 +1,16 @@ +global class ChatDeleteScheduledMessageRequest { + global static Slack.ChatDeleteScheduledMessageRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global String getScheduledMessageId() { } + global String toString() { } +global class Builder { + global ChatDeleteScheduledMessageRequest.Builder() { } + global Slack.ChatDeleteScheduledMessageRequest build() { } + global Slack.ChatDeleteScheduledMessageRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.ChatDeleteScheduledMessageRequest.Builder scheduledMessageId(String scheduledMessageId) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChatDeleteScheduledMessageResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatDeleteScheduledMessageResponse.cls new file mode 100644 index 0000000..c2d2fdf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatDeleteScheduledMessageResponse.cls @@ -0,0 +1,18 @@ +global class ChatDeleteScheduledMessageResponse { + global ChatDeleteScheduledMessageResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChatGetPermalinkRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatGetPermalinkRequest.cls new file mode 100644 index 0000000..129f3c0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatGetPermalinkRequest.cls @@ -0,0 +1,16 @@ +global class ChatGetPermalinkRequest { + global static Slack.ChatGetPermalinkRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global String getMessageTs() { } + global String toString() { } +global class Builder { + global ChatGetPermalinkRequest.Builder() { } + global Slack.ChatGetPermalinkRequest build() { } + global Slack.ChatGetPermalinkRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.ChatGetPermalinkRequest.Builder messageTs(String messageTs) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChatGetPermalinkResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatGetPermalinkResponse.cls new file mode 100644 index 0000000..963a2f7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatGetPermalinkResponse.cls @@ -0,0 +1,22 @@ +global class ChatGetPermalinkResponse { + global ChatGetPermalinkResponse() { } + global Object clone() { } + global String getChannel() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getPermalink() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setChannel(String channel) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setPermalink(String permalink) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChatMeMessageRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatMeMessageRequest.cls new file mode 100644 index 0000000..d5318b2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatMeMessageRequest.cls @@ -0,0 +1,16 @@ +global class ChatMeMessageRequest { + global static Slack.ChatMeMessageRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global String getText() { } + global String toString() { } +global class Builder { + global ChatMeMessageRequest.Builder() { } + global Slack.ChatMeMessageRequest build() { } + global Slack.ChatMeMessageRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.ChatMeMessageRequest.Builder text(String text) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChatMeMessageResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatMeMessageResponse.cls new file mode 100644 index 0000000..2a49940 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatMeMessageResponse.cls @@ -0,0 +1,22 @@ +global class ChatMeMessageResponse { + global ChatMeMessageResponse() { } + global Object clone() { } + global String getChannel() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getTs() { } + global String getWarning() { } + global Boolean isOk() { } + global void setChannel(String channel) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setTs(String ts) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChatPostEphemeralRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatPostEphemeralRequest.cls new file mode 100644 index 0000000..38cb068 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatPostEphemeralRequest.cls @@ -0,0 +1,33 @@ +global class ChatPostEphemeralRequest { + global static Slack.ChatPostEphemeralRequest.Builder builder() { } + global Object clone() { } + global String getAttachmentsAsString() { } + global String getChannel() { } + global String getIconEmoji() { } + global String getIconUrl() { } + global String getParse() { } + global String getText() { } + global String getThreadTs() { } + global String getUser() { } + global String getUsername() { } + global Boolean isLinkNames() { } + global String toString() { } +global class Builder { + global ChatPostEphemeralRequest.Builder() { } + global Slack.ChatPostEphemeralRequest.Builder attachmentsAsString(String attachmentsAsString) { } + global Slack.ChatPostEphemeralRequest build() { } + global Slack.ChatPostEphemeralRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.ChatPostEphemeralRequest.Builder iconEmoji(String iconEmoji) { } + global Slack.ChatPostEphemeralRequest.Builder iconUrl(String iconUrl) { } + global Slack.ChatPostEphemeralRequest.Builder linkNames(Boolean linkNames) { } + global Slack.ChatPostEphemeralRequest.Builder parse(String parse) { } + global Slack.ChatPostEphemeralRequest.Builder text(String text) { } + global Slack.ChatPostEphemeralRequest.Builder threadTs(String threadTs) { } + global Slack.ChatPostEphemeralRequest.Builder user(String user) { } + global Slack.ChatPostEphemeralRequest.Builder username(String username) { } + global Slack.ChatPostEphemeralRequest.Builder viewReference(Slack.ViewReference viewReference) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChatPostEphemeralResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatPostEphemeralResponse.cls new file mode 100644 index 0000000..94debe1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatPostEphemeralResponse.cls @@ -0,0 +1,22 @@ +global class ChatPostEphemeralResponse { + global ChatPostEphemeralResponse() { } + global Object clone() { } + global String getDeprecatedArgument() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getMessageTs() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setDeprecatedArgument(String deprecatedArgument) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setMessageTs(String messageTs) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChatPostMessageRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatPostMessageRequest.cls new file mode 100644 index 0000000..cbe95cc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatPostMessageRequest.cls @@ -0,0 +1,39 @@ +global class ChatPostMessageRequest { + global static Slack.ChatPostMessageRequest.Builder builder() { } + global Object clone() { } + global String getAttachmentsAsString() { } + global String getChannel() { } + global String getIconEmoji() { } + global String getIconUrl() { } + global String getParse() { } + global String getText() { } + global String getThreadTs() { } + global String getUsername() { } + global Boolean isLinkNames() { } + global Boolean isMrkdwn() { } + global Boolean isReplyBroadcast() { } + global Boolean isUnfurlLinks() { } + global Boolean isUnfurlMedia() { } + global String toString() { } +global class Builder { + global ChatPostMessageRequest.Builder() { } + global Slack.ChatPostMessageRequest.Builder attachmentsAsString(String attachmentsAsString) { } + global Slack.ChatPostMessageRequest build() { } + global Slack.ChatPostMessageRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.ChatPostMessageRequest.Builder iconEmoji(String iconEmoji) { } + global Slack.ChatPostMessageRequest.Builder iconUrl(String iconUrl) { } + global Slack.ChatPostMessageRequest.Builder linkNames(Boolean linkNames) { } + global Slack.ChatPostMessageRequest.Builder mrkdwn(Boolean mrkdwn) { } + global Slack.ChatPostMessageRequest.Builder parse(String parse) { } + global Slack.ChatPostMessageRequest.Builder replyBroadcast(Boolean replyBroadcast) { } + global Slack.ChatPostMessageRequest.Builder text(String text) { } + global Slack.ChatPostMessageRequest.Builder threadTs(String threadTs) { } + global Slack.ChatPostMessageRequest.Builder unfurlLinks(Boolean unfurlLinks) { } + global Slack.ChatPostMessageRequest.Builder unfurlMedia(Boolean unfurlMedia) { } + global Slack.ChatPostMessageRequest.Builder username(String username) { } + global Slack.ChatPostMessageRequest.Builder viewReference(Slack.ViewReference viewReference) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChatPostMessageResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatPostMessageResponse.cls new file mode 100644 index 0000000..cfa3aa9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatPostMessageResponse.cls @@ -0,0 +1,30 @@ +global class ChatPostMessageResponse { + global ChatPostMessageResponse() { } + global Object clone() { } + global String getChannel() { } + global String getDeprecatedArgument() { } + global String getError() { } + global List getErrors() { } + global Map> getHttpResponseHeaders() { } + global Slack.Message getMessage() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ErrorResponseMetadata getResponseMetadata() { } + global String getTs() { } + global String getWarning() { } + global Boolean isOk() { } + global void setChannel(String channel) { } + global void setDeprecatedArgument(String deprecatedArgument) { } + global void setError(String error) { } + global void setErrors(List errors) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setMessage(Slack.Message message) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ErrorResponseMetadata responseMetadata) { } + global void setTs(String ts) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChatScheduleMessageRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatScheduleMessageRequest.cls new file mode 100644 index 0000000..9780ff5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatScheduleMessageRequest.cls @@ -0,0 +1,33 @@ +global class ChatScheduleMessageRequest { + global static Slack.ChatScheduleMessageRequest.Builder builder() { } + global Object clone() { } + global String getAttachmentsAsString() { } + global String getChannel() { } + global String getParse() { } + global Integer getPostAt() { } + global String getText() { } + global String getThreadTs() { } + global Boolean isLinkNames() { } + global Boolean isReplyBroadcast() { } + global Boolean isUnfurlLinks() { } + global Boolean isUnfurlMedia() { } + global String toString() { } +global class Builder { + global ChatScheduleMessageRequest.Builder() { } + global Slack.ChatScheduleMessageRequest.Builder attachmentsAsString(String attachmentsAsString) { } + global Slack.ChatScheduleMessageRequest build() { } + global Slack.ChatScheduleMessageRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.ChatScheduleMessageRequest.Builder linkNames(Boolean linkNames) { } + global Slack.ChatScheduleMessageRequest.Builder parse(String parse) { } + global Slack.ChatScheduleMessageRequest.Builder postAt(Integer postAt) { } + global Slack.ChatScheduleMessageRequest.Builder replyBroadcast(Boolean replyBroadcast) { } + global Slack.ChatScheduleMessageRequest.Builder text(String text) { } + global Slack.ChatScheduleMessageRequest.Builder threadTs(String threadTs) { } + global Slack.ChatScheduleMessageRequest.Builder unfurlLinks(Boolean unfurlLinks) { } + global Slack.ChatScheduleMessageRequest.Builder unfurlMedia(Boolean unfurlMedia) { } + global Slack.ChatScheduleMessageRequest.Builder viewReference(Slack.ViewReference viewReference) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChatScheduleMessageResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatScheduleMessageResponse.cls new file mode 100644 index 0000000..af0f23f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatScheduleMessageResponse.cls @@ -0,0 +1,47 @@ +global class ChatScheduleMessageResponse { + global ChatScheduleMessageResponse() { } + global Object clone() { } + global String getChannel() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global Slack.ChatScheduleMessageResponse.ScheduledMessage getMessage() { } + global String getNeeded() { } + global Integer getPostAt() { } + global String getProvided() { } + global Slack.ErrorResponseMetadata getResponseMetadata() { } + global String getScheduledMessageId() { } + global String getWarning() { } + global Boolean isOk() { } + global void setChannel(String channel) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setMessage(Slack.ChatScheduleMessageResponse.ScheduledMessage message) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setPostAt(Integer postAt) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ErrorResponseMetadata responseMetadata) { } + global void setScheduledMessageId(String scheduledMessageId) { } + global void setWarning(String warning) { } + global String toString() { } +global class ScheduledMessage { + global ChatScheduleMessageResponse.ScheduledMessage() { } + global Object clone() { } + global String getAppId() { } + global String getBotId() { } + global Slack.BotProfile getBotProfile() { } + global String getTeam() { } + global String getText() { } + global String getType() { } + global String getUser() { } + global void setAppId(String appId) { } + global void setBotId(String botId) { } + global void setBotProfile(Slack.BotProfile botProfile) { } + global void setTeam(String team) { } + global void setText(String text) { } + global void setType(String type) { } + global void setUser(String user) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChatScheduledMessagesListRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatScheduledMessagesListRequest.cls new file mode 100644 index 0000000..6a4ff55 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatScheduledMessagesListRequest.cls @@ -0,0 +1,24 @@ +global class ChatScheduledMessagesListRequest { + global static Slack.ChatScheduledMessagesListRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global String getCursor() { } + global String getLatest() { } + global Integer getLimit() { } + global String getOldest() { } + global String getTeamId() { } + global String toString() { } +global class Builder { + global ChatScheduledMessagesListRequest.Builder() { } + global Slack.ChatScheduledMessagesListRequest build() { } + global Slack.ChatScheduledMessagesListRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.ChatScheduledMessagesListRequest.Builder cursor(String cursor) { } + global Slack.ChatScheduledMessagesListRequest.Builder latest(String latest) { } + global Slack.ChatScheduledMessagesListRequest.Builder limitValue(Integer limitValue) { } + global Slack.ChatScheduledMessagesListRequest.Builder oldest(String oldest) { } + global Slack.ChatScheduledMessagesListRequest.Builder teamId(String teamId) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChatScheduledMessagesListResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatScheduledMessagesListResponse.cls new file mode 100644 index 0000000..7073ac0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatScheduledMessagesListResponse.cls @@ -0,0 +1,37 @@ +global class ChatScheduledMessagesListResponse { + global ChatScheduledMessagesListResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ResponseMetadata getResponseMetadata() { } + global List getScheduledMessages() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ResponseMetadata responseMetadata) { } + global void setScheduledMessages(List scheduledMessages) { } + global void setWarning(String warning) { } + global String toString() { } +global class ScheduledMessage { + global ChatScheduledMessagesListResponse.ScheduledMessage() { } + global Object clone() { } + global String getChannelId() { } + global Integer getDateCreated() { } + global String getId() { } + global Integer getPostAt() { } + global String getText() { } + global void setChannelId(String channelId) { } + global void setDateCreated(Integer dateCreated) { } + global void setId(String id) { } + global void setPostAt(Integer postAt) { } + global void setText(String text) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChatUpdateRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatUpdateRequest.cls new file mode 100644 index 0000000..5e462dd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatUpdateRequest.cls @@ -0,0 +1,25 @@ +global class ChatUpdateRequest { + global static Slack.ChatUpdateRequest.Builder builder() { } + global Object clone() { } + global String getAttachmentsAsString() { } + global String getChannel() { } + global String getParse() { } + global String getText() { } + global String getTs() { } + global Boolean isLinkNames() { } + global String toString() { } +global class Builder { + global ChatUpdateRequest.Builder() { } + global Slack.ChatUpdateRequest.Builder attachmentsAsString(String attachmentsAsString) { } + global Slack.ChatUpdateRequest build() { } + global Slack.ChatUpdateRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.ChatUpdateRequest.Builder linkNames(Boolean linkNames) { } + global Slack.ChatUpdateRequest.Builder parse(String parse) { } + global Slack.ChatUpdateRequest.Builder text(String text) { } + global Slack.ChatUpdateRequest.Builder ts(String ts) { } + global Slack.ChatUpdateRequest.Builder viewReference(Slack.ViewReference viewReference) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ChatUpdateResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatUpdateResponse.cls new file mode 100644 index 0000000..cc220d3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ChatUpdateResponse.cls @@ -0,0 +1,30 @@ +global class ChatUpdateResponse { + global ChatUpdateResponse() { } + global Object clone() { } + global String getChannel() { } + global String getDeprecatedArgument() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global Slack.Message getMessage() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ErrorResponseMetadata getResponseMetadata() { } + global String getText() { } + global String getTs() { } + global String getWarning() { } + global Boolean isOk() { } + global void setChannel(String channel) { } + global void setDeprecatedArgument(String deprecatedArgument) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setMessage(Slack.Message message) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ErrorResponseMetadata responseMetadata) { } + global void setText(String text) { } + global void setTs(String ts) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConnectChannel.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConnectChannel.cls new file mode 100644 index 0000000..1ced9af --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConnectChannel.cls @@ -0,0 +1,14 @@ +global class ConnectChannel { + global ConnectChannel() { } + global Object clone() { } + global String getId() { } + global Boolean getIsIm() { } + global Boolean getIsPrivate() { } + global String getName() { } + global void setId(String id) { } + global void setIsIm(Boolean isIm) { } + global void setIsPrivate(Boolean isPrivate) { } + global void setName(String name) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConnectInvite.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConnectInvite.cls new file mode 100644 index 0000000..e116b8f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConnectInvite.cls @@ -0,0 +1,20 @@ +global class ConnectInvite { + global ConnectInvite() { } + global Object clone() { } + global List getAcceptances() { } + global Slack.ConnectChannel getChannel() { } + global Integer getDateLastUpdated() { } + global String getDirection() { } + global Slack.ConnectInviteDetail getInvite() { } + global String getInviteType() { } + global String getStatus() { } + global void setAcceptances(List acceptances) { } + global void setChannel(Slack.ConnectChannel channel) { } + global void setDateLastUpdated(Integer dateLastUpdated) { } + global void setDirection(String direction) { } + global void setInvite(Slack.ConnectInviteDetail invite) { } + global void setInviteType(String inviteType) { } + global void setStatus(String status) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConnectInviteAcceptance.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConnectInviteAcceptance.cls new file mode 100644 index 0000000..7e8d36e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConnectInviteAcceptance.cls @@ -0,0 +1,20 @@ +global class ConnectInviteAcceptance { + global ConnectInviteAcceptance() { } + global Object clone() { } + global Slack.ConnectTeam getAcceptingTeam() { } + global Slack.ConnectUser getAcceptingUser() { } + global String getApprovalStatus() { } + global Integer getDateAccepted() { } + global Integer getDateInvalid() { } + global Integer getDateLastUpdated() { } + global List getReviews() { } + global void setAcceptingTeam(Slack.ConnectTeam acceptingTeam) { } + global void setAcceptingUser(Slack.ConnectUser acceptingUser) { } + global void setApprovalStatus(String approvalStatus) { } + global void setDateAccepted(Integer dateAccepted) { } + global void setDateInvalid(Integer dateInvalid) { } + global void setDateLastUpdated(Integer dateLastUpdated) { } + global void setReviews(List reviews) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConnectInviteDetail.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConnectInviteDetail.cls new file mode 100644 index 0000000..7c43bc2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConnectInviteDetail.cls @@ -0,0 +1,22 @@ +global class ConnectInviteDetail { + global ConnectInviteDetail() { } + global Object clone() { } + global Integer getDateCreated() { } + global Integer getDateInvalid() { } + global String getId() { } + global Slack.ConnectTeam getInvitingTeam() { } + global Slack.ConnectUser getInvitingUser() { } + global String getLink() { } + global String getRecipientEmail() { } + global String getRecipientUserId() { } + global void setDateCreated(Integer dateCreated) { } + global void setDateInvalid(Integer dateInvalid) { } + global void setId(String id) { } + global void setInvitingTeam(Slack.ConnectTeam invitingTeam) { } + global void setInvitingUser(Slack.ConnectUser invitingUser) { } + global void setLink(String link) { } + global void setRecipientEmail(String recipientEmail) { } + global void setRecipientUserId(String recipientUserId) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConnectInviteReview.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConnectInviteReview.cls new file mode 100644 index 0000000..265e183 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConnectInviteReview.cls @@ -0,0 +1,12 @@ +global class ConnectInviteReview { + global ConnectInviteReview() { } + global Object clone() { } + global Integer getDateReview() { } + global Slack.ConnectTeam getReviewingTeam() { } + global String getType() { } + global void setDateReview(Integer dateReview) { } + global void setReviewingTeam(Slack.ConnectTeam reviewingTeam) { } + global void setType(String type) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConnectTeam.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConnectTeam.cls new file mode 100644 index 0000000..b9c51cc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConnectTeam.cls @@ -0,0 +1,20 @@ +global class ConnectTeam { + global ConnectTeam() { } + global Object clone() { } + global String getAvatarBaseUrl() { } + global Integer getDateCreated() { } + global String getDomain() { } + global Slack.TeamIcon getIcon() { } + global String getId() { } + global String getName() { } + global Boolean isVerified() { } + global void setAvatarBaseUrl(String avatarBaseUrl) { } + global void setDateCreated(Integer dateCreated) { } + global void setDomain(String domain) { } + global void setIcon(Slack.TeamIcon icon) { } + global void setId(String id) { } + global void setName(String name) { } + global void setVerified(Boolean isVerified) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConnectUser.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConnectUser.cls new file mode 100644 index 0000000..7ba3781 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConnectUser.cls @@ -0,0 +1,18 @@ +global class ConnectUser { + global ConnectUser() { } + global Object clone() { } + global String getId() { } + global String getName() { } + global Slack.ConnectUserProfile getProfile() { } + global String getTeamId() { } + global Integer getUpdated() { } + global String getWhoCanShareContactCard() { } + global void setId(String id) { } + global void setName(String name) { } + global void setProfile(Slack.ConnectUserProfile profile) { } + global void setTeamId(String teamId) { } + global void setUpdated(Integer updated) { } + global void setWhoCanShareContactCard(String whoCanShareContactCard) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConnectUserProfile.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConnectUserProfile.cls new file mode 100644 index 0000000..2d2602e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConnectUserProfile.cls @@ -0,0 +1,38 @@ +global class ConnectUserProfile { + global ConnectUserProfile() { } + global Object clone() { } + global String getAvatarHash() { } + global String getDisplayName() { } + global String getDisplayNameNormalized() { } + global String getEmail() { } + global String getImage1024() { } + global String getImage192() { } + global String getImage24() { } + global String getImage32() { } + global String getImage48() { } + global String getImage512() { } + global String getImage72() { } + global String getImageOriginal() { } + global Boolean getIsCustomImage() { } + global String getRealName() { } + global String getRealNameNormalized() { } + global String getTeam() { } + global void setAvatarHash(String avatarHash) { } + global void setDisplayName(String displayName) { } + global void setDisplayNameNormalized(String displayNameNormalized) { } + global void setEmail(String email) { } + global void setImage1024(String image1024) { } + global void setImage192(String image192) { } + global void setImage24(String image24) { } + global void setImage32(String image32) { } + global void setImage48(String image48) { } + global void setImage512(String image512) { } + global void setImage72(String image72) { } + global void setImageOriginal(String imageOriginal) { } + global void setIsCustomImage(Boolean isCustomImage) { } + global void setRealName(String realName) { } + global void setRealNameNormalized(String realNameNormalized) { } + global void setTeam(String team) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/Conversation.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/Conversation.cls new file mode 100644 index 0000000..25a2aec --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/Conversation.cls @@ -0,0 +1,108 @@ +global class Conversation { + global Conversation() { } + global Object clone() { } + global List getConnectedLimitedTeamIds() { } + global List getConnectedTeamIds() { } + global String getContextTeamId() { } + global String getConversationHostId() { } + global Integer getCreated() { } + global String getCreator() { } + global Integer getDateConnected() { } + global String getEnterpriseId() { } + global String getId() { } + global List getInternalTeamIds() { } + global Integer getIsMoved() { } + global Boolean getIsUserDeleted() { } + global String getLastRead() { } + global Slack.Latest getLatest() { } + global String getLocale() { } + global String getName() { } + global String getNameNormalized() { } + global Integer getNumOfMembers() { } + global String getParentConversation() { } + global List getPendingConnectedTeamIds() { } + global List getPendingShared() { } + global List getPreviousNames() { } + global Double getPriority() { } + global Slack.Purpose getPurpose() { } + global List getSharedTeamIds() { } + global Slack.Topic getTopic() { } + global Integer getUnlinked() { } + global Integer getUnreadCount() { } + global Integer getUnreadCountDisplay() { } + global Long getUpdated() { } + global String getUser() { } + global Boolean isArchived() { } + global Boolean isChannel() { } + global Boolean isExtShared() { } + global Boolean isGeneral() { } + global Boolean isGlobalShared() { } + global Boolean isGroup() { } + global Boolean isIm() { } + global Boolean isMember() { } + global Boolean isMpim() { } + global Boolean isNonThreadable() { } + global Boolean isOpen() { } + global Boolean isOrgDefault() { } + global Boolean isOrgMandatory() { } + global Boolean isOrgShared() { } + global Boolean isPendingExtShared() { } + global Boolean isPrivate() { } + global Boolean isReadOnly() { } + global Boolean isShared() { } + global Boolean isStarred() { } + global Boolean isThreadOnly() { } + global void setArchived(Boolean isArchived) { } + global void setChannel(Boolean isChannel) { } + global void setConnectedLimitedTeamIds(List connectedLimitedTeamIds) { } + global void setConnectedTeamIds(List connectedTeamIds) { } + global void setContextTeamId(String contextTeamId) { } + global void setConversationHostId(String conversationHostId) { } + global void setCreated(Integer created) { } + global void setCreator(String creator) { } + global void setDateConnected(Integer dateConnected) { } + global void setEnterpriseId(String enterpriseId) { } + global void setExtShared(Boolean isExtShared) { } + global void setGeneral(Boolean isGeneral) { } + global void setGlobalShared(Boolean globalShared) { } + global void setGroup(Boolean isGroup) { } + global void setId(String id) { } + global void setIm(Boolean isIm) { } + global void setInternalTeamIds(List internalTeamIds) { } + global void setIsMoved(Integer isMoved) { } + global void setIsUserDeleted(Boolean isUserDeleted) { } + global void setLastRead(String lastRead) { } + global void setLatest(Slack.Latest latest) { } + global void setLocale(String locale) { } + global void setMember(Boolean isMember) { } + global void setMpim(Boolean isMpim) { } + global void setName(String name) { } + global void setNameNormalized(String nameNormalized) { } + global void setNonThreadable(Boolean isNonThreadable) { } + global void setNumOfMembers(Integer numOfMembers) { } + global void setOpen(Boolean open) { } + global void setOrgDefault(Boolean orgDefault) { } + global void setOrgMandatory(Boolean orgMandatory) { } + global void setOrgShared(Boolean isOrgShared) { } + global void setParentConversation(String parentConversation) { } + global void setPendingConnectedTeamIds(List pendingConnectedTeamIds) { } + global void setPendingExtShared(Boolean isPendingExtShared) { } + global void setPendingShared(List pendingShared) { } + global void setPreviousNames(List previousNames) { } + global void setPriority(Double priority) { } + global void setPrivate(Boolean isPrivate) { } + global void setPurpose(Slack.Purpose purpose) { } + global void setReadOnly(Boolean isReadOnly) { } + global void setShared(Boolean isShared) { } + global void setSharedTeamIds(List sharedTeamIds) { } + global void setStarred(Boolean isStarred) { } + global void setThreadOnly(Boolean isThreadOnly) { } + global void setTopic(Slack.Topic topic) { } + global void setUnlinked(Integer unlinked) { } + global void setUnreadCount(Integer unreadCount) { } + global void setUnreadCountDisplay(Integer unreadCountDisplay) { } + global void setUpdated(Long updated) { } + global void setUser(String user) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationType.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationType.cls new file mode 100644 index 0000000..5108198 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationType.cls @@ -0,0 +1,6 @@ +global enum ConversationType { +IM, +MPIM, +PRIVATE_CHANNEL, +PUBLIC_CHANNEL +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsAcceptSharedInviteRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsAcceptSharedInviteRequest.cls new file mode 100644 index 0000000..7bc1a17 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsAcceptSharedInviteRequest.cls @@ -0,0 +1,24 @@ +global class ConversationsAcceptSharedInviteRequest { + global static Slack.ConversationsAcceptSharedInviteRequest.Builder builder() { } + global Object clone() { } + global String getChannelId() { } + global String getChannelName() { } + global Boolean getFreeTrialAccept() { } + global String getInviteId() { } + global Boolean getIsPrivate() { } + global String getTeamId() { } + global String toString() { } +global class Builder { + global ConversationsAcceptSharedInviteRequest.Builder() { } + global Slack.ConversationsAcceptSharedInviteRequest build() { } + global Slack.ConversationsAcceptSharedInviteRequest.Builder channelId(String channelId) { } + global Slack.ConversationsAcceptSharedInviteRequest.Builder channelName(String channelName) { } + global Object clone() { } + global Slack.ConversationsAcceptSharedInviteRequest.Builder freeTrialAccept(Boolean freeTrialAccept) { } + global Slack.ConversationsAcceptSharedInviteRequest.Builder inviteId(String inviteId) { } + global Slack.ConversationsAcceptSharedInviteRequest.Builder isPrivate(Boolean isPrivate) { } + global Slack.ConversationsAcceptSharedInviteRequest.Builder teamId(String teamId) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsAcceptSharedInviteResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsAcceptSharedInviteResponse.cls new file mode 100644 index 0000000..f330aa3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsAcceptSharedInviteResponse.cls @@ -0,0 +1,26 @@ +global class ConversationsAcceptSharedInviteResponse { + global ConversationsAcceptSharedInviteResponse() { } + global Object clone() { } + global Boolean getCanOpenScdm() { } + global String getChannelId() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getInviteId() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isImplicitApproval() { } + global Boolean isOk() { } + global void setCanOpenScdm(Boolean canOpenScdm) { } + global void setChannelId(String channelId) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setImplicitApproval(Boolean implicitApproval) { } + global void setInviteId(String inviteId) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsArchiveRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsArchiveRequest.cls new file mode 100644 index 0000000..8cb5cf6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsArchiveRequest.cls @@ -0,0 +1,14 @@ +global class ConversationsArchiveRequest { + global static Slack.ConversationsArchiveRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global String toString() { } +global class Builder { + global ConversationsArchiveRequest.Builder() { } + global Slack.ConversationsArchiveRequest build() { } + global Slack.ConversationsArchiveRequest.Builder channel(String channel) { } + global Object clone() { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsArchiveResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsArchiveResponse.cls new file mode 100644 index 0000000..9ca8f7f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsArchiveResponse.cls @@ -0,0 +1,18 @@ +global class ConversationsArchiveResponse { + global ConversationsArchiveResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsCloseRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsCloseRequest.cls new file mode 100644 index 0000000..7047b45 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsCloseRequest.cls @@ -0,0 +1,14 @@ +global class ConversationsCloseRequest { + global static Slack.ConversationsCloseRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global String toString() { } +global class Builder { + global ConversationsCloseRequest.Builder() { } + global Slack.ConversationsCloseRequest build() { } + global Slack.ConversationsCloseRequest.Builder channel(String channel) { } + global Object clone() { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsCloseResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsCloseResponse.cls new file mode 100644 index 0000000..fa7b4b5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsCloseResponse.cls @@ -0,0 +1,22 @@ +global class ConversationsCloseResponse { + global ConversationsCloseResponse() { } + global Object clone() { } + global Boolean getAlreadyClosed() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global Boolean getNoOp() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setAlreadyClosed(Boolean alreadyClosed) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setNoOp(Boolean noOp) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsCreateRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsCreateRequest.cls new file mode 100644 index 0000000..50bcc7f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsCreateRequest.cls @@ -0,0 +1,18 @@ +global class ConversationsCreateRequest { + global static Slack.ConversationsCreateRequest.Builder builder() { } + global Object clone() { } + global String getName() { } + global String getTeamId() { } + global Boolean isPrivate() { } + global String toString() { } +global class Builder { + global ConversationsCreateRequest.Builder() { } + global Slack.ConversationsCreateRequest build() { } + global Object clone() { } + global Slack.ConversationsCreateRequest.Builder isPrivate(Boolean isPrivate) { } + global Slack.ConversationsCreateRequest.Builder name(String name) { } + global Slack.ConversationsCreateRequest.Builder teamId(String teamId) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsCreateResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsCreateResponse.cls new file mode 100644 index 0000000..52c9720 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsCreateResponse.cls @@ -0,0 +1,22 @@ +global class ConversationsCreateResponse { + global ConversationsCreateResponse() { } + global Object clone() { } + global Slack.Conversation getChannel() { } + global String getDetail() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setChannel(Slack.Conversation channel) { } + global void setDetail(String detail) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsDeclineSharedInviteRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsDeclineSharedInviteRequest.cls new file mode 100644 index 0000000..5895e8f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsDeclineSharedInviteRequest.cls @@ -0,0 +1,16 @@ +global class ConversationsDeclineSharedInviteRequest { + global static Slack.ConversationsDeclineSharedInviteRequest.Builder builder() { } + global Object clone() { } + global String getInviteId() { } + global String getTargetTeam() { } + global String toString() { } +global class Builder { + global ConversationsDeclineSharedInviteRequest.Builder() { } + global Slack.ConversationsDeclineSharedInviteRequest build() { } + global Object clone() { } + global Slack.ConversationsDeclineSharedInviteRequest.Builder inviteId(String inviteId) { } + global Slack.ConversationsDeclineSharedInviteRequest.Builder targetTeam(String targetTeam) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsDeclineSharedInviteResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsDeclineSharedInviteResponse.cls new file mode 100644 index 0000000..4df1aaa --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsDeclineSharedInviteResponse.cls @@ -0,0 +1,18 @@ +global class ConversationsDeclineSharedInviteResponse { + global ConversationsDeclineSharedInviteResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsHistoryRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsHistoryRequest.cls new file mode 100644 index 0000000..4a2a152 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsHistoryRequest.cls @@ -0,0 +1,26 @@ +global class ConversationsHistoryRequest { + global static Slack.ConversationsHistoryRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global String getCursor() { } + global String getLatest() { } + global Integer getLimit() { } + global String getOldest() { } + global Boolean isIncludeAllMetadata() { } + global Boolean isInclusive() { } + global String toString() { } +global class Builder { + global ConversationsHistoryRequest.Builder() { } + global Slack.ConversationsHistoryRequest build() { } + global Slack.ConversationsHistoryRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.ConversationsHistoryRequest.Builder cursor(String cursor) { } + global Slack.ConversationsHistoryRequest.Builder includeAllMetadata(Boolean includeAllMetadata) { } + global Slack.ConversationsHistoryRequest.Builder inclusive(Boolean inclusive) { } + global Slack.ConversationsHistoryRequest.Builder latest(String latest) { } + global Slack.ConversationsHistoryRequest.Builder limitValue(Integer limitValue) { } + global Slack.ConversationsHistoryRequest.Builder oldest(String oldest) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsHistoryResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsHistoryResponse.cls new file mode 100644 index 0000000..1d424eb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsHistoryResponse.cls @@ -0,0 +1,34 @@ +global class ConversationsHistoryResponse { + global ConversationsHistoryResponse() { } + global Object clone() { } + global Integer getChannelActionsCount() { } + global String getChannelActionsTs() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getLatest() { } + global List getMessages() { } + global String getNeeded() { } + global String getOldest() { } + global Integer getPinCount() { } + global String getProvided() { } + global Slack.ResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isHasMore() { } + global Boolean isOk() { } + global void setChannelActionsCount(Integer channelActionsCount) { } + global void setChannelActionsTs(String channelActionsTs) { } + global void setError(String error) { } + global void setHasMore(Boolean hasMore) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setLatest(String latest) { } + global void setMessages(List messages) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setOldest(String oldest) { } + global void setPinCount(Integer pinCount) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsInfoRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsInfoRequest.cls new file mode 100644 index 0000000..645fe4e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsInfoRequest.cls @@ -0,0 +1,18 @@ +global class ConversationsInfoRequest { + global static Slack.ConversationsInfoRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global Boolean isIncludeLocale() { } + global Boolean isIncludeNumMembers() { } + global String toString() { } +global class Builder { + global ConversationsInfoRequest.Builder() { } + global Slack.ConversationsInfoRequest build() { } + global Slack.ConversationsInfoRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.ConversationsInfoRequest.Builder includeLocale(Boolean includeLocale) { } + global Slack.ConversationsInfoRequest.Builder includeNumMembers(Boolean includeNumMembers) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsInfoResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsInfoResponse.cls new file mode 100644 index 0000000..52f9432 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsInfoResponse.cls @@ -0,0 +1,20 @@ +global class ConversationsInfoResponse { + global ConversationsInfoResponse() { } + global Object clone() { } + global Slack.Conversation getChannel() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setChannel(Slack.Conversation channel) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsInviteRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsInviteRequest.cls new file mode 100644 index 0000000..6ea0bda --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsInviteRequest.cls @@ -0,0 +1,16 @@ +global class ConversationsInviteRequest { + global static Slack.ConversationsInviteRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global List getUsers() { } + global String toString() { } +global class Builder { + global ConversationsInviteRequest.Builder() { } + global Slack.ConversationsInviteRequest build() { } + global Slack.ConversationsInviteRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.ConversationsInviteRequest.Builder users(List users) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsInviteResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsInviteResponse.cls new file mode 100644 index 0000000..2818ac7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsInviteResponse.cls @@ -0,0 +1,31 @@ +global class ConversationsInviteResponse { + global ConversationsInviteResponse() { } + global Object clone() { } + global Slack.Conversation getChannel() { } + global String getError() { } + global List getErrors() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setChannel(Slack.Conversation channel) { } + global void setError(String error) { } + global void setErrors(List errors) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } +global class Error { + global ConversationsInviteResponse.Error() { } + global Object clone() { } + global String getError() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setOk(Boolean ok) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsInviteSharedRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsInviteSharedRequest.cls new file mode 100644 index 0000000..3a7e7e7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsInviteSharedRequest.cls @@ -0,0 +1,20 @@ +global class ConversationsInviteSharedRequest { + global static Slack.ConversationsInviteSharedRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global List getEmails() { } + global Boolean getExternalLimited() { } + global List getUserIds() { } + global String toString() { } +global class Builder { + global ConversationsInviteSharedRequest.Builder() { } + global Slack.ConversationsInviteSharedRequest build() { } + global Slack.ConversationsInviteSharedRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.ConversationsInviteSharedRequest.Builder emails(List emails) { } + global Slack.ConversationsInviteSharedRequest.Builder externalLimited(Boolean externalLimited) { } + global Slack.ConversationsInviteSharedRequest.Builder userIds(List userIds) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsInviteSharedResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsInviteSharedResponse.cls new file mode 100644 index 0000000..8acb484 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsInviteSharedResponse.cls @@ -0,0 +1,26 @@ +global class ConversationsInviteSharedResponse { + global ConversationsInviteSharedResponse() { } + global Object clone() { } + global String getConfCode() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getInviteId() { } + global String getNeeded() { } + global String getProvided() { } + global String getUrl() { } + global String getWarning() { } + global Boolean isLegacySharedChannel() { } + global Boolean isOk() { } + global void setConfCode(String confCode) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setInviteId(String inviteId) { } + global void setLegacySharedChannel(Boolean isLegacySharedChannel) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setUrl(String url) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsJoinRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsJoinRequest.cls new file mode 100644 index 0000000..d553773 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsJoinRequest.cls @@ -0,0 +1,14 @@ +global class ConversationsJoinRequest { + global static Slack.ConversationsJoinRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global String toString() { } +global class Builder { + global ConversationsJoinRequest.Builder() { } + global Slack.ConversationsJoinRequest build() { } + global Slack.ConversationsJoinRequest.Builder channel(String channel) { } + global Object clone() { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsJoinResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsJoinResponse.cls new file mode 100644 index 0000000..80033c0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsJoinResponse.cls @@ -0,0 +1,22 @@ +global class ConversationsJoinResponse { + global ConversationsJoinResponse() { } + global Object clone() { } + global Slack.Conversation getChannel() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.WarningResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isOk() { } + global void setChannel(Slack.Conversation channel) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.WarningResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsKickRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsKickRequest.cls new file mode 100644 index 0000000..5514297 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsKickRequest.cls @@ -0,0 +1,16 @@ +global class ConversationsKickRequest { + global static Slack.ConversationsKickRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global String getUser() { } + global String toString() { } +global class Builder { + global ConversationsKickRequest.Builder() { } + global Slack.ConversationsKickRequest build() { } + global Slack.ConversationsKickRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.ConversationsKickRequest.Builder user(String user) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsKickResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsKickResponse.cls new file mode 100644 index 0000000..8a02c55 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsKickResponse.cls @@ -0,0 +1,18 @@ +global class ConversationsKickResponse { + global ConversationsKickResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsLeaveRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsLeaveRequest.cls new file mode 100644 index 0000000..fd16a8d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsLeaveRequest.cls @@ -0,0 +1,14 @@ +global class ConversationsLeaveRequest { + global static Slack.ConversationsLeaveRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global String toString() { } +global class Builder { + global ConversationsLeaveRequest.Builder() { } + global Slack.ConversationsLeaveRequest build() { } + global Slack.ConversationsLeaveRequest.Builder channel(String channel) { } + global Object clone() { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsLeaveResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsLeaveResponse.cls new file mode 100644 index 0000000..3799759 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsLeaveResponse.cls @@ -0,0 +1,20 @@ +global class ConversationsLeaveResponse { + global ConversationsLeaveResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isNotInChannel() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setNotInChannel(Boolean notInChannel) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsListConnectInvitesRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsListConnectInvitesRequest.cls new file mode 100644 index 0000000..348b979 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsListConnectInvitesRequest.cls @@ -0,0 +1,18 @@ +global class ConversationsListConnectInvitesRequest { + global static Slack.ConversationsListConnectInvitesRequest.Builder builder() { } + global Object clone() { } + global Integer getCount() { } + global String getCursor() { } + global String getTeamId() { } + global String toString() { } +global class Builder { + global ConversationsListConnectInvitesRequest.Builder() { } + global Slack.ConversationsListConnectInvitesRequest build() { } + global Object clone() { } + global Slack.ConversationsListConnectInvitesRequest.Builder count(Integer count) { } + global Slack.ConversationsListConnectInvitesRequest.Builder cursor(String cursor) { } + global Slack.ConversationsListConnectInvitesRequest.Builder teamId(String teamId) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsListConnectInvitesResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsListConnectInvitesResponse.cls new file mode 100644 index 0000000..8ea095f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsListConnectInvitesResponse.cls @@ -0,0 +1,24 @@ +global class ConversationsListConnectInvitesResponse { + global ConversationsListConnectInvitesResponse() { } + global Object clone() { } + global String getArg() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global List getInvites() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isOk() { } + global void setArg(String arg) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setInvites(List invites) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsListRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsListRequest.cls new file mode 100644 index 0000000..b5443f2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsListRequest.cls @@ -0,0 +1,21 @@ +global class ConversationsListRequest { + global static Slack.ConversationsListRequest.Builder builder() { } + global Object clone() { } + global String getCursor() { } + global Integer getLimit() { } + global String getTeamId() { } + global Boolean isExcludeArchived() { } + global String toString() { } +global class Builder { + global ConversationsListRequest.Builder() { } + global Slack.ConversationsListRequest build() { } + global Object clone() { } + global Slack.ConversationsListRequest.Builder cursor(String cursor) { } + global Slack.ConversationsListRequest.Builder excludeArchived(Boolean excludeArchived) { } + global Slack.ConversationsListRequest.Builder limitValue(Integer limitValue) { } + global Slack.ConversationsListRequest.Builder teamId(String teamId) { } + global Slack.ConversationsListRequest.Builder types(List types) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsListResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsListResponse.cls new file mode 100644 index 0000000..edf6c62 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsListResponse.cls @@ -0,0 +1,22 @@ +global class ConversationsListResponse { + global ConversationsListResponse() { } + global Object clone() { } + global List getChannels() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isOk() { } + global void setChannels(List channels) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsMarkRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsMarkRequest.cls new file mode 100644 index 0000000..4ad5a96 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsMarkRequest.cls @@ -0,0 +1,16 @@ +global class ConversationsMarkRequest { + global static Slack.ConversationsMarkRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global String getTs() { } + global String toString() { } +global class Builder { + global ConversationsMarkRequest.Builder() { } + global Slack.ConversationsMarkRequest build() { } + global Slack.ConversationsMarkRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.ConversationsMarkRequest.Builder ts(String ts) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsMarkResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsMarkResponse.cls new file mode 100644 index 0000000..aadc2a7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsMarkResponse.cls @@ -0,0 +1,20 @@ +global class ConversationsMarkResponse { + global ConversationsMarkResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsMembersRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsMembersRequest.cls new file mode 100644 index 0000000..315613f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsMembersRequest.cls @@ -0,0 +1,18 @@ +global class ConversationsMembersRequest { + global static Slack.ConversationsMembersRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global String getCursor() { } + global Integer getLimit() { } + global String toString() { } +global class Builder { + global ConversationsMembersRequest.Builder() { } + global Slack.ConversationsMembersRequest build() { } + global Slack.ConversationsMembersRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.ConversationsMembersRequest.Builder cursor(String cursor) { } + global Slack.ConversationsMembersRequest.Builder limitValue(Integer limitValue) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsMembersResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsMembersResponse.cls new file mode 100644 index 0000000..675ac1d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsMembersResponse.cls @@ -0,0 +1,22 @@ +global class ConversationsMembersResponse { + global ConversationsMembersResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global List getMembers() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setMembers(List members) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsOpenRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsOpenRequest.cls new file mode 100644 index 0000000..efe6272 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsOpenRequest.cls @@ -0,0 +1,18 @@ +global class ConversationsOpenRequest { + global static Slack.ConversationsOpenRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global List getUsers() { } + global Boolean isReturnIm() { } + global String toString() { } +global class Builder { + global ConversationsOpenRequest.Builder() { } + global Slack.ConversationsOpenRequest build() { } + global Slack.ConversationsOpenRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.ConversationsOpenRequest.Builder returnIm(Boolean returnIm) { } + global Slack.ConversationsOpenRequest.Builder users(List users) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsOpenResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsOpenResponse.cls new file mode 100644 index 0000000..9c0f706 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsOpenResponse.cls @@ -0,0 +1,24 @@ +global class ConversationsOpenResponse { + global ConversationsOpenResponse() { } + global Object clone() { } + global Slack.Conversation getChannel() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isAlreadyOpen() { } + global Boolean isNoOp() { } + global Boolean isOk() { } + global void setAlreadyOpen(Boolean alreadyOpen) { } + global void setChannel(Slack.Conversation channel) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setNoOp(Boolean noOp) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsRenameRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsRenameRequest.cls new file mode 100644 index 0000000..9602803 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsRenameRequest.cls @@ -0,0 +1,16 @@ +global class ConversationsRenameRequest { + global static Slack.ConversationsRenameRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global String getName() { } + global String toString() { } +global class Builder { + global ConversationsRenameRequest.Builder() { } + global Slack.ConversationsRenameRequest build() { } + global Slack.ConversationsRenameRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.ConversationsRenameRequest.Builder name(String name) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsRenameResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsRenameResponse.cls new file mode 100644 index 0000000..62551bc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsRenameResponse.cls @@ -0,0 +1,20 @@ +global class ConversationsRenameResponse { + global ConversationsRenameResponse() { } + global Object clone() { } + global Slack.Conversation getChannel() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setChannel(Slack.Conversation channel) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsRepliesRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsRepliesRequest.cls new file mode 100644 index 0000000..0baacc9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsRepliesRequest.cls @@ -0,0 +1,28 @@ +global class ConversationsRepliesRequest { + global static Slack.ConversationsRepliesRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global String getCursor() { } + global String getLatest() { } + global Integer getLimit() { } + global String getOldest() { } + global String getTs() { } + global Boolean isIncludeAllMetadata() { } + global Boolean isInclusive() { } + global String toString() { } +global class Builder { + global ConversationsRepliesRequest.Builder() { } + global Slack.ConversationsRepliesRequest build() { } + global Slack.ConversationsRepliesRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.ConversationsRepliesRequest.Builder cursor(String cursor) { } + global Slack.ConversationsRepliesRequest.Builder includeAllMetadata(Boolean includeAllMetadata) { } + global Slack.ConversationsRepliesRequest.Builder inclusive(Boolean inclusive) { } + global Slack.ConversationsRepliesRequest.Builder latest(String latest) { } + global Slack.ConversationsRepliesRequest.Builder limitValue(Integer limitValue) { } + global Slack.ConversationsRepliesRequest.Builder oldest(String oldest) { } + global Slack.ConversationsRepliesRequest.Builder ts(String ts) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsRepliesResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsRepliesResponse.cls new file mode 100644 index 0000000..79baf31 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsRepliesResponse.cls @@ -0,0 +1,24 @@ +global class ConversationsRepliesResponse { + global ConversationsRepliesResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global List getMessages() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isHasMore() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHasMore(Boolean hasMore) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setMessages(List messages) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsSetPurposeRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsSetPurposeRequest.cls new file mode 100644 index 0000000..c4ac677 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsSetPurposeRequest.cls @@ -0,0 +1,16 @@ +global class ConversationsSetPurposeRequest { + global static Slack.ConversationsSetPurposeRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global String getPurpose() { } + global String toString() { } +global class Builder { + global ConversationsSetPurposeRequest.Builder() { } + global Slack.ConversationsSetPurposeRequest build() { } + global Slack.ConversationsSetPurposeRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.ConversationsSetPurposeRequest.Builder purpose(String purpose) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsSetPurposeResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsSetPurposeResponse.cls new file mode 100644 index 0000000..5599634 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsSetPurposeResponse.cls @@ -0,0 +1,20 @@ +global class ConversationsSetPurposeResponse { + global ConversationsSetPurposeResponse() { } + global Object clone() { } + global Slack.Conversation getChannel() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setChannel(Slack.Conversation channel) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsSetTopicRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsSetTopicRequest.cls new file mode 100644 index 0000000..83c674e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsSetTopicRequest.cls @@ -0,0 +1,16 @@ +global class ConversationsSetTopicRequest { + global static Slack.ConversationsSetTopicRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global String getTopic() { } + global String toString() { } +global class Builder { + global ConversationsSetTopicRequest.Builder() { } + global Slack.ConversationsSetTopicRequest build() { } + global Slack.ConversationsSetTopicRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.ConversationsSetTopicRequest.Builder topic(String topic) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsSetTopicResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsSetTopicResponse.cls new file mode 100644 index 0000000..5b0833c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsSetTopicResponse.cls @@ -0,0 +1,20 @@ +global class ConversationsSetTopicResponse { + global ConversationsSetTopicResponse() { } + global Object clone() { } + global Slack.Conversation getChannel() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setChannel(Slack.Conversation channel) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsUnarchiveRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsUnarchiveRequest.cls new file mode 100644 index 0000000..c5e6bbf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsUnarchiveRequest.cls @@ -0,0 +1,14 @@ +global class ConversationsUnarchiveRequest { + global static Slack.ConversationsUnarchiveRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global String toString() { } +global class Builder { + global ConversationsUnarchiveRequest.Builder() { } + global Slack.ConversationsUnarchiveRequest build() { } + global Slack.ConversationsUnarchiveRequest.Builder channel(String channel) { } + global Object clone() { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsUnarchiveResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsUnarchiveResponse.cls new file mode 100644 index 0000000..c70a44a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ConversationsUnarchiveResponse.cls @@ -0,0 +1,18 @@ +global class ConversationsUnarchiveResponse { + global ConversationsUnarchiveResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/DndEndDndRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/DndEndDndRequest.cls new file mode 100644 index 0000000..f842a68 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/DndEndDndRequest.cls @@ -0,0 +1,12 @@ +global class DndEndDndRequest { + global static Slack.DndEndDndRequest.Builder builder() { } + global Object clone() { } + global String toString() { } +global class Builder { + global DndEndDndRequest.Builder() { } + global Slack.DndEndDndRequest build() { } + global Object clone() { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/DndEndDndResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/DndEndDndResponse.cls new file mode 100644 index 0000000..67ec228 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/DndEndDndResponse.cls @@ -0,0 +1,18 @@ +global class DndEndDndResponse { + global DndEndDndResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/DndEndSnoozeRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/DndEndSnoozeRequest.cls new file mode 100644 index 0000000..c8db0da --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/DndEndSnoozeRequest.cls @@ -0,0 +1,12 @@ +global class DndEndSnoozeRequest { + global static Slack.DndEndSnoozeRequest.Builder builder() { } + global Object clone() { } + global String toString() { } +global class Builder { + global DndEndSnoozeRequest.Builder() { } + global Slack.DndEndSnoozeRequest build() { } + global Object clone() { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/DndEndSnoozeResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/DndEndSnoozeResponse.cls new file mode 100644 index 0000000..635ab45 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/DndEndSnoozeResponse.cls @@ -0,0 +1,26 @@ +global class DndEndSnoozeResponse { + global DndEndSnoozeResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global Integer getNextDndEndTs() { } + global Integer getNextDndStartTs() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isDndEnabled() { } + global Boolean isOk() { } + global Boolean isSnoozeEnabled() { } + global void setDndEnabled(Boolean dndEnabled) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setNextDndEndTs(Integer nextDndEndTs) { } + global void setNextDndStartTs(Integer nextDndStartTs) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setSnoozeEnabled(Boolean snoozeEnabled) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/DndInfoRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/DndInfoRequest.cls new file mode 100644 index 0000000..cbe6327 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/DndInfoRequest.cls @@ -0,0 +1,16 @@ +global class DndInfoRequest { + global static Slack.DndInfoRequest.Builder builder() { } + global Object clone() { } + global String getTeamId() { } + global String getUser() { } + global String toString() { } +global class Builder { + global DndInfoRequest.Builder() { } + global Slack.DndInfoRequest build() { } + global Object clone() { } + global Slack.DndInfoRequest.Builder teamId(String teamId) { } + global Slack.DndInfoRequest.Builder user(String user) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/DndInfoResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/DndInfoResponse.cls new file mode 100644 index 0000000..788aa50 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/DndInfoResponse.cls @@ -0,0 +1,30 @@ +global class DndInfoResponse { + global DndInfoResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global Integer getNextDndEndTs() { } + global Integer getNextDndStartTs() { } + global String getProvided() { } + global Integer getSnoozeEndtime() { } + global Integer getSnoozeRemaining() { } + global String getWarning() { } + global Boolean isDndEnabled() { } + global Boolean isOk() { } + global Boolean isSnoozeEnabled() { } + global void setDndEnabled(Boolean dndEnabled) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setNextDndEndTs(Integer nextDndEndTs) { } + global void setNextDndStartTs(Integer nextDndStartTs) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setSnoozeEnabled(Boolean snoozeEnabled) { } + global void setSnoozeEndtime(Integer snoozeEndtime) { } + global void setSnoozeRemaining(Integer snoozeRemaining) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/DndSetSnoozeRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/DndSetSnoozeRequest.cls new file mode 100644 index 0000000..e1f57f6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/DndSetSnoozeRequest.cls @@ -0,0 +1,14 @@ +global class DndSetSnoozeRequest { + global static Slack.DndSetSnoozeRequest.Builder builder() { } + global Object clone() { } + global Integer getNumMinutes() { } + global String toString() { } +global class Builder { + global DndSetSnoozeRequest.Builder() { } + global Slack.DndSetSnoozeRequest build() { } + global Object clone() { } + global Slack.DndSetSnoozeRequest.Builder numMinutes(Integer numMinutes) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/DndSetSnoozeResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/DndSetSnoozeResponse.cls new file mode 100644 index 0000000..5c48575 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/DndSetSnoozeResponse.cls @@ -0,0 +1,26 @@ +global class DndSetSnoozeResponse { + global DndSetSnoozeResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Integer getSnoozeEndtime() { } + global Integer getSnoozeRemaining() { } + global String getWarning() { } + global Boolean isOk() { } + global Boolean isSnoozeEnabled() { } + global Boolean isSnoozeIsIndefinite() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setSnoozeEnabled(Boolean snoozeEnabled) { } + global void setSnoozeEndtime(Integer snoozeEndtime) { } + global void setSnoozeIsIndefinite(Boolean snoozeIsIndefinite) { } + global void setSnoozeRemaining(Integer snoozeRemaining) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/DndTeamInfoRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/DndTeamInfoRequest.cls new file mode 100644 index 0000000..9640257 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/DndTeamInfoRequest.cls @@ -0,0 +1,16 @@ +global class DndTeamInfoRequest { + global static Slack.DndTeamInfoRequest.Builder builder() { } + global Object clone() { } + global String getTeamId() { } + global List getUsers() { } + global String toString() { } +global class Builder { + global DndTeamInfoRequest.Builder() { } + global Slack.DndTeamInfoRequest build() { } + global Object clone() { } + global Slack.DndTeamInfoRequest.Builder teamId(String teamId) { } + global Slack.DndTeamInfoRequest.Builder users(List users) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/DndTeamInfoResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/DndTeamInfoResponse.cls new file mode 100644 index 0000000..99e59d9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/DndTeamInfoResponse.cls @@ -0,0 +1,31 @@ +global class DndTeamInfoResponse { + global DndTeamInfoResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Map getUsers() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setUsers(Map users) { } + global void setWarning(String warning) { } + global String toString() { } +global class DndTeamMemberInfo { + global DndTeamInfoResponse.DndTeamMemberInfo() { } + global Object clone() { } + global Integer getNextDndEndTs() { } + global Integer getNextDndStartTs() { } + global Boolean isDndEnabled() { } + global void setDndEnabled(Boolean dndEnabled) { } + global void setNextDndEndTs(Integer nextDndEndTs) { } + global void setNextDndStartTs(Integer nextDndStartTs) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/DndUpdatedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/DndUpdatedEvent.cls new file mode 100644 index 0000000..e04595a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/DndUpdatedEvent.cls @@ -0,0 +1,31 @@ +global class DndUpdatedEvent { + global DndUpdatedEvent() { } + global Object clone() { } + global Slack.DndUpdatedEvent.DndStatus getDndStatus() { } + global String getEventTs() { } + global String getSubtype() { } + global String getType() { } + global String getUser() { } + global void setDndStatus(Slack.DndUpdatedEvent.DndStatus dndStatus) { } + global void setEventTs(String eventTs) { } + global void setUser(String user) { } + global String toString() { } +global class DndStatus { + global DndUpdatedEvent.DndStatus() { } + global Object clone() { } + global Integer getNextDndEndTs() { } + global Integer getNextDndStartTs() { } + global Integer getSnoozeEndtime() { } + global Integer getSnoozeRemaining() { } + global Boolean isDndEnabled() { } + global Boolean isSnoozeEnabled() { } + global void setDndEnabled(Boolean dndEnabled) { } + global void setNextDndEndTs(Integer nextDndEndTs) { } + global void setNextDndStartTs(Integer nextDndStartTs) { } + global void setSnoozeEnabled(Boolean snoozeEnabled) { } + global void setSnoozeEndtime(Integer snoozeEndtime) { } + global void setSnoozeRemaining(Integer snoozeRemaining) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/DndUpdatedUserEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/DndUpdatedUserEvent.cls new file mode 100644 index 0000000..550fb25 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/DndUpdatedUserEvent.cls @@ -0,0 +1,25 @@ +global class DndUpdatedUserEvent { + global DndUpdatedUserEvent() { } + global Object clone() { } + global Slack.DndUpdatedUserEvent.DndStatus getDndStatus() { } + global String getEventTs() { } + global String getSubtype() { } + global String getType() { } + global String getUser() { } + global void setDndStatus(Slack.DndUpdatedUserEvent.DndStatus dndStatus) { } + global void setEventTs(String eventTs) { } + global void setUser(String user) { } + global String toString() { } +global class DndStatus { + global DndUpdatedUserEvent.DndStatus() { } + global Object clone() { } + global Integer getNextDndEndTs() { } + global Integer getNextDndStartTs() { } + global Boolean isDndEnabled() { } + global void setDndEnabled(Boolean dndEnabled) { } + global void setNextDndEndTs(Integer nextDndEndTs) { } + global void setNextDndStartTs(Integer nextDndStartTs) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/EmailDomainChangedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/EmailDomainChangedEvent.cls new file mode 100644 index 0000000..cf6ef8c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/EmailDomainChangedEvent.cls @@ -0,0 +1,12 @@ +global class EmailDomainChangedEvent { + global EmailDomainChangedEvent() { } + global Object clone() { } + global String getEmailDomain() { } + global String getEventTs() { } + global String getSubtype() { } + global String getType() { } + global void setEmailDomain(String emailDomain) { } + global void setEventTs(String eventTs) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/EmojiChangedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/EmojiChangedEvent.cls new file mode 100644 index 0000000..8bf8e6e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/EmojiChangedEvent.cls @@ -0,0 +1,21 @@ +global class EmojiChangedEvent { + global EmojiChangedEvent() { } + global Object clone() { } + global String getEventTs() { } + global String getName() { } + global List getNames() { } + global String getNewName() { } + global String getOldName() { } + global String getSubtype() { } + global String getType() { } + global String getValue() { } + global void setEventTs(String eventTs) { } + global void setName(String name) { } + global void setNames(List names) { } + global void setNewName(String newName) { } + global void setOldName(String oldName) { } + global void setSubtype(String subtype) { } + global void setValue(String value) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/EmojiListRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/EmojiListRequest.cls new file mode 100644 index 0000000..8f886a6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/EmojiListRequest.cls @@ -0,0 +1,14 @@ +global class EmojiListRequest { + global static Slack.EmojiListRequest.Builder builder() { } + global Object clone() { } + global Boolean getIncludeCategories() { } + global String toString() { } +global class Builder { + global EmojiListRequest.Builder() { } + global Slack.EmojiListRequest build() { } + global Object clone() { } + global Slack.EmojiListRequest.Builder includeCategories(Boolean includeCategories) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/EmojiListResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/EmojiListResponse.cls new file mode 100644 index 0000000..65a0d92 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/EmojiListResponse.cls @@ -0,0 +1,35 @@ +global class EmojiListResponse { + global EmojiListResponse() { } + global Object clone() { } + global String getCacheTs() { } + global List getCategories() { } + global String getCategoriesVersion() { } + global Map getEmoji() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setCacheTs(String cacheTs) { } + global void setCategories(List categories) { } + global void setCategoriesVersion(String categoriesVersion) { } + global void setEmoji(Map emoji) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } +global class Category { + global EmojiListResponse.Category() { } + global Object clone() { } + global List getEmojiNames() { } + global String getName() { } + global void setEmojiNames(List emojiNames) { } + global void setName(String name) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ErrorReport.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ErrorReport.cls new file mode 100644 index 0000000..c852187 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ErrorReport.cls @@ -0,0 +1,22 @@ +global class ErrorReport { + global static Slack.ErrorReport.Builder builder() { } + global Object clone() { } + global String getChannelId() { } + global String getMessage() { } + global Slack.ViewReference getMessageView() { } + global Slack.ViewReference getModalView() { } + global String getUserId() { } + global Boolean isEmpty() { } +global class Builder { + global ErrorReport.Builder() { } + global Slack.ErrorReport build() { } + global Slack.ErrorReport.Builder channelId(String channelId) { } + global Object clone() { } + global Slack.ErrorReport.Builder message(String message) { } + global Slack.ErrorReport.Builder messageView(Slack.ViewReference viewReference) { } + global Slack.ErrorReport.Builder modalView(Slack.ViewReference viewReference) { } + global Slack.ErrorReport.Builder userId(String userId) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ErrorResponseMetadata.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ErrorResponseMetadata.cls new file mode 100644 index 0000000..2e0bddd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ErrorResponseMetadata.cls @@ -0,0 +1,8 @@ +global class ErrorResponseMetadata { + global ErrorResponseMetadata() { } + global Object clone() { } + global List getMessages() { } + global void setMessages(List messages) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/Event.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/Event.cls new file mode 100644 index 0000000..5c1ac7a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/Event.cls @@ -0,0 +1,7 @@ +global class Event { + global Event() { } + global Object clone() { } + global String getSubtype() { } + global String getType() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/EventDispatcher.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/EventDispatcher.cls new file mode 100644 index 0000000..71036de --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/EventDispatcher.cls @@ -0,0 +1,7 @@ +global class EventDispatcher { + global EventDispatcher() { } + global Boolean allowUnauthenticatedUsers() { } + global Object clone() { } + global Slack.ActionHandler invoke(Slack.EventParameters param0, Slack.RequestContext param1) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/EventParameters.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/EventParameters.cls new file mode 100644 index 0000000..757ebc7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/EventParameters.cls @@ -0,0 +1,8 @@ +global class EventParameters { + global EventParameters(Slack.Event event, String eventId, Integer eventTime) { } + global Object clone() { } + global Slack.Event getEvent() { } + global String getEventId() { } + global Integer getEventTime() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/Field.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/Field.cls new file mode 100644 index 0000000..58103b8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/Field.cls @@ -0,0 +1,12 @@ +global class Field { + global Field() { } + global Object clone() { } + global String getTitle() { } + global String getValue() { } + global Boolean isValueShortEnough() { } + global void setTitle(String title) { } + global void setValue(String value) { } + global void setValueShortEnough(Boolean valueShortEnough) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/File.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/File.cls new file mode 100644 index 0000000..24e3510 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/File.cls @@ -0,0 +1,329 @@ +global class File { + global File() { } + global Object clone() { } + global String getAltTxt() { } + global String getAppId() { } + global String getAppName() { } + global List getCc() { } + global Integer getChannelActionsCount() { } + global String getChannelActionsTs() { } + global List getChannels() { } + global String getConvertedPdf() { } + global Integer getCreated() { } + global String getDeanimate() { } + global String getDeanimateGif() { } + global Integer getDurationMs() { } + global String getEditLink() { } + global String getEditor() { } + global String getExternalId() { } + global String getExternalType() { } + global String getExternalUrl() { } + global String getFileAccess() { } + global String getFiletype() { } + global List getFrom() { } + global List getGroups() { } + global Slack.File.Headers getHeaders() { } + global String getHls() { } + global String getHlsEmbed() { } + global String getId() { } + global Integer getImageExifRotation() { } + global List getIms() { } + global String getLastEditor() { } + global Integer getLines() { } + global Integer getLinesMore() { } + global String getMediaDisplayType() { } + global Slack.File.MediaProgress getMediaProgress() { } + global String getMimetype() { } + global String getMode() { } + global String getMp4() { } + global String getName() { } + global Integer getOriginalAttachmentCount() { } + global String getOriginalHeight() { } + global String getOriginalWidth() { } + global String getPermalink() { } + global String getPermalinkPublic() { } + global Map getPinnedInfo() { } + global String getPjpeg() { } + global String getPlainText() { } + global String getPrettyType() { } + global String getPreview() { } + global String getPreviewHighlight() { } + global String getPreviewPlainText() { } + global Slack.File.Shares getShares() { } + global String getSimplifiedHtml() { } + global Integer getSize() { } + global String getSubject() { } + global String getSubtype() { } + global String getThumb1024() { } + global String getThumb1024Gif() { } + global String getThumb1024Height() { } + global String getThumb1024Width() { } + global String getThumb160() { } + global String getThumb160Gif() { } + global String getThumb160Height() { } + global String getThumb160Width() { } + global String getThumb360() { } + global String getThumb360Gif() { } + global String getThumb360Height() { } + global String getThumb360Width() { } + global String getThumb480() { } + global String getThumb480Gif() { } + global String getThumb480Height() { } + global String getThumb480Width() { } + global String getThumb64() { } + global String getThumb64Gif() { } + global String getThumb64Height() { } + global String getThumb64Width() { } + global String getThumb720() { } + global String getThumb720Gif() { } + global String getThumb720Height() { } + global String getThumb720Width() { } + global String getThumb80() { } + global String getThumb800() { } + global String getThumb800Gif() { } + global String getThumb800Height() { } + global String getThumb800Width() { } + global String getThumb80Gif() { } + global String getThumb80Height() { } + global String getThumb80Width() { } + global String getThumb960() { } + global String getThumb960Gif() { } + global String getThumb960Height() { } + global String getThumb960Width() { } + global String getThumbGif() { } + global String getThumbPdf() { } + global String getThumbPdfHeight() { } + global String getThumbPdfWidth() { } + global String getThumbTiny() { } + global String getThumbVideo() { } + global Integer getThumbVideoH() { } + global Integer getThumbVideoW() { } + global Integer getTimestamp() { } + global String getTitle() { } + global List getTo() { } + global Slack.File.Transcription getTranscription() { } + global Integer getUpdated() { } + global String getUrlPrivate() { } + global String getUrlPrivateDownload() { } + global String getUser() { } + global String getUserTeam() { } + global String getUsername() { } + global String getVtt() { } + global Boolean isDisplayAsBot() { } + global Boolean isEditable() { } + global Boolean isExternal() { } + global Boolean isHasMore() { } + global Boolean isHasRichPreview() { } + global Boolean isNonOwnerEditable() { } + global Boolean isPreviewTruncated() { } + global Boolean isPublicUrlShared() { } + global Boolean isSentToSelf() { } + global Boolean isStarred() { } + global Boolean ispublic() { } + global void setAltTxt(String altTxt) { } + global void setAppId(String appId) { } + global void setAppName(String appName) { } + global void setCc(List cc) { } + global void setChannelActionsCount(Integer channelActionsCount) { } + global void setChannelActionsTs(String channelActionsTs) { } + global void setChannels(List channels) { } + global void setConvertedPdf(String convertedPdf) { } + global void setCreated(Integer created) { } + global void setDeanimate(String deanimate) { } + global void setDeanimateGif(String deanimateGif) { } + global void setDisplayAsBot(Boolean displayAsBot) { } + global void setDurationMs(Integer durationMs) { } + global void setEditLink(String editLink) { } + global void setEditable(Boolean editable) { } + global void setEditor(String editor) { } + global void setExternal(Boolean external) { } + global void setExternalId(String externalId) { } + global void setExternalType(String externalType) { } + global void setExternalUrl(String externalUrl) { } + global void setFileAccess(String fileAccess) { } + global void setFiletype(String filetype) { } + global void setFrom(List fromValue) { } + global void setGroups(List groups) { } + global void setHasMore(Boolean hasMore) { } + global void setHasRichPreview(Boolean hasRichPreview) { } + global void setHeaders(Slack.File.Headers headers) { } + global void setHls(String hls) { } + global void setHlsEmbed(String hlsEmbed) { } + global void setId(String id) { } + global void setImageExifRotation(Integer imageExifRotation) { } + global void setIms(List ims) { } + global void setLastEditor(String lastEditor) { } + global void setLines(Integer lines) { } + global void setLinesMore(Integer linesMore) { } + global void setMediaDisplayType(String mediaDisplayType) { } + global void setMediaProgress(Slack.File.MediaProgress mediaProgress) { } + global void setMimetype(String mimetype) { } + global void setMode(String mode) { } + global void setMp4(String mp4) { } + global void setName(String name) { } + global void setNonOwnerEditable(Boolean nonOwnerEditable) { } + global void setOriginalAttachmentCount(Integer originalAttachmentCount) { } + global void setOriginalHeight(String originalHeight) { } + global void setOriginalWidth(String originalWidth) { } + global void setPermalink(String permalink) { } + global void setPermalinkPublic(String permalinkPublic) { } + global void setPinnedInfo(Map pinnedInfo) { } + global void setPjpeg(String pjpeg) { } + global void setPlainText(String plainText) { } + global void setPrettyType(String prettyType) { } + global void setPreview(String preview) { } + global void setPreviewHighlight(String previewHighlight) { } + global void setPreviewPlainText(String previewPlainText) { } + global void setPreviewTruncated(Boolean previewTruncated) { } + global void setPublicUrlShared(Boolean publicUrlShared) { } + global void setSentToSelf(Boolean sentToSelf) { } + global void setShares(Slack.File.Shares shares) { } + global void setSimplifiedHtml(String simplifiedHtml) { } + global void setSize(Integer size) { } + global void setStarred(Boolean starred) { } + global void setSubject(String subject) { } + global void setSubtype(String subtype) { } + global void setThumb1024(String thumb1024) { } + global void setThumb1024Gif(String thumb1024Gif) { } + global void setThumb1024Height(String thumb1024Height) { } + global void setThumb1024Width(String thumb1024Width) { } + global void setThumb160(String thumb160) { } + global void setThumb160Gif(String thumb160Gif) { } + global void setThumb160Height(String thumb160Height) { } + global void setThumb160Width(String thumb160Width) { } + global void setThumb360(String thumb360) { } + global void setThumb360Gif(String thumb360Gif) { } + global void setThumb360Height(String thumb360Height) { } + global void setThumb360Width(String thumb360Width) { } + global void setThumb480(String thumb480) { } + global void setThumb480Gif(String thumb480Gif) { } + global void setThumb480Height(String thumb480Height) { } + global void setThumb480Width(String thumb480Width) { } + global void setThumb64(String thumb64) { } + global void setThumb64Gif(String thumb64Gif) { } + global void setThumb64Height(String thumb64Height) { } + global void setThumb64Width(String thumb64Width) { } + global void setThumb720(String thumb720) { } + global void setThumb720Gif(String thumb720Gif) { } + global void setThumb720Height(String thumb720Height) { } + global void setThumb720Width(String thumb720Width) { } + global void setThumb80(String thumb80) { } + global void setThumb800(String thumb800) { } + global void setThumb800Gif(String thumb800Gif) { } + global void setThumb800Height(String thumb800Height) { } + global void setThumb800Width(String thumb800Width) { } + global void setThumb80Gif(String thumb80Gif) { } + global void setThumb80Height(String thumb80Height) { } + global void setThumb80Width(String thumb80Width) { } + global void setThumb960(String thumb960) { } + global void setThumb960Gif(String thumb960Gif) { } + global void setThumb960Height(String thumb960Height) { } + global void setThumb960Width(String thumb960Width) { } + global void setThumbGif(String thumbGif) { } + global void setThumbPdf(String thumbPdf) { } + global void setThumbPdfHeight(String thumbPdfHeight) { } + global void setThumbPdfWidth(String thumbPdfWidth) { } + global void setThumbTiny(String thumbTiny) { } + global void setThumbVideo(String thumbVideo) { } + global void setThumbVideoH(Integer thumbVideoH) { } + global void setThumbVideoW(Integer thumbVideoW) { } + global void setTimestamp(Integer timestamp) { } + global void setTitle(String title) { } + global void setTo(List to) { } + global void setTranscription(Slack.File.Transcription transcription) { } + global void setUpdated(Integer updated) { } + global void setUrlPrivate(String urlPrivate) { } + global void setUrlPrivateDownload(String urlPrivateDownload) { } + global void setUser(String user) { } + global void setUserTeam(String userTeam) { } + global void setUsername(String username) { } + global void setVtt(String vtt) { } + global void setpublic(Boolean _public) { } + global String toString() { } +global class Address { + global File.Address() { } + global Object clone() { } + global String getAddress() { } + global String getName() { } + global String getOriginal() { } + global void setAddress(String address) { } + global void setName(String name) { } + global void setOriginal(String original) { } + +} +global class Headers { + global File.Headers() { } + global Object clone() { } + global String getDate() { } + global String getInReplyTo() { } + global String getMessageId() { } + global String getReplyTo() { } + global void setDate(String dateValue) { } + global void setInReplyTo(String inReplyTo) { } + global void setMessageId(String messageId) { } + global void setReplyTo(String replyTo) { } + +} +global class MediaProgress { + global File.MediaProgress() { } + global Object clone() { } + global Integer getDurationMs() { } + global Integer getMaxOffsetMs() { } + global Integer getOffsetMs() { } + global void setDurationMs(Integer durationMs) { } + global void setMaxOffsetMs(Integer maxOffsetMs) { } + global void setOffsetMs(Integer offsetMs) { } + +} +global class PinnedInfo { + global File.PinnedInfo() { } + global Object clone() { } + global String getPinnedBy() { } + global Integer getPinnedTs() { } + global void setPinnedBy(String pinnedBy) { } + global void setPinnedTs(Integer pinnedTs) { } + +} +global class ShareDetail { + global File.ShareDetail() { } + global Object clone() { } + global String getChannelName() { } + global String getLatestReply() { } + global Integer getReplyCount() { } + global List getReplyUsers() { } + global Integer getReplyUsersCount() { } + global String getShareUserId() { } + global String getTeamId() { } + global String getThreadTs() { } + global String getTs() { } + global void setChannelName(String channelName) { } + global void setLatestReply(String latestReply) { } + global void setReplyCount(Integer replyCount) { } + global void setReplyUsers(List replyUsers) { } + global void setReplyUsersCount(Integer replyUsersCount) { } + global void setShareUserId(String shareUserId) { } + global void setTeamId(String teamId) { } + global void setThreadTs(String threadTs) { } + global void setTs(String ts) { } + +} +global class Shares { + global File.Shares() { } + global Object clone() { } + global Map> getPrivateChannels() { } + global Map> getPublicChannels() { } + global void setPrivateChannels(Map> privateChannels) { } + global void setPublicChannels(Map> publicChannels) { } + +} +global class Transcription { + global File.Transcription() { } + global Object clone() { } + global String getLocale() { } + global String getStatus() { } + global void setLocale(String locale) { } + global void setStatus(String status) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FileChangeEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FileChangeEvent.cls new file mode 100644 index 0000000..9b02a8e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FileChangeEvent.cls @@ -0,0 +1,19 @@ +global class FileChangeEvent { + global FileChangeEvent() { } + global Object clone() { } + global Slack.FileChangeEvent.File getFile() { } + global String getFileId() { } + global String getSubtype() { } + global String getType() { } + global void setFile(Slack.FileChangeEvent.File file) { } + global void setFileId(String fileId) { } + global String toString() { } +global class File { + global FileChangeEvent.File() { } + global Object clone() { } + global String getId() { } + global void setId(String id) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FileComment.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FileComment.cls new file mode 100644 index 0000000..df9a45b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FileComment.cls @@ -0,0 +1,20 @@ +global class FileComment { + global FileComment() { } + global Object clone() { } + global String getChannel() { } + global String getComment() { } + global Integer getCreated() { } + global String getId() { } + global Integer getTimestamp() { } + global String getUser() { } + global Boolean isIntro() { } + global void setChannel(String channel) { } + global void setComment(String comment) { } + global void setCreated(Integer created) { } + global void setId(String id) { } + global void setIntro(Boolean intro) { } + global void setTimestamp(Integer timestamp) { } + global void setUser(String user) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FileCreatedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FileCreatedEvent.cls new file mode 100644 index 0000000..7deb019 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FileCreatedEvent.cls @@ -0,0 +1,23 @@ +global class FileCreatedEvent { + global FileCreatedEvent() { } + global Object clone() { } + global String getEventTs() { } + global Slack.FileCreatedEvent.File getFile() { } + global String getFileId() { } + global String getSubtype() { } + global String getType() { } + global String getUserId() { } + global void setEventTs(String eventTs) { } + global void setFile(Slack.FileCreatedEvent.File file) { } + global void setFileId(String fileId) { } + global void setUserId(String userId) { } + global String toString() { } +global class File { + global FileCreatedEvent.File() { } + global Object clone() { } + global String getId() { } + global void setId(String id) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FileDeletedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FileDeletedEvent.cls new file mode 100644 index 0000000..12cb9e1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FileDeletedEvent.cls @@ -0,0 +1,14 @@ +global class FileDeletedEvent { + global FileDeletedEvent() { } + global Object clone() { } + global List getChannelIds() { } + global String getEventTs() { } + global String getFileId() { } + global String getSubtype() { } + global String getType() { } + global void setChannelIds(List channelIds) { } + global void setEventTs(String eventTs) { } + global void setFileId(String fileId) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FilePublicEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FilePublicEvent.cls new file mode 100644 index 0000000..3c58c9f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FilePublicEvent.cls @@ -0,0 +1,23 @@ +global class FilePublicEvent { + global FilePublicEvent() { } + global Object clone() { } + global String getEventTs() { } + global Slack.FilePublicEvent.File getFile() { } + global String getFileId() { } + global String getSubtype() { } + global String getType() { } + global String getUserId() { } + global void setEventTs(String eventTs) { } + global void setFile(Slack.FilePublicEvent.File file) { } + global void setFileId(String fileId) { } + global void setUserId(String userId) { } + global String toString() { } +global class File { + global FilePublicEvent.File() { } + global Object clone() { } + global String getId() { } + global void setId(String id) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FileSharedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FileSharedEvent.cls new file mode 100644 index 0000000..215770f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FileSharedEvent.cls @@ -0,0 +1,25 @@ +global class FileSharedEvent { + global FileSharedEvent() { } + global Object clone() { } + global String getChannelId() { } + global String getEventTs() { } + global Slack.FileSharedEvent.File getFile() { } + global String getFileId() { } + global String getSubtype() { } + global String getType() { } + global String getUserId() { } + global void setChannelId(String channelId) { } + global void setEventTs(String eventTs) { } + global void setFile(Slack.FileSharedEvent.File file) { } + global void setFileId(String fileId) { } + global void setUserId(String userId) { } + global String toString() { } +global class File { + global FileSharedEvent.File() { } + global Object clone() { } + global String getId() { } + global void setId(String id) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FileUnsharedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FileUnsharedEvent.cls new file mode 100644 index 0000000..97bb5ce --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FileUnsharedEvent.cls @@ -0,0 +1,25 @@ +global class FileUnsharedEvent { + global FileUnsharedEvent() { } + global Object clone() { } + global String getChannelId() { } + global String getEventTs() { } + global Slack.FileUnsharedEvent.File getFile() { } + global String getFileId() { } + global String getSubtype() { } + global String getType() { } + global String getUserId() { } + global void setChannelId(String channelId) { } + global void setEventTs(String eventTs) { } + global void setFile(Slack.FileUnsharedEvent.File file) { } + global void setFileId(String fileId) { } + global void setUserId(String userId) { } + global String toString() { } +global class File { + global FileUnsharedEvent.File() { } + global Object clone() { } + global String getId() { } + global void setId(String id) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FilesDeleteRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesDeleteRequest.cls new file mode 100644 index 0000000..e5cbbd7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesDeleteRequest.cls @@ -0,0 +1,14 @@ +global class FilesDeleteRequest { + global static Slack.FilesDeleteRequest.Builder builder() { } + global Object clone() { } + global String getFile() { } + global String toString() { } +global class Builder { + global FilesDeleteRequest.Builder() { } + global Slack.FilesDeleteRequest build() { } + global Object clone() { } + global Slack.FilesDeleteRequest.Builder file(String file) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FilesDeleteResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesDeleteResponse.cls new file mode 100644 index 0000000..61523dc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesDeleteResponse.cls @@ -0,0 +1,18 @@ +global class FilesDeleteResponse { + global FilesDeleteResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FilesDownloadRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesDownloadRequest.cls new file mode 100644 index 0000000..bd46bbf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesDownloadRequest.cls @@ -0,0 +1,14 @@ +global class FilesDownloadRequest { + global static Slack.FilesDownloadRequest.Builder builder() { } + global Object clone() { } + global Slack.File getFile() { } + global String toString() { } +global class Builder { + global FilesDownloadRequest.Builder() { } + global Slack.FilesDownloadRequest build() { } + global Object clone() { } + global Slack.FilesDownloadRequest.Builder file(Slack.File file) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FilesInfoRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesInfoRequest.cls new file mode 100644 index 0000000..58fa575 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesInfoRequest.cls @@ -0,0 +1,18 @@ +global class FilesInfoRequest { + global static Slack.FilesInfoRequest.Builder builder() { } + global Object clone() { } + global Integer getCount() { } + global String getFile() { } + global Integer getPage() { } + global String toString() { } +global class Builder { + global FilesInfoRequest.Builder() { } + global Slack.FilesInfoRequest build() { } + global Object clone() { } + global Slack.FilesInfoRequest.Builder count(Integer count) { } + global Slack.FilesInfoRequest.Builder file(String file) { } + global Slack.FilesInfoRequest.Builder page(Integer page) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FilesInfoResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesInfoResponse.cls new file mode 100644 index 0000000..e76a27f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesInfoResponse.cls @@ -0,0 +1,28 @@ +global class FilesInfoResponse { + global FilesInfoResponse() { } + global Object clone() { } + global String getContent() { } + global String getContentHighlightCss() { } + global String getContentHighlightHtml() { } + global String getError() { } + global Slack.File getFile() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global Boolean isTruncated() { } + global void setContent(String content) { } + global void setContentHighlightCss(String contentHighlightCss) { } + global void setContentHighlightHtml(String contentHighlightHtml) { } + global void setError(String error) { } + global void setFile(Slack.File file) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setTruncated(Boolean truncated) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FilesListRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesListRequest.cls new file mode 100644 index 0000000..c0e6d18 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesListRequest.cls @@ -0,0 +1,30 @@ +global class FilesListRequest { + global static Slack.FilesListRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global Integer getCount() { } + global Integer getPage() { } + global String getTeamId() { } + global String getTsFrom() { } + global String getTsTo() { } + global List getTypes() { } + global String getUser() { } + global Boolean isShowFilesHiddenByLimit() { } + global String toString() { } +global class Builder { + global FilesListRequest.Builder() { } + global Slack.FilesListRequest build() { } + global Slack.FilesListRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.FilesListRequest.Builder count(Integer count) { } + global Slack.FilesListRequest.Builder page(Integer page) { } + global Slack.FilesListRequest.Builder showFilesHiddenByLimit(Boolean showFilesHiddenByLimit) { } + global Slack.FilesListRequest.Builder teamId(String teamId) { } + global Slack.FilesListRequest.Builder tsFrom(String tsFrom) { } + global Slack.FilesListRequest.Builder tsTo(String tsTo) { } + global Slack.FilesListRequest.Builder types(List types) { } + global Slack.FilesListRequest.Builder user(String user) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FilesListResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesListResponse.cls new file mode 100644 index 0000000..f129bf8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesListResponse.cls @@ -0,0 +1,22 @@ +global class FilesListResponse { + global FilesListResponse() { } + global Object clone() { } + global String getError() { } + global List getFiles() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global Slack.Paging getPaging() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setFiles(List files) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setPaging(Slack.Paging paging) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteAddRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteAddRequest.cls new file mode 100644 index 0000000..f30d3a5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteAddRequest.cls @@ -0,0 +1,20 @@ +global class FilesRemoteAddRequest { + global static Slack.FilesRemoteAddRequest.Builder builder() { } + global Object clone() { } + global String getExternalId() { } + global String getExternalUrl() { } + global String getFiletype() { } + global String getTitle() { } + global String toString() { } +global class Builder { + global FilesRemoteAddRequest.Builder() { } + global Slack.FilesRemoteAddRequest build() { } + global Object clone() { } + global Slack.FilesRemoteAddRequest.Builder externalId(String externalId) { } + global Slack.FilesRemoteAddRequest.Builder externalUrl(String externalUrl) { } + global Slack.FilesRemoteAddRequest.Builder filetype(String filetype) { } + global Slack.FilesRemoteAddRequest.Builder title(String title) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteAddResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteAddResponse.cls new file mode 100644 index 0000000..741c39a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteAddResponse.cls @@ -0,0 +1,20 @@ +global class FilesRemoteAddResponse { + global FilesRemoteAddResponse() { } + global Object clone() { } + global String getError() { } + global Slack.File getFile() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setFile(Slack.File file) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteInfoRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteInfoRequest.cls new file mode 100644 index 0000000..9409d61 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteInfoRequest.cls @@ -0,0 +1,16 @@ +global class FilesRemoteInfoRequest { + global static Slack.FilesRemoteInfoRequest.Builder builder() { } + global Object clone() { } + global String getExternalId() { } + global String getFile() { } + global String toString() { } +global class Builder { + global FilesRemoteInfoRequest.Builder() { } + global Slack.FilesRemoteInfoRequest build() { } + global Object clone() { } + global Slack.FilesRemoteInfoRequest.Builder externalId(String externalId) { } + global Slack.FilesRemoteInfoRequest.Builder file(String file) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteInfoResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteInfoResponse.cls new file mode 100644 index 0000000..da1ed8c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteInfoResponse.cls @@ -0,0 +1,20 @@ +global class FilesRemoteInfoResponse { + global FilesRemoteInfoResponse() { } + global Object clone() { } + global String getError() { } + global Slack.File getFile() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setFile(Slack.File file) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteListRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteListRequest.cls new file mode 100644 index 0000000..878c8e3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteListRequest.cls @@ -0,0 +1,22 @@ +global class FilesRemoteListRequest { + global static Slack.FilesRemoteListRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global String getCursor() { } + global Integer getLimit() { } + global String getTsFrom() { } + global String getTsTo() { } + global String toString() { } +global class Builder { + global FilesRemoteListRequest.Builder() { } + global Slack.FilesRemoteListRequest build() { } + global Slack.FilesRemoteListRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.FilesRemoteListRequest.Builder cursor(String cursor) { } + global Slack.FilesRemoteListRequest.Builder limitValue(Integer limitValue) { } + global Slack.FilesRemoteListRequest.Builder tsFrom(String tsFrom) { } + global Slack.FilesRemoteListRequest.Builder tsTo(String tsTo) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteListResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteListResponse.cls new file mode 100644 index 0000000..1e4324c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteListResponse.cls @@ -0,0 +1,22 @@ +global class FilesRemoteListResponse { + global FilesRemoteListResponse() { } + global Object clone() { } + global String getError() { } + global List getFiles() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setFiles(List files) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteRemoveRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteRemoveRequest.cls new file mode 100644 index 0000000..ee38a31 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteRemoveRequest.cls @@ -0,0 +1,16 @@ +global class FilesRemoteRemoveRequest { + global static Slack.FilesRemoteRemoveRequest.Builder builder() { } + global Object clone() { } + global String getExternalId() { } + global String getFile() { } + global String toString() { } +global class Builder { + global FilesRemoteRemoveRequest.Builder() { } + global Slack.FilesRemoteRemoveRequest build() { } + global Object clone() { } + global Slack.FilesRemoteRemoveRequest.Builder externalId(String externalId) { } + global Slack.FilesRemoteRemoveRequest.Builder file(String file) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteRemoveResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteRemoveResponse.cls new file mode 100644 index 0000000..99ba4ea --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteRemoveResponse.cls @@ -0,0 +1,18 @@ +global class FilesRemoteRemoveResponse { + global FilesRemoteRemoveResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteShareRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteShareRequest.cls new file mode 100644 index 0000000..0583a7b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteShareRequest.cls @@ -0,0 +1,18 @@ +global class FilesRemoteShareRequest { + global static Slack.FilesRemoteShareRequest.Builder builder() { } + global Object clone() { } + global List getChannels() { } + global String getExternalId() { } + global String getFile() { } + global String toString() { } +global class Builder { + global FilesRemoteShareRequest.Builder() { } + global Slack.FilesRemoteShareRequest build() { } + global Slack.FilesRemoteShareRequest.Builder channels(List channels) { } + global Object clone() { } + global Slack.FilesRemoteShareRequest.Builder externalId(String externalId) { } + global Slack.FilesRemoteShareRequest.Builder file(String file) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteShareResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteShareResponse.cls new file mode 100644 index 0000000..908ded9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteShareResponse.cls @@ -0,0 +1,20 @@ +global class FilesRemoteShareResponse { + global FilesRemoteShareResponse() { } + global Object clone() { } + global String getError() { } + global Slack.File getFile() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setFile(Slack.File file) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteUpdateRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteUpdateRequest.cls new file mode 100644 index 0000000..38aa139 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteUpdateRequest.cls @@ -0,0 +1,20 @@ +global class FilesRemoteUpdateRequest { + global static Slack.FilesRemoteUpdateRequest.Builder builder() { } + global Object clone() { } + global String getExternalId() { } + global String getExternalUrl() { } + global String getFiletype() { } + global String getTitle() { } + global String toString() { } +global class Builder { + global FilesRemoteUpdateRequest.Builder() { } + global Slack.FilesRemoteUpdateRequest build() { } + global Object clone() { } + global Slack.FilesRemoteUpdateRequest.Builder externalId(String externalId) { } + global Slack.FilesRemoteUpdateRequest.Builder externalUrl(String externalUrl) { } + global Slack.FilesRemoteUpdateRequest.Builder filetype(String filetype) { } + global Slack.FilesRemoteUpdateRequest.Builder title(String title) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteUpdateResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteUpdateResponse.cls new file mode 100644 index 0000000..c229013 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRemoteUpdateResponse.cls @@ -0,0 +1,20 @@ +global class FilesRemoteUpdateResponse { + global FilesRemoteUpdateResponse() { } + global Object clone() { } + global String getError() { } + global Slack.File getFile() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setFile(Slack.File file) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRevokePublicURLRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRevokePublicURLRequest.cls new file mode 100644 index 0000000..f0c764e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRevokePublicURLRequest.cls @@ -0,0 +1,14 @@ +global class FilesRevokePublicURLRequest { + global static Slack.FilesRevokePublicURLRequest.Builder builder() { } + global Object clone() { } + global String getFile() { } + global String toString() { } +global class Builder { + global FilesRevokePublicURLRequest.Builder() { } + global Slack.FilesRevokePublicURLRequest build() { } + global Object clone() { } + global Slack.FilesRevokePublicURLRequest.Builder file(String file) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRevokePublicURLResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRevokePublicURLResponse.cls new file mode 100644 index 0000000..7b31c2c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesRevokePublicURLResponse.cls @@ -0,0 +1,20 @@ +global class FilesRevokePublicURLResponse { + global FilesRevokePublicURLResponse() { } + global Object clone() { } + global String getError() { } + global Slack.File getFile() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setFile(Slack.File file) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FilesSharedPublicURLRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesSharedPublicURLRequest.cls new file mode 100644 index 0000000..6a8a6dc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesSharedPublicURLRequest.cls @@ -0,0 +1,14 @@ +global class FilesSharedPublicURLRequest { + global static Slack.FilesSharedPublicURLRequest.Builder builder() { } + global Object clone() { } + global String getFile() { } + global String toString() { } +global class Builder { + global FilesSharedPublicURLRequest.Builder() { } + global Slack.FilesSharedPublicURLRequest build() { } + global Object clone() { } + global Slack.FilesSharedPublicURLRequest.Builder file(String file) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/FilesSharedPublicURLResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesSharedPublicURLResponse.cls new file mode 100644 index 0000000..364b1bc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/FilesSharedPublicURLResponse.cls @@ -0,0 +1,20 @@ +global class FilesSharedPublicURLResponse { + global FilesSharedPublicURLResponse() { } + global Object clone() { } + global String getError() { } + global Slack.File getFile() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setFile(Slack.File file) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/GridMigrationFinishedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/GridMigrationFinishedEvent.cls new file mode 100644 index 0000000..a06d695 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/GridMigrationFinishedEvent.cls @@ -0,0 +1,10 @@ +global class GridMigrationFinishedEvent { + global GridMigrationFinishedEvent() { } + global Object clone() { } + global String getEnterpriseId() { } + global String getSubtype() { } + global String getType() { } + global void setEnterpriseId(String enterpriseId) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/GridMigrationStartedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/GridMigrationStartedEvent.cls new file mode 100644 index 0000000..0a4a112 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/GridMigrationStartedEvent.cls @@ -0,0 +1,10 @@ +global class GridMigrationStartedEvent { + global GridMigrationStartedEvent() { } + global Object clone() { } + global String getEnterpriseId() { } + global String getSubtype() { } + global String getType() { } + global void setEnterpriseId(String enterpriseId) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/GroupArchiveEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/GroupArchiveEvent.cls new file mode 100644 index 0000000..e1f9fac --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/GroupArchiveEvent.cls @@ -0,0 +1,18 @@ +global class GroupArchiveEvent { + global GroupArchiveEvent() { } + global Object clone() { } + global String getActorId() { } + global String getChannel() { } + global String getEventTs() { } + global Integer getIsMoved() { } + global String getSubtype() { } + global String getType() { } + global String getUser() { } + global void setActorId(String actorId) { } + global void setChannel(String channel) { } + global void setEventTs(String eventTs) { } + global void setIsMoved(Integer isMoved) { } + global void setUser(String user) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/GroupCloseEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/GroupCloseEvent.cls new file mode 100644 index 0000000..4c03441 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/GroupCloseEvent.cls @@ -0,0 +1,12 @@ +global class GroupCloseEvent { + global GroupCloseEvent() { } + global Object clone() { } + global String getChannel() { } + global String getSubtype() { } + global String getType() { } + global String getUser() { } + global void setChannel(String channel) { } + global void setUser(String user) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/GroupDeletedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/GroupDeletedEvent.cls new file mode 100644 index 0000000..0ec9faf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/GroupDeletedEvent.cls @@ -0,0 +1,16 @@ +global class GroupDeletedEvent { + global GroupDeletedEvent() { } + global Object clone() { } + global String getActorId() { } + global String getChannel() { } + global Integer getDateDeleted() { } + global String getEventTs() { } + global String getSubtype() { } + global String getType() { } + global void setActorId(String actorId) { } + global void setChannel(String channel) { } + global void setDateDeleted(Integer dateDeleted) { } + global void setEventTs(String eventTs) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/GroupHistoryChangedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/GroupHistoryChangedEvent.cls new file mode 100644 index 0000000..67af859 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/GroupHistoryChangedEvent.cls @@ -0,0 +1,14 @@ +global class GroupHistoryChangedEvent { + global GroupHistoryChangedEvent() { } + global Object clone() { } + global String getEventTs() { } + global String getLatest() { } + global String getSubtype() { } + global String getTs() { } + global String getType() { } + global void setEventTs(String eventTs) { } + global void setLatest(String latest) { } + global void setTs(String ts) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/GroupLeftEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/GroupLeftEvent.cls new file mode 100644 index 0000000..0ce8b8a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/GroupLeftEvent.cls @@ -0,0 +1,14 @@ +global class GroupLeftEvent { + global GroupLeftEvent() { } + global Object clone() { } + global String getActorId() { } + global String getChannel() { } + global String getEventTs() { } + global String getSubtype() { } + global String getType() { } + global void setActorId(String actorId) { } + global void setChannel(String channel) { } + global void setEventTs(String eventTs) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/GroupOpenEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/GroupOpenEvent.cls new file mode 100644 index 0000000..3d69b94 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/GroupOpenEvent.cls @@ -0,0 +1,12 @@ +global class GroupOpenEvent { + global GroupOpenEvent() { } + global Object clone() { } + global String getChannel() { } + global String getSubtype() { } + global String getType() { } + global String getUser() { } + global void setChannel(String channel) { } + global void setUser(String user) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/GroupRenameEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/GroupRenameEvent.cls new file mode 100644 index 0000000..0d67653 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/GroupRenameEvent.cls @@ -0,0 +1,31 @@ +global class GroupRenameEvent { + global GroupRenameEvent() { } + global Object clone() { } + global Slack.GroupRenameEvent.Channel getChannel() { } + global String getEventTs() { } + global String getSubtype() { } + global String getType() { } + global void setChannel(Slack.GroupRenameEvent.Channel channel) { } + global void setEventTs(String eventTs) { } + global String toString() { } +global class Channel { + global GroupRenameEvent.Channel() { } + global Object clone() { } + global Integer getCreated() { } + global String getId() { } + global String getName() { } + global String getNameNormalized() { } + global Boolean isChannel() { } + global Boolean isGroup() { } + global Boolean isMpim() { } + global void setChannel(Boolean isChannel) { } + global void setCreated(Integer created) { } + global void setGroup(Boolean isGroup) { } + global void setId(String id) { } + global void setMpim(Boolean isMpim) { } + global void setName(String name) { } + global void setNameNormalized(String nameNormalized) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/GroupUnarchiveEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/GroupUnarchiveEvent.cls new file mode 100644 index 0000000..d58f9b7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/GroupUnarchiveEvent.cls @@ -0,0 +1,14 @@ +global class GroupUnarchiveEvent { + global GroupUnarchiveEvent() { } + global Object clone() { } + global String getActorId() { } + global String getChannel() { } + global String getEventTs() { } + global String getSubtype() { } + global String getType() { } + global void setActorId(String actorId) { } + global void setChannel(String channel) { } + global void setEventTs(String eventTs) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/HomeView.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/HomeView.cls new file mode 100644 index 0000000..d64bf4d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/HomeView.cls @@ -0,0 +1,13 @@ +global class HomeView { + global static Slack.HomeView.Builder builder() { } + global Object clone() { } +global class Builder { + global HomeView.Builder() { } + global Slack.HomeView build() { } + global Object clone() { } + global Slack.HomeView.Builder externalId(String externalId) { } + global Slack.HomeView.Builder viewReference(Slack.ViewReference viewReference) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ImCloseEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ImCloseEvent.cls new file mode 100644 index 0000000..2458941 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ImCloseEvent.cls @@ -0,0 +1,14 @@ +global class ImCloseEvent { + global ImCloseEvent() { } + global Object clone() { } + global String getChannel() { } + global String getEventTs() { } + global String getSubtype() { } + global String getType() { } + global String getUser() { } + global void setChannel(String channel) { } + global void setEventTs(String eventTs) { } + global void setUser(String user) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ImCreatedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ImCreatedEvent.cls new file mode 100644 index 0000000..d250364 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ImCreatedEvent.cls @@ -0,0 +1,17 @@ +global class ImCreatedEvent { + global ImCreatedEvent() { } + global Object clone() { } + global Slack.ImCreatedEvent.Channel getChannel() { } + global String getSubtype() { } + global String getType() { } + global String getUser() { } + global void setChannel(Slack.ImCreatedEvent.Channel channel) { } + global void setUser(String user) { } + global String toString() { } +global class Channel { + global ImCreatedEvent.Channel() { } + global Object clone() { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ImHistoryChangedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ImHistoryChangedEvent.cls new file mode 100644 index 0000000..89bb622 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ImHistoryChangedEvent.cls @@ -0,0 +1,14 @@ +global class ImHistoryChangedEvent { + global ImHistoryChangedEvent() { } + global Object clone() { } + global String getEventTs() { } + global String getLatest() { } + global String getSubtype() { } + global String getTs() { } + global String getType() { } + global void setEventTs(String eventTs) { } + global void setLatest(String latest) { } + global void setTs(String ts) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ImOpenEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ImOpenEvent.cls new file mode 100644 index 0000000..86fba61 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ImOpenEvent.cls @@ -0,0 +1,14 @@ +global class ImOpenEvent { + global ImOpenEvent() { } + global Object clone() { } + global String getChannel() { } + global String getEventTs() { } + global String getSubtype() { } + global String getType() { } + global String getUser() { } + global void setChannel(String channel) { } + global void setEventTs(String eventTs) { } + global void setUser(String user) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/IntegrationLog.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/IntegrationLog.cls new file mode 100644 index 0000000..f12dc62 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/IntegrationLog.cls @@ -0,0 +1,38 @@ +global class IntegrationLog { + global IntegrationLog() { } + global Object clone() { } + global String getAppId() { } + global String getAppType() { } + global String getChangeType() { } + global String getChannel() { } + global Integer getDate() { } + global String getReason() { } + global String getResolution() { } + global String getRssFeedChangeType() { } + global String getRssFeedTitle() { } + global String getRssFeedUrl() { } + global String getScope() { } + global String getServiceId() { } + global String getServiceType() { } + global String getUserId() { } + global String getUserName() { } + global Boolean isRssFeed() { } + global void setAppId(String appId) { } + global void setAppType(String appType) { } + global void setChangeType(String changeType) { } + global void setChannel(String channel) { } + global void setDate(Integer dateValue) { } + global void setReason(String reason) { } + global void setResolution(String resolution) { } + global void setRssFeed(Boolean rssFeed) { } + global void setRssFeedChangeType(String rssFeedChangeType) { } + global void setRssFeedTitle(String rssFeedTitle) { } + global void setRssFeedUrl(String rssFeedUrl) { } + global void setScope(String scope) { } + global void setServiceId(String serviceId) { } + global void setServiceType(String serviceType) { } + global void setUserId(String userId) { } + global void setUserName(String userName) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/InviteRequestedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/InviteRequestedEvent.cls new file mode 100644 index 0000000..508411d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/InviteRequestedEvent.cls @@ -0,0 +1,46 @@ +global class InviteRequestedEvent { + global InviteRequestedEvent() { } + global Object clone() { } + global Slack.InviteRequestedEvent.InviteRequest getInviteRequest() { } + global String getSubtype() { } + global String getType() { } + global void setInviteRequest(Slack.InviteRequestedEvent.InviteRequest inviteRequest) { } + global String toString() { } +global class InviteRequest { + global InviteRequestedEvent.InviteRequest() { } + global Object clone() { } + global List getChannelIds() { } + global Integer getDateCreated() { } + global Integer getDateExpire() { } + global String getEmail() { } + global String getId() { } + global String getInviteType() { } + global String getRealName() { } + global String getRequestReason() { } + global List getRequesterIds() { } + global Slack.InviteRequestedEvent.Team getTeam() { } + global void setChannelIds(List channelIds) { } + global void setDateCreated(Integer dateCreated) { } + global void setDateExpire(Integer dateExpire) { } + global void setEmail(String email) { } + global void setId(String id) { } + global void setInviteType(String inviteType) { } + global void setRealName(String realName) { } + global void setRequestReason(String requestReason) { } + global void setRequesterIds(List requesterIds) { } + global void setTeam(Slack.InviteRequestedEvent.Team team) { } + +} +global class Team { + global InviteRequestedEvent.Team() { } + global Object clone() { } + global String getDomain() { } + global String getId() { } + global String getName() { } + global void setDomain(String domain) { } + global void setId(String id) { } + global void setName(String name) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/Latest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/Latest.cls new file mode 100644 index 0000000..ca917e1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/Latest.cls @@ -0,0 +1,55 @@ +global class Latest { + global Latest() { } + global Object clone() { } + global String getBotId() { } + global String getBotLink() { } + global Slack.BotProfile getBotProfile() { } + global String getClientMsgId() { } + global Slack.Latest.Edited getEdited() { } + global List getFiles() { } + global String getParentUserId() { } + global List getReactions() { } + global String getSubtype() { } + global String getTeam() { } + global String getText() { } + global String getThreadTs() { } + global String getTopic() { } + global String getTs() { } + global String getType() { } + global String getUser() { } + global String getUsername() { } + global List getXFiles() { } + global Boolean isDisplayAsBot() { } + global Boolean isUpload() { } + global void setBotId(String botId) { } + global void setBotLink(String botLink) { } + global void setBotProfile(Slack.BotProfile botProfile) { } + global void setClientMsgId(String clientMsgId) { } + global void setDisplayAsBot(Boolean displayAsBot) { } + global void setEdited(Slack.Latest.Edited edited) { } + global void setFiles(List files) { } + global void setParentUserId(String parentUserId) { } + global void setReactions(List reactions) { } + global void setSubtype(String subtype) { } + global void setTeam(String team) { } + global void setText(String text) { } + global void setThreadTs(String threadTs) { } + global void setTopic(String topic) { } + global void setTs(String ts) { } + global void setType(String type) { } + global void setUpload(Boolean upload) { } + global void setUser(String user) { } + global void setUsername(String username) { } + global void setXFiles(List xFiles) { } + global String toString() { } +global class Edited { + global Latest.Edited() { } + global Object clone() { } + global String getTs() { } + global String getUser() { } + global void setTs(String ts) { } + global void setUser(String user) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/LinkSharedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/LinkSharedEvent.cls new file mode 100644 index 0000000..7a5569d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/LinkSharedEvent.cls @@ -0,0 +1,35 @@ +global class LinkSharedEvent { + global LinkSharedEvent() { } + global Object clone() { } + global String getChannel() { } + global String getEventTs() { } + global List getLinks() { } + global String getMessageTs() { } + global String getSource() { } + global String getSubtype() { } + global String getThreadTs() { } + global String getType() { } + global String getUnfurlId() { } + global String getUser() { } + global Boolean isBotUserMember() { } + global void setBotUserMember(Boolean botUserMember) { } + global void setChannel(String channel) { } + global void setEventTs(String eventTs) { } + global void setLinks(List links) { } + global void setMessageTs(String messageTs) { } + global void setSource(String source) { } + global void setThreadTs(String threadTs) { } + global void setUnfurlId(String unfurlId) { } + global void setUser(String user) { } + global String toString() { } +global class Link { + global LinkSharedEvent.Link() { } + global Object clone() { } + global String getDomain() { } + global String getUrl() { } + global void setDomain(String domain) { } + global void setUrl(String url) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/Login.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/Login.cls new file mode 100644 index 0000000..69c8209 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/Login.cls @@ -0,0 +1,26 @@ +global class Login { + global Login() { } + global Object clone() { } + global Integer getCount() { } + global String getCountry() { } + global Integer getDateFirst() { } + global Integer getDateLast() { } + global String getIp() { } + global String getIsp() { } + global String getRegion() { } + global String getUserAgent() { } + global String getUserId() { } + global String getUsername() { } + global void setCount(Integer count) { } + global void setCountry(String country) { } + global void setDateFirst(Integer dateFirst) { } + global void setDateLast(Integer dateLast) { } + global void setIp(String ip) { } + global void setIsp(String isp) { } + global void setRegion(String region) { } + global void setUserAgent(String userAgent) { } + global void setUserId(String userId) { } + global void setUsername(String username) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/MatchedItem.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/MatchedItem.cls new file mode 100644 index 0000000..0279368 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/MatchedItem.cls @@ -0,0 +1,272 @@ +global class MatchedItem { + global MatchedItem() { } + global Object clone() { } + global String getBotId() { } + global List getCc() { } + global Slack.Channel getChannel() { } + global Integer getChannelActionsCount() { } + global String getChannelActionsTs() { } + global List getChannels() { } + global String getComment() { } + global Integer getCommentsCount() { } + global String getConvertedPdf() { } + global String getCreated() { } + global String getDeanimateGif() { } + global String getEditLink() { } + global String getEditor() { } + global String getExternalId() { } + global String getExternalType() { } + global String getExternalUrl() { } + global String getFileAccess() { } + global String getFileId() { } + global List getFiles() { } + global String getFiletype() { } + global List getFrom() { } + global List getGroups() { } + global String getId() { } + global String getIid() { } + global Integer getImageExifRotation() { } + global List getIms() { } + global String getLastEditor() { } + global Integer getLines() { } + global Integer getLinesMore() { } + global String getMediaDisplayType() { } + global String getMimetype() { } + global String getMode() { } + global String getName() { } + global Slack.MatchedItem.OtherItem getNext() { } + global Slack.MatchedItem.OtherItem getNext2() { } + global String getOriginalHeight() { } + global String getOriginalWidth() { } + global String getPermalink() { } + global String getPlainText() { } + global String getPrettyType() { } + global String getPreview() { } + global String getPreviewHighlight() { } + global String getPreviewPlainText() { } + global Slack.MatchedItem.OtherItem getPrevious() { } + global Slack.MatchedItem.OtherItem getPrevious2() { } + global String getScore() { } + global Integer getSize() { } + global String getSourceTeam() { } + global String getSubject() { } + global String getTeam() { } + global String getText() { } + global String getThumb1024() { } + global String getThumb1024Gif() { } + global String getThumb1024Height() { } + global String getThumb1024Width() { } + global String getThumb160() { } + global String getThumb160Gif() { } + global String getThumb160Height() { } + global String getThumb160Width() { } + global String getThumb360() { } + global String getThumb360Gif() { } + global String getThumb360Height() { } + global String getThumb360Width() { } + global String getThumb480() { } + global String getThumb480Gif() { } + global String getThumb480Height() { } + global String getThumb480Width() { } + global String getThumb64() { } + global String getThumb64Gif() { } + global String getThumb64Height() { } + global String getThumb64Width() { } + global String getThumb720() { } + global String getThumb720Gif() { } + global String getThumb720Height() { } + global String getThumb720Width() { } + global String getThumb80() { } + global String getThumb800() { } + global String getThumb800Gif() { } + global String getThumb800Height() { } + global String getThumb800Width() { } + global String getThumb80Gif() { } + global String getThumb80Height() { } + global String getThumb80Width() { } + global String getThumb960() { } + global String getThumb960Gif() { } + global String getThumb960Height() { } + global String getThumb960Width() { } + global String getThumbPdf() { } + global String getThumbPdfHeight() { } + global String getThumbPdfWidth() { } + global String getThumbTiny() { } + global String getThumbVideo() { } + global String getTimestamp() { } + global String getTitle() { } + global List getTo() { } + global String getTs() { } + global String getType() { } + global Integer getUpdated() { } + global String getUrlPrivate() { } + global String getUser() { } + global String getUserTeam() { } + global String getUsername() { } + global Boolean isDisplayAsBot() { } + global Boolean isEditable() { } + global Boolean isExternal() { } + global Boolean isHasMore() { } + global Boolean isHasRichPreview() { } + global Boolean isMpim() { } + global Boolean isNoReactions() { } + global Boolean isNonOwnerEditable() { } + global Boolean isPermalinkPublic() { } + global Boolean isPreviewTruncated() { } + global Boolean isPublicUrlShared() { } + global Boolean isSentToSelf() { } + global Boolean isStarred() { } + global Boolean isTopFile() { } + global Boolean isUrlPrivateDownload() { } + global Boolean ispublic() { } + global void setBotId(String botId) { } + global void setCc(List cc) { } + global void setChannel(Slack.Channel channel) { } + global void setChannelActionsCount(Integer channelActionsCount) { } + global void setChannelActionsTs(String channelActionsTs) { } + global void setChannels(List channels) { } + global void setComment(String comment) { } + global void setCommentsCount(Integer commentsCount) { } + global void setConvertedPdf(String convertedPdf) { } + global void setCreated(String created) { } + global void setDeanimateGif(String deanimateGif) { } + global void setDisplayAsBot(Boolean displayAsBot) { } + global void setEditLink(String editLink) { } + global void setEditable(Boolean editable) { } + global void setEditor(String editor) { } + global void setExternal(Boolean external) { } + global void setExternalId(String externalId) { } + global void setExternalType(String externalType) { } + global void setExternalUrl(String externalUrl) { } + global void setFileAccess(String fileAccess) { } + global void setFileId(String fileId) { } + global void setFiles(List files) { } + global void setFiletype(String filetype) { } + global void setFrom(List fromValue) { } + global void setGroups(List groups) { } + global void setHasMore(Boolean hasMore) { } + global void setHasRichPreview(Boolean hasRichPreview) { } + global void setId(String id) { } + global void setIid(String iid) { } + global void setImageExifRotation(Integer imageExifRotation) { } + global void setIms(List ims) { } + global void setLastEditor(String lastEditor) { } + global void setLines(Integer lines) { } + global void setLinesMore(Integer linesMore) { } + global void setMediaDisplayType(String mediaDisplayType) { } + global void setMimetype(String mimetype) { } + global void setMode(String mode) { } + global void setMpim(Boolean mpim) { } + global void setName(String name) { } + global void setNext(Slack.MatchedItem.OtherItem next) { } + global void setNext2(Slack.MatchedItem.OtherItem next2) { } + global void setNoReactions(Boolean noReactions) { } + global void setNonOwnerEditable(Boolean nonOwnerEditable) { } + global void setOriginalHeight(String originalHeight) { } + global void setOriginalWidth(String originalWidth) { } + global void setPermalink(String permalink) { } + global void setPermalinkPublic(Boolean permalinkPublic) { } + global void setPlainText(String plainText) { } + global void setPrettyType(String prettyType) { } + global void setPreview(String preview) { } + global void setPreviewHighlight(String previewHighlight) { } + global void setPreviewPlainText(String previewPlainText) { } + global void setPreviewTruncated(Boolean previewTruncated) { } + global void setPrevious(Slack.MatchedItem.OtherItem previous) { } + global void setPrevious2(Slack.MatchedItem.OtherItem previous2) { } + global void setPublicUrlShared(Boolean publicUrlShared) { } + global void setScore(String score) { } + global void setSentToSelf(Boolean sentToSelf) { } + global void setSize(Integer size) { } + global void setSourceTeam(String sourceTeam) { } + global void setStarred(Boolean starred) { } + global void setSubject(String subject) { } + global void setTeam(String team) { } + global void setText(String text) { } + global void setThumb1024(String thumb1024) { } + global void setThumb1024Gif(String thumb1024Gif) { } + global void setThumb1024Height(String thumb1024Height) { } + global void setThumb1024Width(String thumb1024Width) { } + global void setThumb160(String thumb160) { } + global void setThumb160Gif(String thumb160Gif) { } + global void setThumb160Height(String thumb160Height) { } + global void setThumb160Width(String thumb160Width) { } + global void setThumb360(String thumb360) { } + global void setThumb360Gif(String thumb360Gif) { } + global void setThumb360Height(String thumb360Height) { } + global void setThumb360Width(String thumb360Width) { } + global void setThumb480(String thumb480) { } + global void setThumb480Gif(String thumb480Gif) { } + global void setThumb480Height(String thumb480Height) { } + global void setThumb480Width(String thumb480Width) { } + global void setThumb64(String thumb64) { } + global void setThumb64Gif(String thumb64Gif) { } + global void setThumb64Height(String thumb64Height) { } + global void setThumb64Width(String thumb64Width) { } + global void setThumb720(String thumb720) { } + global void setThumb720Gif(String thumb720Gif) { } + global void setThumb720Height(String thumb720Height) { } + global void setThumb720Width(String thumb720Width) { } + global void setThumb80(String thumb80) { } + global void setThumb800(String thumb800) { } + global void setThumb800Gif(String thumb800Gif) { } + global void setThumb800Height(String thumb800Height) { } + global void setThumb800Width(String thumb800Width) { } + global void setThumb80Gif(String thumb80Gif) { } + global void setThumb80Height(String thumb80Height) { } + global void setThumb80Width(String thumb80Width) { } + global void setThumb960(String thumb960) { } + global void setThumb960Gif(String thumb960Gif) { } + global void setThumb960Height(String thumb960Height) { } + global void setThumb960Width(String thumb960Width) { } + global void setThumbPdf(String thumbPdf) { } + global void setThumbPdfHeight(String thumbPdfHeight) { } + global void setThumbPdfWidth(String thumbPdfWidth) { } + global void setThumbTiny(String thumbTiny) { } + global void setThumbVideo(String thumbVideo) { } + global void setTimestamp(String timestamp) { } + global void setTitle(String title) { } + global void setTo(List to) { } + global void setTopFile(Boolean topFile) { } + global void setTs(String ts) { } + global void setType(String type) { } + global void setUpdated(Integer updated) { } + global void setUrlPrivate(String urlPrivate) { } + global void setUrlPrivateDownload(Boolean urlPrivateDownload) { } + global void setUser(String user) { } + global void setUserTeam(String userTeam) { } + global void setUsername(String username) { } + global void setpublic(Boolean _public) { } + global String toString() { } +global class Address { + global MatchedItem.Address() { } + global Object clone() { } + global String getAddress() { } + global String getName() { } + global String getOriginal() { } + global void setAddress(String address) { } + global void setName(String name) { } + global void setOriginal(String original) { } + +} +global class OtherItem { + global MatchedItem.OtherItem() { } + global Object clone() { } + global String getIid() { } + global String getPermalink() { } + global String getText() { } + global String getTs() { } + global String getType() { } + global String getUser() { } + global String getUsername() { } + global void setIid(String iid) { } + global void setPermalink(String permalink) { } + global void setText(String text) { } + global void setTs(String ts) { } + global void setType(String type) { } + global void setUser(String user) { } + global void setUsername(String username) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/MemberJoinedChannelEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/MemberJoinedChannelEvent.cls new file mode 100644 index 0000000..af788a6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/MemberJoinedChannelEvent.cls @@ -0,0 +1,20 @@ +global class MemberJoinedChannelEvent { + global MemberJoinedChannelEvent() { } + global Object clone() { } + global String getChannel() { } + global String getChannelType() { } + global String getEventTs() { } + global String getInviter() { } + global String getSubtype() { } + global String getTeam() { } + global String getType() { } + global String getUser() { } + global void setChannel(String channel) { } + global void setChannelType(String channelType) { } + global void setEventTs(String eventTs) { } + global void setInviter(String inviter) { } + global void setTeam(String team) { } + global void setUser(String user) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/MemberLeftChannelEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/MemberLeftChannelEvent.cls new file mode 100644 index 0000000..f77dfde --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/MemberLeftChannelEvent.cls @@ -0,0 +1,18 @@ +global class MemberLeftChannelEvent { + global MemberLeftChannelEvent() { } + global Object clone() { } + global String getChannel() { } + global String getChannelType() { } + global String getEventTs() { } + global String getSubtype() { } + global String getTeam() { } + global String getType() { } + global String getUser() { } + global void setChannel(String channel) { } + global void setChannelType(String channelType) { } + global void setEventTs(String eventTs) { } + global void setTeam(String team) { } + global void setUser(String user) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/Message.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/Message.cls new file mode 100644 index 0000000..840c637 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/Message.cls @@ -0,0 +1,258 @@ +global class Message { + global Message() { } + global Object clone() { } + global String getAppId() { } + global String getBotId() { } + global String getBotLink() { } + global Slack.BotProfile getBotProfile() { } + global String getChannel() { } + global String getClientMsgId() { } + global Slack.Message.MessageItem getComment() { } + global Slack.Message.Edited getEdited() { } + global Slack.File getFile() { } + global List getFiles() { } + global Slack.Message.Icons getIcons() { } + global String getInviter() { } + global Slack.Message.MessageItem getItem() { } + global String getItemType() { } + global String getLastRead() { } + global String getLatestReply() { } + global Slack.Message.Metadata getMetadata() { } + global String getParentUserId() { } + global List getPinnedTo() { } + global String getPurpose() { } + global List getReactions() { } + global Integer getReplyCount() { } + global List getReplyUsers() { } + global Integer getReplyUsersCount() { } + global Slack.Message.MessageRoot getRoot() { } + global String getSubtype() { } + global String getTeam() { } + global String getText() { } + global String getThreadTs() { } + global String getTopic() { } + global String getTs() { } + global String getType() { } + global String getUser() { } + global String getUsername() { } + global List getXFiles() { } + global Boolean isDisplayAsBot() { } + global Boolean isHidden() { } + global Boolean isIntro() { } + global Boolean isLocked() { } + global Boolean isStarred() { } + global Boolean isSubscribed() { } + global Boolean isThreadBroadcast() { } + global Boolean isUnfurlLinks() { } + global Boolean isUnfurlMedia() { } + global Boolean isUpload() { } + global Boolean isWibblr() { } + global void setAppId(String appId) { } + global void setBotId(String botId) { } + global void setBotLink(String botLink) { } + global void setBotProfile(Slack.BotProfile botProfile) { } + global void setChannel(String channel) { } + global void setClientMsgId(String clientMsgId) { } + global void setComment(Slack.Message.MessageItem comment) { } + global void setDisplayAsBot(Boolean displayAsBot) { } + global void setEdited(Slack.Message.Edited edited) { } + global void setFile(Slack.File file) { } + global void setFiles(List files) { } + global void setHidden(Boolean hidden) { } + global void setIcons(Slack.Message.Icons icons) { } + global void setIntro(Boolean intro) { } + global void setInviter(String inviter) { } + global void setItem(Slack.Message.MessageItem item) { } + global void setItemType(String itemType) { } + global void setLastRead(String lastRead) { } + global void setLatestReply(String latestReply) { } + global void setLocked(Boolean locked) { } + global void setMetadata(Slack.Message.Metadata metadata) { } + global void setParentUserId(String parentUserId) { } + global void setPinnedTo(List pinnedTo) { } + global void setPurpose(String purpose) { } + global void setReactions(List reactions) { } + global void setReplyCount(Integer replyCount) { } + global void setReplyUsers(List replyUsers) { } + global void setReplyUsersCount(Integer replyUsersCount) { } + global void setRoot(Slack.Message.MessageRoot root) { } + global void setStarred(Boolean starred) { } + global void setSubscribed(Boolean subscribed) { } + global void setSubtype(String subtype) { } + global void setTeam(String team) { } + global void setText(String text) { } + global void setThreadBroadcast(Boolean threadBroadcast) { } + global void setThreadTs(String threadTs) { } + global void setTopic(String topic) { } + global void setTs(String ts) { } + global void setType(String type) { } + global void setUnfurlLinks(Boolean unfurlLinks) { } + global void setUnfurlMedia(Boolean unfurlMedia) { } + global void setUpload(Boolean upload) { } + global void setUser(String user) { } + global void setUsername(String username) { } + global void setWibblr(Boolean wibblr) { } + global void setXFiles(List xFiles) { } + global String toString() { } +global class Edited { + global Message.Edited() { } + global Object clone() { } + global String getTs() { } + global String getUser() { } + global void setTs(String ts) { } + global void setUser(String user) { } + +} +global class Icons { + global Message.Icons() { } + global Object clone() { } + global String getEmoji() { } + global String getImage36() { } + global String getImage48() { } + global String getImage64() { } + global String getImage72() { } + global void setEmoji(String emoji) { } + global void setImage36(String image36) { } + global void setImage48(String image48) { } + global void setImage64(String image64) { } + global void setImage72(String image72) { } + +} +global class MessageItem { + global Message.MessageItem() { } + global Object clone() { } + global String getComment() { } + global String getCreated() { } + global String getEditLink() { } + global String getExternalType() { } + global String getFiletype() { } + global String getId() { } + global Integer getLines() { } + global Integer getLinesMore() { } + global String getMediaDisplayType() { } + global String getMimetype() { } + global String getMode() { } + global String getName() { } + global String getPermalink() { } + global String getPrettyType() { } + global String getPreview() { } + global String getPreviewHighlight() { } + global Integer getSize() { } + global String getTimestamp() { } + global String getTitle() { } + global String getUrlPrivate() { } + global String getUser() { } + global String getUsername() { } + global Boolean isDisplayAsBot() { } + global Boolean isEditable() { } + global Boolean isExternal() { } + global Boolean isHasRichPreview() { } + global Boolean isIntro() { } + global Boolean isPermalinkPublic() { } + global Boolean isPreviewTruncated() { } + global Boolean isPublicUrlShared() { } + global Boolean isStarred() { } + global Boolean isUrlPrivateDownload() { } + global Boolean ispublic() { } + global void setComment(String comment) { } + global void setCreated(String created) { } + global void setDisplayAsBot(Boolean displayAsBot) { } + global void setEditLink(String editLink) { } + global void setEditable(Boolean editable) { } + global void setExternal(Boolean external) { } + global void setExternalType(String externalType) { } + global void setFiletype(String filetype) { } + global void setHasRichPreview(Boolean hasRichPreview) { } + global void setId(String id) { } + global void setIntro(Boolean intro) { } + global void setLines(Integer lines) { } + global void setLinesMore(Integer linesMore) { } + global void setMediaDisplayType(String mediaDisplayType) { } + global void setMimetype(String mimetype) { } + global void setMode(String mode) { } + global void setName(String name) { } + global void setPermalink(String permalink) { } + global void setPermalinkPublic(Boolean permalinkPublic) { } + global void setPrettyType(String prettyType) { } + global void setPreview(String preview) { } + global void setPreviewHighlight(String previewHighlight) { } + global void setPreviewTruncated(Boolean previewTruncated) { } + global void setPublicUrlShared(Boolean publicUrlShared) { } + global void setSize(Integer size) { } + global void setStarred(Boolean starred) { } + global void setTimestamp(String timestamp) { } + global void setTitle(String title) { } + global void setUrlPrivate(String urlPrivate) { } + global void setUrlPrivateDownload(Boolean urlPrivateDownload) { } + global void setUser(String user) { } + global void setUsername(String username) { } + global void setpublic(Boolean _public) { } + +} +global class MessageRoot { + global Message.MessageRoot() { } + global Object clone() { } + global String getBotId() { } + global Slack.BotProfile getBotProfile() { } + global Slack.Message.Edited getEdited() { } + global Slack.Message.Icons getIcons() { } + global String getLastRead() { } + global String getLatestReply() { } + global String getParentUserId() { } + global Integer getReplyCount() { } + global List getReplyUsers() { } + global Integer getReplyUsersCount() { } + global String getSubtype() { } + global String getTeam() { } + global String getText() { } + global String getThreadTs() { } + global String getTs() { } + global String getType() { } + global Integer getUnreadCount() { } + global String getUser() { } + global String getUsername() { } + global Boolean isMrkdwn() { } + global Boolean isSubscribed() { } + global void setBotId(String botId) { } + global void setBotProfile(Slack.BotProfile botProfile) { } + global void setEdited(Slack.Message.Edited edited) { } + global void setIcons(Slack.Message.Icons icons) { } + global void setLastRead(String lastRead) { } + global void setLatestReply(String latestReply) { } + global void setMrkdwn(Boolean mrkdwn) { } + global void setParentUserId(String parentUserId) { } + global void setReplyCount(Integer replyCount) { } + global void setReplyUsers(List replyUsers) { } + global void setReplyUsersCount(Integer replyUsersCount) { } + global void setSubscribed(Boolean subscribed) { } + global void setSubtype(String subtype) { } + global void setTeam(String team) { } + global void setText(String text) { } + global void setThreadTs(String threadTs) { } + global void setTs(String ts) { } + global void setType(String type) { } + global void setUnreadCount(Integer unreadCount) { } + global void setUser(String user) { } + global void setUsername(String username) { } + +} +global class MessageRootReply { + global Message.MessageRootReply() { } + global Object clone() { } + global String getTs() { } + global String getUser() { } + global void setTs(String ts) { } + global void setUser(String user) { } + +} +global class Metadata { + global Message.Metadata() { } + global Object clone() { } + global Map getEventPayload() { } + global String getEventType() { } + global void setEventPayload(Map eventPayload) { } + global void setEventType(String eventType) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/MessageBotEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageBotEvent.cls new file mode 100644 index 0000000..60b0644 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageBotEvent.cls @@ -0,0 +1,24 @@ +global class MessageBotEvent { + global MessageBotEvent() { } + global Object clone() { } + global String getBotId() { } + global String getChannel() { } + global String getChannelType() { } + global String getEventTs() { } + global String getSubtype() { } + global String getText() { } + global String getThreadTs() { } + global String getTs() { } + global String getType() { } + global String getUsername() { } + global void setBotId(String botId) { } + global void setChannel(String channel) { } + global void setChannelType(String channelType) { } + global void setEventTs(String eventTs) { } + global void setText(String text) { } + global void setThreadTs(String threadTs) { } + global void setTs(String ts) { } + global void setUsername(String username) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/MessageChangedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageChangedEvent.cls new file mode 100644 index 0000000..ed25d70 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageChangedEvent.cls @@ -0,0 +1,98 @@ +global class MessageChangedEvent { + global MessageChangedEvent() { } + global Object clone() { } + global String getChannel() { } + global String getChannelType() { } + global String getEventTs() { } + global Slack.MessageChangedEvent.Message getMessage() { } + global Slack.MessageChangedEvent.PreviousMessage getPreviousMessage() { } + global String getSubtype() { } + global String getTs() { } + global String getType() { } + global Boolean isHidden() { } + global void setChannel(String channel) { } + global void setChannelType(String channelType) { } + global void setEventTs(String eventTs) { } + global void setHidden(Boolean hidden) { } + global void setMessage(Slack.MessageChangedEvent.Message message) { } + global void setPreviousMessage(Slack.MessageChangedEvent.PreviousMessage previousMessage) { } + global void setTs(String ts) { } + global String toString() { } +global class Edited { + global MessageChangedEvent.Edited() { } + global Object clone() { } + global String getTs() { } + global String getUser() { } + global void setTs(String ts) { } + global void setUser(String user) { } + +} +global class Message { + global MessageChangedEvent.Message() { } + global Object clone() { } + global String getBotId() { } + global Slack.BotProfile getBotProfile() { } + global String getClientMsgId() { } + global Boolean getDisplayAsBot() { } + global List getFiles() { } + global Boolean getHidden() { } + global Boolean getIsLocked() { } + global String getLastRead() { } + global String getLatestReply() { } + global String getParentUserId() { } + global List getPinnedTo() { } + global List getReactions() { } + global Integer getReplyCount() { } + global List getReplyUsers() { } + global Integer getReplyUsersCount() { } + global String getSourceTeam() { } + global Boolean getSubscribed() { } + global String getSubtype() { } + global String getTeam() { } + global String getText() { } + global String getThreadTs() { } + global String getTs() { } + global String getType() { } + global Boolean getUpload() { } + global String getUser() { } + global String getUserTeam() { } + global List getXFiles() { } + global Boolean isStarred() { } + global void setBotId(String botId) { } + global void setBotProfile(Slack.BotProfile botProfile) { } + global void setClientMsgId(String clientMsgId) { } + global void setDisplayAsBot(Boolean displayAsBot) { } + global void setFiles(List files) { } + global void setHidden(Boolean hidden) { } + global void setIsLocked(Boolean isLocked) { } + global void setLastRead(String lastRead) { } + global void setLatestReply(String latestReply) { } + global void setParentUserId(String parentUserId) { } + global void setPinnedTo(List pinnedTo) { } + global void setReactions(List reactions) { } + global void setReplyCount(Integer replyCount) { } + global void setReplyUsers(List replyUsers) { } + global void setReplyUsersCount(Integer replyUsersCount) { } + global void setSourceTeam(String sourceTeam) { } + global void setStarred(Boolean starred) { } + global void setSubscribed(Boolean subscribed) { } + global void setSubtype(String subtype) { } + global void setTeam(String team) { } + global void setText(String text) { } + global void setThreadTs(String threadTs) { } + global void setTs(String ts) { } + global void setUpload(Boolean upload) { } + global void setUser(String user) { } + global void setUserTeam(String userTeam) { } + global void setXFiles(List xFiles) { } + +} +global class PreviousMessage { + global MessageChangedEvent.PreviousMessage() { } + global Object clone() { } + global Slack.MessageChangedEvent.Message getMessage() { } + global void setMessage(Slack.MessageChangedEvent.Message message) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/MessageChannelJoinEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageChannelJoinEvent.cls new file mode 100644 index 0000000..81c3215 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageChannelJoinEvent.cls @@ -0,0 +1,24 @@ +global class MessageChannelJoinEvent { + global MessageChannelJoinEvent() { } + global Object clone() { } + global String getChannel() { } + global String getChannelType() { } + global String getEventTs() { } + global String getInviter() { } + global String getSubtype() { } + global String getTeam() { } + global String getText() { } + global String getTs() { } + global String getType() { } + global String getUser() { } + global void setChannel(String channel) { } + global void setChannelType(String channelType) { } + global void setEventTs(String eventTs) { } + global void setInviter(String inviter) { } + global void setTeam(String team) { } + global void setText(String text) { } + global void setTs(String ts) { } + global void setUser(String user) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/MessageChannelPostingPermissionsEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageChannelPostingPermissionsEvent.cls new file mode 100644 index 0000000..bb891f5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageChannelPostingPermissionsEvent.cls @@ -0,0 +1,20 @@ +global class MessageChannelPostingPermissionsEvent { + global MessageChannelPostingPermissionsEvent() { } + global Object clone() { } + global String getChannel() { } + global String getChannelType() { } + global String getEventTs() { } + global String getSubtype() { } + global String getText() { } + global String getTs() { } + global String getType() { } + global String getUser() { } + global void setChannel(String channel) { } + global void setChannelType(String channelType) { } + global void setEventTs(String eventTs) { } + global void setText(String text) { } + global void setTs(String ts) { } + global void setUser(String user) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/MessageChannelTopicEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageChannelTopicEvent.cls new file mode 100644 index 0000000..90331ae --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageChannelTopicEvent.cls @@ -0,0 +1,22 @@ +global class MessageChannelTopicEvent { + global MessageChannelTopicEvent() { } + global Object clone() { } + global String getChannel() { } + global String getChannelType() { } + global String getEventTs() { } + global String getSubtype() { } + global String getText() { } + global String getTopic() { } + global String getTs() { } + global String getType() { } + global String getUser() { } + global void setChannel(String channel) { } + global void setChannelType(String channelType) { } + global void setEventTs(String eventTs) { } + global void setText(String text) { } + global void setTopic(String topic) { } + global void setTs(String ts) { } + global void setUser(String user) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/MessageContent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageContent.cls new file mode 100644 index 0000000..1679c63 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageContent.cls @@ -0,0 +1,6 @@ +global class MessageContent { + global Object clone() { } + global String getBlocksAsString() { } + global String getText() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/MessageContext.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageContext.cls new file mode 100644 index 0000000..e35eaf3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageContext.cls @@ -0,0 +1,18 @@ +global class MessageContext { + global Object clone() { } + global String getText() { } + global String getThreadTs() { } + global String getTs() { } + global String getUserId() { } +global class Builder { + global MessageContext.Builder() { } + global Slack.MessageContext build() { } + global Object clone() { } + global Slack.MessageContext.Builder text(String text) { } + global Slack.MessageContext.Builder threadTs(String threadTs) { } + global Slack.MessageContext.Builder ts(String ts) { } + global Slack.MessageContext.Builder userId(String userId) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/MessageDeletedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageDeletedEvent.cls new file mode 100644 index 0000000..2607684 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageDeletedEvent.cls @@ -0,0 +1,91 @@ +global class MessageDeletedEvent { + global MessageDeletedEvent() { } + global Object clone() { } + global String getChannel() { } + global String getChannelType() { } + global String getDeletedTs() { } + global String getEventTs() { } + global Slack.MessageDeletedEvent.Message getPreviousMessage() { } + global String getSubtype() { } + global String getTs() { } + global String getType() { } + global Boolean isHidden() { } + global void setChannel(String channel) { } + global void setChannelType(String channelType) { } + global void setDeletedTs(String deletedTs) { } + global void setEventTs(String eventTs) { } + global void setHidden(Boolean hidden) { } + global void setPreviousMessage(Slack.MessageDeletedEvent.Message previousMessage) { } + global void setTs(String ts) { } + global String toString() { } +global class Edited { + global MessageDeletedEvent.Edited() { } + global Object clone() { } + global String getTs() { } + global String getUser() { } + global void setTs(String ts) { } + global void setUser(String user) { } + +} +global class Message { + global MessageDeletedEvent.Message() { } + global Object clone() { } + global String getBotId() { } + global Slack.BotProfile getBotProfile() { } + global String getClientMsgId() { } + global Boolean getDisplayAsBot() { } + global List getFiles() { } + global Boolean getHidden() { } + global Boolean getIsLocked() { } + global String getLastRead() { } + global String getLatestReply() { } + global String getParentUserId() { } + global List getPinnedTo() { } + global List getReactions() { } + global Integer getReplyCount() { } + global List getReplyUsers() { } + global Integer getReplyUsersCount() { } + global String getSourceTeam() { } + global Boolean getSubscribed() { } + global String getSubtype() { } + global String getTeam() { } + global String getText() { } + global String getThreadTs() { } + global String getTs() { } + global String getType() { } + global Boolean getUpload() { } + global String getUser() { } + global String getUserTeam() { } + global List getXFiles() { } + global Boolean isStarred() { } + global void setBotId(String botId) { } + global void setBotProfile(Slack.BotProfile botProfile) { } + global void setClientMsgId(String clientMsgId) { } + global void setDisplayAsBot(Boolean displayAsBot) { } + global void setFiles(List files) { } + global void setHidden(Boolean hidden) { } + global void setIsLocked(Boolean isLocked) { } + global void setLastRead(String lastRead) { } + global void setLatestReply(String latestReply) { } + global void setParentUserId(String parentUserId) { } + global void setPinnedTo(List pinnedTo) { } + global void setReactions(List reactions) { } + global void setReplyCount(Integer replyCount) { } + global void setReplyUsers(List replyUsers) { } + global void setReplyUsersCount(Integer replyUsersCount) { } + global void setSourceTeam(String sourceTeam) { } + global void setStarred(Boolean starred) { } + global void setSubscribed(Boolean subscribed) { } + global void setSubtype(String subtype) { } + global void setTeam(String team) { } + global void setText(String text) { } + global void setThreadTs(String threadTs) { } + global void setTs(String ts) { } + global void setUpload(Boolean upload) { } + global void setUser(String user) { } + global void setUserTeam(String userTeam) { } + global void setXFiles(List xFiles) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/MessageEkmAccessDeniedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageEkmAccessDeniedEvent.cls new file mode 100644 index 0000000..c38c10d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageEkmAccessDeniedEvent.cls @@ -0,0 +1,22 @@ +global class MessageEkmAccessDeniedEvent { + global MessageEkmAccessDeniedEvent() { } + global Object clone() { } + global String getChannel() { } + global String getChannelType() { } + global String getEventTs() { } + global String getSubtype() { } + global String getText() { } + global String getTs() { } + global String getType() { } + global String getUser() { } + global Boolean isHidden() { } + global void setChannel(String channel) { } + global void setChannelType(String channelType) { } + global void setEventTs(String eventTs) { } + global void setHidden(Boolean hidden) { } + global void setText(String text) { } + global void setTs(String ts) { } + global void setUser(String user) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/MessageEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageEvent.cls new file mode 100644 index 0000000..2398e45 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageEvent.cls @@ -0,0 +1,45 @@ +global class MessageEvent { + global MessageEvent() { } + global Object clone() { } + global String getBotId() { } + global Slack.BotProfile getBotProfile() { } + global String getChannel() { } + global String getChannelType() { } + global String getClientMsgId() { } + global Slack.MessageEvent.Edited getEdited() { } + global String getEventTs() { } + global List getFiles() { } + global String getParentUserId() { } + global String getSubtype() { } + global String getTeam() { } + global String getText() { } + global String getThreadTs() { } + global String getTs() { } + global String getType() { } + global String getUser() { } + global void setBotId(String botId) { } + global void setBotProfile(Slack.BotProfile botProfile) { } + global void setChannel(String channel) { } + global void setChannelType(String channelType) { } + global void setClientMsgId(String clientMsgId) { } + global void setEdited(Slack.MessageEvent.Edited edited) { } + global void setEventTs(String eventTs) { } + global void setFiles(List files) { } + global void setParentUserId(String parentUserId) { } + global void setTeam(String team) { } + global void setText(String text) { } + global void setThreadTs(String threadTs) { } + global void setTs(String ts) { } + global void setUser(String user) { } + global String toString() { } +global class Edited { + global MessageEvent.Edited() { } + global Object clone() { } + global String getTs() { } + global String getUser() { } + global void setTs(String ts) { } + global void setUser(String user) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/MessageFileShareEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageFileShareEvent.cls new file mode 100644 index 0000000..a9e333e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageFileShareEvent.cls @@ -0,0 +1,32 @@ +global class MessageFileShareEvent { + global MessageFileShareEvent() { } + global Object clone() { } + global String getChannel() { } + global String getChannelType() { } + global Boolean getDisplayAsBot() { } + global String getEventTs() { } + global List getFiles() { } + global String getParentUserId() { } + global String getSubtype() { } + global String getText() { } + global String getThreadTs() { } + global String getTs() { } + global String getType() { } + global Boolean getUpload() { } + global String getUser() { } + global List getXFiles() { } + global void setChannel(String channel) { } + global void setChannelType(String channelType) { } + global void setDisplayAsBot(Boolean displayAsBot) { } + global void setEventTs(String eventTs) { } + global void setFiles(List files) { } + global void setParentUserId(String parentUserId) { } + global void setText(String text) { } + global void setThreadTs(String threadTs) { } + global void setTs(String ts) { } + global void setUpload(Boolean upload) { } + global void setUser(String user) { } + global void setXFiles(List xFiles) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/MessageGroupTopicEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageGroupTopicEvent.cls new file mode 100644 index 0000000..682c785 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageGroupTopicEvent.cls @@ -0,0 +1,22 @@ +global class MessageGroupTopicEvent { + global MessageGroupTopicEvent() { } + global Object clone() { } + global String getChannel() { } + global String getChannelType() { } + global String getEventTs() { } + global String getSubtype() { } + global String getText() { } + global String getTopic() { } + global String getTs() { } + global String getType() { } + global String getUser() { } + global void setChannel(String channel) { } + global void setChannelType(String channelType) { } + global void setEventTs(String eventTs) { } + global void setText(String text) { } + global void setTopic(String topic) { } + global void setTs(String ts) { } + global void setUser(String user) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/MessageMeEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageMeEvent.cls new file mode 100644 index 0000000..a9d24a4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageMeEvent.cls @@ -0,0 +1,22 @@ +global class MessageMeEvent { + global MessageMeEvent() { } + global Object clone() { } + global String getBotId() { } + global String getChannel() { } + global String getChannelType() { } + global String getEventTs() { } + global String getSubtype() { } + global String getText() { } + global String getTs() { } + global String getType() { } + global String getUsername() { } + global void setBotId(String botId) { } + global void setChannel(String channel) { } + global void setChannelType(String channelType) { } + global void setEventTs(String eventTs) { } + global void setText(String text) { } + global void setTs(String ts) { } + global void setUsername(String username) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/MessageRepliedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageRepliedEvent.cls new file mode 100644 index 0000000..7bf4930 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageRepliedEvent.cls @@ -0,0 +1,55 @@ +global class MessageRepliedEvent { + global MessageRepliedEvent() { } + global Object clone() { } + global String getChannel() { } + global String getEventTs() { } + global Slack.MessageRepliedEvent.Message getMessage() { } + global String getSubtype() { } + global String getTs() { } + global String getType() { } + global Boolean isHidden() { } + global void setChannel(String channel) { } + global void setEventTs(String eventTs) { } + global void setHidden(Boolean hidden) { } + global void setMessage(Slack.MessageRepliedEvent.Message message) { } + global void setTs(String ts) { } + global String toString() { } +global class Edited { + global MessageRepliedEvent.Edited() { } + global Object clone() { } + global String getTs() { } + global String getUser() { } + global void setTs(String ts) { } + global void setUser(String user) { } + +} +global class Message { + global MessageRepliedEvent.Message() { } + global Object clone() { } + global String getClientMsgId() { } + global List getPinnedTo() { } + global List getReactions() { } + global String getSourceTeam() { } + global String getSubtype() { } + global String getTeam() { } + global String getText() { } + global String getTs() { } + global String getType() { } + global String getUser() { } + global String getUserTeam() { } + global Boolean isStarred() { } + global void setClientMsgId(String clientMsgId) { } + global void setPinnedTo(List pinnedTo) { } + global void setReactions(List reactions) { } + global void setSourceTeam(String sourceTeam) { } + global void setStarred(Boolean starred) { } + global void setSubtype(String subtype) { } + global void setTeam(String team) { } + global void setText(String text) { } + global void setTs(String ts) { } + global void setUser(String user) { } + global void setUserTeam(String userTeam) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/MessageThreadBroadcastEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageThreadBroadcastEvent.cls new file mode 100644 index 0000000..0049c54 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/MessageThreadBroadcastEvent.cls @@ -0,0 +1,24 @@ +global class MessageThreadBroadcastEvent { + global MessageThreadBroadcastEvent() { } + global Object clone() { } + global String getChannel() { } + global String getChannelType() { } + global String getClientMsgId() { } + global String getEventTs() { } + global String getSubtype() { } + global String getText() { } + global String getThreadTs() { } + global String getTs() { } + global String getType() { } + global String getUser() { } + global void setChannel(String channel) { } + global void setChannelType(String channelType) { } + global void setClientMsgId(String clientMsgId) { } + global void setEventTs(String eventTs) { } + global void setText(String text) { } + global void setThreadTs(String threadTs) { } + global void setTs(String ts) { } + global void setUser(String user) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/MigrationExchangeRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/MigrationExchangeRequest.cls new file mode 100644 index 0000000..27969c6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/MigrationExchangeRequest.cls @@ -0,0 +1,18 @@ +global class MigrationExchangeRequest { + global static Slack.MigrationExchangeRequest.Builder builder() { } + global Object clone() { } + global String getTeamId() { } + global List getUsers() { } + global Boolean isToOld() { } + global String toString() { } +global class Builder { + global MigrationExchangeRequest.Builder() { } + global Slack.MigrationExchangeRequest build() { } + global Object clone() { } + global Slack.MigrationExchangeRequest.Builder teamId(String teamId) { } + global Slack.MigrationExchangeRequest.Builder toOld(Boolean toOld) { } + global Slack.MigrationExchangeRequest.Builder users(List users) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/MigrationExchangeResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/MigrationExchangeResponse.cls new file mode 100644 index 0000000..fe8a517 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/MigrationExchangeResponse.cls @@ -0,0 +1,26 @@ +global class MigrationExchangeResponse { + global MigrationExchangeResponse() { } + global Object clone() { } + global String getEnterpriseId() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global List getInvalidUserIds() { } + global String getNeeded() { } + global String getProvided() { } + global String getTeamId() { } + global Map getUserIdMap() { } + global String getWarning() { } + global Boolean isOk() { } + global void setEnterpriseId(String enterpriseId) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setInvalidUserIds(List invalidUserIds) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setTeamId(String teamId) { } + global void setUserIdMap(Map userIdMap) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ModalHandler.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ModalHandler.cls new file mode 100644 index 0000000..ad6b405 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ModalHandler.cls @@ -0,0 +1,4 @@ +global interface ModalHandler { + Slack.ModalView call(); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ModalView.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ModalView.cls new file mode 100644 index 0000000..21a4a3c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ModalView.cls @@ -0,0 +1,17 @@ +global class ModalView { + global static Slack.ModalView.Builder builder() { } + global Object clone() { } + global String getExternalId() { } + global Slack.ViewReference getViewReference() { } + global String toString() { } +global class Builder { + global ModalView.Builder() { } + global Slack.ModalView build() { } + global Slack.ModalView.Builder clearOnClose(Boolean clearOnClose) { } + global Object clone() { } + global Slack.ModalView.Builder externalId(String externalId) { } + global Slack.ModalView.Builder viewReference(Slack.ViewReference viewReference) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/Option.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/Option.cls new file mode 100644 index 0000000..c70b16f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/Option.cls @@ -0,0 +1,7 @@ +global class Option { + global Option(String text, String value) { } + global Object clone() { } + global String getText() { } + global String getValue() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/OptionDataResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/OptionDataResponse.cls new file mode 100644 index 0000000..b6e1415 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/OptionDataResponse.cls @@ -0,0 +1,8 @@ +global class OptionDataResponse { + global OptionDataResponse(List options) { } + global OptionDataResponse(List optionGroups) { } + global Object clone() { } + global List getOptionGroups() { } + global List getOptions() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/OptionGroup.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/OptionGroup.cls new file mode 100644 index 0000000..a5ff827 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/OptionGroup.cls @@ -0,0 +1,7 @@ +global class OptionGroup { + global OptionGroup(String label, List options) { } + global Object clone() { } + global String getLabel() { } + global List getOptions() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/Paging.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/Paging.cls new file mode 100644 index 0000000..d0286bf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/Paging.cls @@ -0,0 +1,20 @@ +global class Paging { + global Paging() { } + global Object clone() { } + global Integer getCount() { } + global String getIid() { } + global Integer getPage() { } + global Integer getPages() { } + global Integer getPerPage() { } + global Integer getSpill() { } + global Integer getTotal() { } + global void setCount(Integer count) { } + global void setIid(String iid) { } + global void setPage(Integer page) { } + global void setPages(Integer pages) { } + global void setPerPage(Integer perPage) { } + global void setSpill(Integer spill) { } + global void setTotal(Integer total) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/PinAddedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/PinAddedEvent.cls new file mode 100644 index 0000000..ccc353c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/PinAddedEvent.cls @@ -0,0 +1,79 @@ +global class PinAddedEvent { + global PinAddedEvent() { } + global Object clone() { } + global String getChannelId() { } + global String getEventTs() { } + global Slack.PinAddedEvent.Item getItem() { } + global String getItemUser() { } + global Integer getPinCount() { } + global Slack.PinAddedEvent.PinnedInfo getPinnedInfo() { } + global String getSubtype() { } + global String getType() { } + global String getUser() { } + global void setChannelId(String channelId) { } + global void setEventTs(String eventTs) { } + global void setItem(Slack.PinAddedEvent.Item item) { } + global void setItemUser(String itemUser) { } + global void setPinCount(Integer pinCount) { } + global void setPinnedInfo(Slack.PinAddedEvent.PinnedInfo pinnedInfo) { } + global void setUser(String user) { } + global String toString() { } +global class Item { + global PinAddedEvent.Item() { } + global Object clone() { } + global String getChannel() { } + global Slack.FileComment getComment() { } + global Integer getCreated() { } + global String getCreatedBy() { } + global Slack.File getFile() { } + global Slack.PinAddedEvent.Message getMessage() { } + global String getType() { } + global void setChannel(String channel) { } + global void setComment(Slack.FileComment comment) { } + global void setCreated(Integer created) { } + global void setCreatedBy(String createdBy) { } + global void setFile(Slack.File file) { } + global void setMessage(Slack.PinAddedEvent.Message message) { } + global void setType(String type) { } + +} +global class Message { + global PinAddedEvent.Message() { } + global Object clone() { } + global String getAppId() { } + global String getBotId() { } + global Slack.BotProfile getBotProfile() { } + global String getClientMsgId() { } + global String getPermalink() { } + global List getPinnedTo() { } + global String getTeam() { } + global String getText() { } + global String getTs() { } + global String getType() { } + global String getUser() { } + global void setAppId(String appId) { } + global void setBotId(String botId) { } + global void setBotProfile(Slack.BotProfile botProfile) { } + global void setClientMsgId(String clientMsgId) { } + global void setPermalink(String permalink) { } + global void setPinnedTo(List pinnedTo) { } + global void setTeam(String team) { } + global void setText(String text) { } + global void setTs(String ts) { } + global void setType(String type) { } + global void setUser(String user) { } + +} +global class PinnedInfo { + global PinAddedEvent.PinnedInfo() { } + global Object clone() { } + global String getChannel() { } + global String getPinnedBy() { } + global Long getPinnedTs() { } + global void setChannel(String channel) { } + global void setPinnedBy(String pinnedBy) { } + global void setPinnedTs(Long pinnedTs) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/PinRemovedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/PinRemovedEvent.cls new file mode 100644 index 0000000..d2b86c7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/PinRemovedEvent.cls @@ -0,0 +1,81 @@ +global class PinRemovedEvent { + global PinRemovedEvent() { } + global Object clone() { } + global String getChannelId() { } + global String getEventTs() { } + global Slack.PinRemovedEvent.Item getItem() { } + global String getItemUser() { } + global Integer getPinCount() { } + global Slack.PinRemovedEvent.PinnedInfo getPinnedInfo() { } + global String getSubtype() { } + global String getType() { } + global String getUser() { } + global Boolean isHasPins() { } + global void setChannelId(String channelId) { } + global void setEventTs(String eventTs) { } + global void setHasPins(Boolean hasPins) { } + global void setItem(Slack.PinRemovedEvent.Item item) { } + global void setItemUser(String itemUser) { } + global void setPinCount(Integer pinCount) { } + global void setPinnedInfo(Slack.PinRemovedEvent.PinnedInfo pinnedInfo) { } + global void setUser(String user) { } + global String toString() { } +global class Item { + global PinRemovedEvent.Item() { } + global Object clone() { } + global String getChannel() { } + global Slack.FileComment getComment() { } + global Integer getCreated() { } + global String getCreatedBy() { } + global Slack.File getFile() { } + global Slack.PinRemovedEvent.Message getMessage() { } + global String getType() { } + global void setChannel(String channel) { } + global void setComment(Slack.FileComment comment) { } + global void setCreated(Integer created) { } + global void setCreatedBy(String createdBy) { } + global void setFile(Slack.File file) { } + global void setMessage(Slack.PinRemovedEvent.Message message) { } + global void setType(String type) { } + +} +global class Message { + global PinRemovedEvent.Message() { } + global Object clone() { } + global String getAppId() { } + global String getBotId() { } + global Slack.BotProfile getBotProfile() { } + global String getClientMsgId() { } + global String getPermalink() { } + global List getPinnedTo() { } + global String getTeam() { } + global String getText() { } + global String getTs() { } + global String getType() { } + global String getUser() { } + global void setAppId(String appId) { } + global void setBotId(String botId) { } + global void setBotProfile(Slack.BotProfile botProfile) { } + global void setClientMsgId(String clientMsgId) { } + global void setPermalink(String permalink) { } + global void setPinnedTo(List pinnedTo) { } + global void setTeam(String team) { } + global void setText(String text) { } + global void setTs(String ts) { } + global void setType(String type) { } + global void setUser(String user) { } + +} +global class PinnedInfo { + global PinRemovedEvent.PinnedInfo() { } + global Object clone() { } + global String getChannel() { } + global String getPinnedBy() { } + global Long getPinnedTs() { } + global void setChannel(String channel) { } + global void setPinnedBy(String pinnedBy) { } + global void setPinnedTs(Long pinnedTs) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/PinsAddRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/PinsAddRequest.cls new file mode 100644 index 0000000..7791958 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/PinsAddRequest.cls @@ -0,0 +1,16 @@ +global class PinsAddRequest { + global static Slack.PinsAddRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global String getTimestamp() { } + global String toString() { } +global class Builder { + global PinsAddRequest.Builder() { } + global Slack.PinsAddRequest build() { } + global Slack.PinsAddRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.PinsAddRequest.Builder timestamp(String timestamp) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/PinsAddResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/PinsAddResponse.cls new file mode 100644 index 0000000..c6d179d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/PinsAddResponse.cls @@ -0,0 +1,20 @@ +global class PinsAddResponse { + global PinsAddResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ErrorResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ErrorResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/PinsListRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/PinsListRequest.cls new file mode 100644 index 0000000..d709d59 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/PinsListRequest.cls @@ -0,0 +1,14 @@ +global class PinsListRequest { + global static Slack.PinsListRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global String toString() { } +global class Builder { + global PinsListRequest.Builder() { } + global Slack.PinsListRequest build() { } + global Slack.PinsListRequest.Builder channel(String channel) { } + global Object clone() { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/PinsListResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/PinsListResponse.cls new file mode 100644 index 0000000..423977c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/PinsListResponse.cls @@ -0,0 +1,39 @@ +global class PinsListResponse { + global PinsListResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global List getItems() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setItems(List items) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } +global class MessageItem { + global PinsListResponse.MessageItem() { } + global Object clone() { } + global String getChannel() { } + global String getComment() { } + global Integer getCreated() { } + global String getCreatedBy() { } + global Slack.File getFile() { } + global Slack.Message getMessage() { } + global String getType() { } + global void setChannel(String channel) { } + global void setComment(String comment) { } + global void setCreated(Integer created) { } + global void setCreatedBy(String createdBy) { } + global void setFile(Slack.File file) { } + global void setMessage(Slack.Message message) { } + global void setType(String type) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/PinsRemoveRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/PinsRemoveRequest.cls new file mode 100644 index 0000000..a31cec4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/PinsRemoveRequest.cls @@ -0,0 +1,16 @@ +global class PinsRemoveRequest { + global static Slack.PinsRemoveRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global String getTimestamp() { } + global String toString() { } +global class Builder { + global PinsRemoveRequest.Builder() { } + global Slack.PinsRemoveRequest build() { } + global Slack.PinsRemoveRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.PinsRemoveRequest.Builder timestamp(String timestamp) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/PinsRemoveResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/PinsRemoveResponse.cls new file mode 100644 index 0000000..f5b3e8a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/PinsRemoveResponse.cls @@ -0,0 +1,18 @@ +global class PinsRemoveResponse { + global PinsRemoveResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/Purpose.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/Purpose.cls new file mode 100644 index 0000000..fee4aee --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/Purpose.cls @@ -0,0 +1,12 @@ +global class Purpose { + global Purpose() { } + global Object clone() { } + global String getCreator() { } + global Integer getLastSet() { } + global String getValue() { } + global void setCreator(String creator) { } + global void setLastSet(Integer lastSet) { } + global void setValue(String value) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/Reaction.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/Reaction.cls new file mode 100644 index 0000000..18d1e4c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/Reaction.cls @@ -0,0 +1,14 @@ +global class Reaction { + global Reaction() { } + global Object clone() { } + global Integer getCount() { } + global String getName() { } + global String getUrl() { } + global List getUsers() { } + global void setCount(Integer count) { } + global void setName(String name) { } + global void setUrl(String url) { } + global void setUsers(List users) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionAddedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionAddedEvent.cls new file mode 100644 index 0000000..605b586 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionAddedEvent.cls @@ -0,0 +1,33 @@ +global class ReactionAddedEvent { + global ReactionAddedEvent() { } + global Object clone() { } + global String getEventTs() { } + global Slack.ReactionAddedEvent.Item getItem() { } + global String getItemUser() { } + global String getReaction() { } + global String getSubtype() { } + global String getType() { } + global String getUser() { } + global void setEventTs(String eventTs) { } + global void setItem(Slack.ReactionAddedEvent.Item item) { } + global void setItemUser(String itemUser) { } + global void setReaction(String reaction) { } + global void setUser(String user) { } + global String toString() { } +global class Item { + global ReactionAddedEvent.Item() { } + global Object clone() { } + global String getChannel() { } + global String getFile() { } + global String getFileComment() { } + global String getTs() { } + global String getType() { } + global void setChannel(String channel) { } + global void setFile(String file) { } + global void setFileComment(String fileComment) { } + global void setTs(String ts) { } + global void setType(String type) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionRemovedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionRemovedEvent.cls new file mode 100644 index 0000000..49b122d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionRemovedEvent.cls @@ -0,0 +1,33 @@ +global class ReactionRemovedEvent { + global ReactionRemovedEvent() { } + global Object clone() { } + global String getEventTs() { } + global Slack.ReactionRemovedEvent.Item getItem() { } + global String getItemUser() { } + global String getReaction() { } + global String getSubtype() { } + global String getType() { } + global String getUser() { } + global void setEventTs(String eventTs) { } + global void setItem(Slack.ReactionRemovedEvent.Item item) { } + global void setItemUser(String itemUser) { } + global void setReaction(String reaction) { } + global void setUser(String user) { } + global String toString() { } +global class Item { + global ReactionRemovedEvent.Item() { } + global Object clone() { } + global String getChannel() { } + global String getFile() { } + global String getFileComment() { } + global String getTs() { } + global String getType() { } + global void setChannel(String channel) { } + global void setFile(String file) { } + global void setFileComment(String fileComment) { } + global void setTs(String ts) { } + global void setType(String type) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionsAddRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionsAddRequest.cls new file mode 100644 index 0000000..6d3096a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionsAddRequest.cls @@ -0,0 +1,18 @@ +global class ReactionsAddRequest { + global static Slack.ReactionsAddRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global String getName() { } + global String getTimestamp() { } + global String toString() { } +global class Builder { + global ReactionsAddRequest.Builder() { } + global Slack.ReactionsAddRequest build() { } + global Slack.ReactionsAddRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.ReactionsAddRequest.Builder name(String name) { } + global Slack.ReactionsAddRequest.Builder timestamp(String timestamp) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionsAddResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionsAddResponse.cls new file mode 100644 index 0000000..bf1dbc0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionsAddResponse.cls @@ -0,0 +1,18 @@ +global class ReactionsAddResponse { + global ReactionsAddResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionsGetRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionsGetRequest.cls new file mode 100644 index 0000000..6c8d638 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionsGetRequest.cls @@ -0,0 +1,22 @@ +global class ReactionsGetRequest { + global static Slack.ReactionsGetRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global String getFile() { } + global String getFileComment() { } + global String getTimestamp() { } + global Boolean isFull() { } + global String toString() { } +global class Builder { + global ReactionsGetRequest.Builder() { } + global Slack.ReactionsGetRequest build() { } + global Slack.ReactionsGetRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.ReactionsGetRequest.Builder file(String file) { } + global Slack.ReactionsGetRequest.Builder fileComment(String fileComment) { } + global Slack.ReactionsGetRequest.Builder full(Boolean full) { } + global Slack.ReactionsGetRequest.Builder timestamp(String timestamp) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionsGetResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionsGetResponse.cls new file mode 100644 index 0000000..57ede1b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionsGetResponse.cls @@ -0,0 +1,53 @@ +global class ReactionsGetResponse { + global ReactionsGetResponse() { } + global Object clone() { } + global String getChannel() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global Slack.ReactionsGetResponse.Message getMessage() { } + global String getNeeded() { } + global String getProvided() { } + global String getType() { } + global String getWarning() { } + global Boolean isOk() { } + global void setChannel(String channel) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setMessage(Slack.ReactionsGetResponse.Message message) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setType(String type) { } + global void setWarning(String warning) { } + global String toString() { } +global class Message { + global ReactionsGetResponse.Message() { } + global Object clone() { } + global String getAppId() { } + global String getBotId() { } + global Slack.BotProfile getBotProfile() { } + global String getPermalink() { } + global List getReactions() { } + global String getSubtype() { } + global String getTeam() { } + global String getText() { } + global String getTs() { } + global String getType() { } + global String getUser() { } + global String getUsername() { } + global void setAppId(String appId) { } + global void setBotId(String botId) { } + global void setBotProfile(Slack.BotProfile botProfile) { } + global void setPermalink(String permalink) { } + global void setReactions(List reactions) { } + global void setSubtype(String subtype) { } + global void setTeam(String team) { } + global void setText(String text) { } + global void setTs(String ts) { } + global void setType(String type) { } + global void setUser(String user) { } + global void setUsername(String username) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionsListRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionsListRequest.cls new file mode 100644 index 0000000..b30bd9a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionsListRequest.cls @@ -0,0 +1,26 @@ +global class ReactionsListRequest { + global static Slack.ReactionsListRequest.Builder builder() { } + global Object clone() { } + global Integer getCount() { } + global String getCursor() { } + global Integer getLimit() { } + global Integer getPage() { } + global String getTeamId() { } + global String getUser() { } + global Boolean isFull() { } + global String toString() { } +global class Builder { + global ReactionsListRequest.Builder() { } + global Slack.ReactionsListRequest build() { } + global Object clone() { } + global Slack.ReactionsListRequest.Builder count(Integer count) { } + global Slack.ReactionsListRequest.Builder cursor(String cursor) { } + global Slack.ReactionsListRequest.Builder full(Boolean full) { } + global Slack.ReactionsListRequest.Builder limitValue(Integer limitValue) { } + global Slack.ReactionsListRequest.Builder page(Integer page) { } + global Slack.ReactionsListRequest.Builder teamId(String teamId) { } + global Slack.ReactionsListRequest.Builder user(String user) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionsListResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionsListResponse.cls new file mode 100644 index 0000000..4f06683 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionsListResponse.cls @@ -0,0 +1,145 @@ +global class ReactionsListResponse { + global ReactionsListResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global List getItems() { } + global String getNeeded() { } + global Slack.Paging getPaging() { } + global String getProvided() { } + global Slack.ResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setItems(List items) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setPaging(Slack.Paging paging) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } +global class Icons { + global ReactionsListResponse.Icons() { } + global Object clone() { } + global String getImage36() { } + global String getImage48() { } + global String getImage64() { } + global String getImage72() { } + global void setImage36(String image36) { } + global void setImage48(String image48) { } + global void setImage64(String image64) { } + global void setImage72(String image72) { } + +} +global class Item { + global ReactionsListResponse.Item() { } + global Object clone() { } + global String getChannel() { } + global Slack.ReactionsListResponse.Message getMessage() { } + global String getType() { } + global void setChannel(String channel) { } + global void setMessage(Slack.ReactionsListResponse.Message message) { } + global void setType(String type) { } + +} +global class Message { + global ReactionsListResponse.Message() { } + global Object clone() { } + global String getAppId() { } + global String getBotId() { } + global Slack.BotProfile getBotProfile() { } + global String getClientMsgId() { } + global List getFiles() { } + global Slack.ReactionsListResponse.Icons getIcons() { } + global String getInviter() { } + global String getLastRead() { } + global String getLatestReply() { } + global String getParentUserId() { } + global String getPermalink() { } + global List getReactions() { } + global Integer getReplyCount() { } + global List getReplyUsers() { } + global Integer getReplyUsersCount() { } + global String getSourceTeam() { } + global String getSubtype() { } + global String getTeam() { } + global String getText() { } + global String getThreadTs() { } + global String getTs() { } + global String getType() { } + global String getUser() { } + global Slack.ReactionsListResponse.UserProfile getUserProfile() { } + global String getUserTeam() { } + global String getUsername() { } + global Boolean isDisplayAsBot() { } + global Boolean isLocked() { } + global Boolean isSubscribed() { } + global Boolean isUpload() { } + global void setAppId(String appId) { } + global void setBotId(String botId) { } + global void setBotProfile(Slack.BotProfile botProfile) { } + global void setClientMsgId(String clientMsgId) { } + global void setDisplayAsBot(Boolean displayAsBot) { } + global void setFiles(List files) { } + global void setIcons(Slack.ReactionsListResponse.Icons icons) { } + global void setInviter(String inviter) { } + global void setLastRead(String lastRead) { } + global void setLatestReply(String latestReply) { } + global void setLocked(Boolean locked) { } + global void setParentUserId(String parentUserId) { } + global void setPermalink(String permalink) { } + global void setReactions(List reactions) { } + global void setReplyCount(Integer replyCount) { } + global void setReplyUsers(List replyUsers) { } + global void setReplyUsersCount(Integer replyUsersCount) { } + global void setSourceTeam(String sourceTeam) { } + global void setSubscribed(Boolean subscribed) { } + global void setSubtype(String subtype) { } + global void setTeam(String team) { } + global void setText(String text) { } + global void setThreadTs(String threadTs) { } + global void setTs(String ts) { } + global void setType(String type) { } + global void setUpload(Boolean upload) { } + global void setUser(String user) { } + global void setUserProfile(Slack.ReactionsListResponse.UserProfile userProfile) { } + global void setUserTeam(String userTeam) { } + global void setUsername(String username) { } + +} +global class MessageRootReply { + global ReactionsListResponse.MessageRootReply() { } + global Object clone() { } + global String getTs() { } + global String getUser() { } + global void setTs(String ts) { } + global void setUser(String user) { } + +} +global class UserProfile { + global ReactionsListResponse.UserProfile() { } + global Object clone() { } + global String getAvatarHash() { } + global String getDisplayName() { } + global String getFirstName() { } + global String getImage72() { } + global String getName() { } + global String getRealName() { } + global String getTeam() { } + global Boolean isRestricted() { } + global Boolean isUltraRestricted() { } + global void setAvatarHash(String avatarHash) { } + global void setDisplayName(String displayName) { } + global void setFirstName(String firstName) { } + global void setImage72(String image72) { } + global void setName(String name) { } + global void setRealName(String realName) { } + global void setRestricted(Boolean restricted) { } + global void setTeam(String team) { } + global void setUltraRestricted(Boolean ultraRestricted) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionsRemoveRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionsRemoveRequest.cls new file mode 100644 index 0000000..692c840 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionsRemoveRequest.cls @@ -0,0 +1,22 @@ +global class ReactionsRemoveRequest { + global static Slack.ReactionsRemoveRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global String getFile() { } + global String getFileComment() { } + global String getName() { } + global String getTimestamp() { } + global String toString() { } +global class Builder { + global ReactionsRemoveRequest.Builder() { } + global Slack.ReactionsRemoveRequest build() { } + global Slack.ReactionsRemoveRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.ReactionsRemoveRequest.Builder file(String file) { } + global Slack.ReactionsRemoveRequest.Builder fileComment(String fileComment) { } + global Slack.ReactionsRemoveRequest.Builder name(String name) { } + global Slack.ReactionsRemoveRequest.Builder timestamp(String timestamp) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionsRemoveResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionsRemoveResponse.cls new file mode 100644 index 0000000..7d8def2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ReactionsRemoveResponse.cls @@ -0,0 +1,18 @@ +global class ReactionsRemoveResponse { + global ReactionsRemoveResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/Reminder.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/Reminder.cls new file mode 100644 index 0000000..1f09cf8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/Reminder.cls @@ -0,0 +1,35 @@ +global class Reminder { + global Reminder() { } + global Object clone() { } + global String getChannel() { } + global Integer getCompleteTs() { } + global String getCreator() { } + global String getId() { } + global Object getItem() { } + global Slack.Reminder.Recurrence getRecurrence() { } + global String getText() { } + global Integer getTime() { } + global String getUser() { } + global Boolean isRecurring() { } + global void setChannel(String channel) { } + global void setCompleteTs(Integer completeTs) { } + global void setCreator(String creator) { } + global void setId(String id) { } + global void setItem(Object item) { } + global void setRecurrence(Slack.Reminder.Recurrence recurrence) { } + global void setRecurring(Boolean recurring) { } + global void setText(String text) { } + global void setTime(Integer timeValue) { } + global void setUser(String user) { } + global String toString() { } +global class Recurrence { + global Reminder.Recurrence() { } + global Object clone() { } + global String getFrequency() { } + global List getWeekdays() { } + global void setFrequency(String frequency) { } + global void setWeekdays(List weekdays) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersAddRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersAddRequest.cls new file mode 100644 index 0000000..07f1ea9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersAddRequest.cls @@ -0,0 +1,20 @@ +global class RemindersAddRequest { + global static Slack.RemindersAddRequest.Builder builder() { } + global Object clone() { } + global String getTeamId() { } + global String getText() { } + global String getTime() { } + global String getUser() { } + global String toString() { } +global class Builder { + global RemindersAddRequest.Builder() { } + global Slack.RemindersAddRequest build() { } + global Object clone() { } + global Slack.RemindersAddRequest.Builder teamId(String teamId) { } + global Slack.RemindersAddRequest.Builder text(String text) { } + global Slack.RemindersAddRequest.Builder timeValue(String timeValue) { } + global Slack.RemindersAddRequest.Builder user(String user) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersAddResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersAddResponse.cls new file mode 100644 index 0000000..db05d6c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersAddResponse.cls @@ -0,0 +1,22 @@ +global class RemindersAddResponse { + global RemindersAddResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.Reminder getReminder() { } + global Slack.ResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setReminder(Slack.Reminder reminder) { } + global void setResponseMetadata(Slack.ResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersCompleteRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersCompleteRequest.cls new file mode 100644 index 0000000..bf62976 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersCompleteRequest.cls @@ -0,0 +1,16 @@ +global class RemindersCompleteRequest { + global static Slack.RemindersCompleteRequest.Builder builder() { } + global Object clone() { } + global String getReminder() { } + global String getTeamId() { } + global String toString() { } +global class Builder { + global RemindersCompleteRequest.Builder() { } + global Slack.RemindersCompleteRequest build() { } + global Object clone() { } + global Slack.RemindersCompleteRequest.Builder reminder(String reminder) { } + global Slack.RemindersCompleteRequest.Builder teamId(String teamId) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersCompleteResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersCompleteResponse.cls new file mode 100644 index 0000000..1d7f243 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersCompleteResponse.cls @@ -0,0 +1,18 @@ +global class RemindersCompleteResponse { + global RemindersCompleteResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersDeleteRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersDeleteRequest.cls new file mode 100644 index 0000000..6f90b32 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersDeleteRequest.cls @@ -0,0 +1,16 @@ +global class RemindersDeleteRequest { + global static Slack.RemindersDeleteRequest.Builder builder() { } + global Object clone() { } + global String getReminder() { } + global String getTeamId() { } + global String toString() { } +global class Builder { + global RemindersDeleteRequest.Builder() { } + global Slack.RemindersDeleteRequest build() { } + global Object clone() { } + global Slack.RemindersDeleteRequest.Builder reminder(String reminder) { } + global Slack.RemindersDeleteRequest.Builder teamId(String teamId) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersDeleteResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersDeleteResponse.cls new file mode 100644 index 0000000..12554fe --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersDeleteResponse.cls @@ -0,0 +1,18 @@ +global class RemindersDeleteResponse { + global RemindersDeleteResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersInfoRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersInfoRequest.cls new file mode 100644 index 0000000..b86b3c4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersInfoRequest.cls @@ -0,0 +1,16 @@ +global class RemindersInfoRequest { + global static Slack.RemindersInfoRequest.Builder builder() { } + global Object clone() { } + global String getReminder() { } + global String getTeamId() { } + global String toString() { } +global class Builder { + global RemindersInfoRequest.Builder() { } + global Slack.RemindersInfoRequest build() { } + global Object clone() { } + global Slack.RemindersInfoRequest.Builder reminder(String reminder) { } + global Slack.RemindersInfoRequest.Builder teamId(String teamId) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersInfoResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersInfoResponse.cls new file mode 100644 index 0000000..1892447 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersInfoResponse.cls @@ -0,0 +1,20 @@ +global class RemindersInfoResponse { + global RemindersInfoResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.Reminder getReminder() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setReminder(Slack.Reminder reminder) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersListRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersListRequest.cls new file mode 100644 index 0000000..fb9f22b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersListRequest.cls @@ -0,0 +1,14 @@ +global class RemindersListRequest { + global static Slack.RemindersListRequest.Builder builder() { } + global Object clone() { } + global String getTeamId() { } + global String toString() { } +global class Builder { + global RemindersListRequest.Builder() { } + global Slack.RemindersListRequest build() { } + global Object clone() { } + global Slack.RemindersListRequest.Builder teamId(String teamId) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersListResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersListResponse.cls new file mode 100644 index 0000000..940166a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/RemindersListResponse.cls @@ -0,0 +1,20 @@ +global class RemindersListResponse { + global RemindersListResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global List getReminders() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setReminders(List reminders) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/RequestContext.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/RequestContext.cls new file mode 100644 index 0000000..f1c9ccd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/RequestContext.cls @@ -0,0 +1,35 @@ +global class RequestContext { + global Object clone() { } + global Slack.ActionPayload getActionPayload() { } + global Slack.App getApp() { } + global String getAppId() { } + global String getChannelId() { } + global String getEnterpriseId() { } + global Map getFormData() { } + global Slack.MessageContext getMessageContext() { } + global String getTeamId() { } + global String getTriggerId() { } + global String getUserId() { } + global Slack.UserType getUserType() { } + global Slack.ViewContext getViewContext() { } + global Boolean isDefaultOrg() { } +global class Builder { + global RequestContext.Builder() { } + global Slack.RequestContext.Builder actionPayload(Slack.ActionPayload actionPayload) { } + global Slack.RequestContext.Builder appId(String appId) { } + global Slack.RequestContext build() { } + global Slack.RequestContext.Builder channelId(String channelId) { } + global Object clone() { } + global Slack.RequestContext.Builder enterpriseId(String enterpriseId) { } + global Slack.RequestContext.Builder formData(Map formData) { } + global Slack.RequestContext.Builder messageContext(Slack.MessageContext messageContext) { } + global Slack.RequestContext.Builder setIsDefaultOrg(Boolean isDefaultOrg) { } + global Slack.RequestContext.Builder teamId(String teamId) { } + global Slack.RequestContext.Builder triggerId(String triggerId) { } + global Slack.RequestContext.Builder userId(String userId) { } + global Slack.RequestContext.Builder userType(Slack.UserType userType) { } + global Slack.RequestContext.Builder viewContext(Slack.ViewContext viewContext) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/RequestedApp.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/RequestedApp.cls new file mode 100644 index 0000000..5df3a19 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/RequestedApp.cls @@ -0,0 +1,28 @@ +global class RequestedApp { + global RequestedApp() { } + global Object clone() { } + global String getAdditionalInfo() { } + global String getAppDirectoryUrl() { } + global String getAppHomepageUrl() { } + global String getDescription() { } + global String getHelpUrl() { } + global Slack.AppIcons getIcons() { } + global String getId() { } + global String getName() { } + global String getPrivacyPolicyUrl() { } + global Boolean isAppDirectoryApproved() { } + global Boolean isInternal() { } + global void setAdditionalInfo(String additionalInfo) { } + global void setAppDirectoryApproved(Boolean appDirectoryApproved) { } + global void setAppDirectoryUrl(String appDirectoryUrl) { } + global void setAppHomepageUrl(String appHomepageUrl) { } + global void setDescription(String description) { } + global void setHelpUrl(String helpUrl) { } + global void setIcons(Slack.AppIcons icons) { } + global void setId(String id) { } + global void setInternal(Boolean internal) { } + global void setName(String name) { } + global void setPrivacyPolicyUrl(String privacyPolicyUrl) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ResponseMetadata.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ResponseMetadata.cls new file mode 100644 index 0000000..f46c5d6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ResponseMetadata.cls @@ -0,0 +1,12 @@ +global class ResponseMetadata { + global ResponseMetadata() { } + global Object clone() { } + global List getMessages() { } + global String getNextCursor() { } + global List getWarnings() { } + global void setMessages(List messages) { } + global void setNextCursor(String nextCursor) { } + global void setWarnings(List warnings) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/RunnableHandler.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/RunnableHandler.cls new file mode 100644 index 0000000..d5d730b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/RunnableHandler.cls @@ -0,0 +1,4 @@ +global interface RunnableHandler { + void run(); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/SearchAllRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/SearchAllRequest.cls new file mode 100644 index 0000000..723b6b8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/SearchAllRequest.cls @@ -0,0 +1,26 @@ +global class SearchAllRequest { + global static Slack.SearchAllRequest.Builder builder() { } + global Object clone() { } + global Integer getCount() { } + global Integer getPage() { } + global String getQuery() { } + global String getSort() { } + global String getSortDir() { } + global String getTeamId() { } + global Boolean isHighlight() { } + global String toString() { } +global class Builder { + global SearchAllRequest.Builder() { } + global Slack.SearchAllRequest build() { } + global Object clone() { } + global Slack.SearchAllRequest.Builder count(Integer count) { } + global Slack.SearchAllRequest.Builder highlight(Boolean highlight) { } + global Slack.SearchAllRequest.Builder page(Integer page) { } + global Slack.SearchAllRequest.Builder query(String query) { } + global Slack.SearchAllRequest.Builder sortDir(String sortDir) { } + global Slack.SearchAllRequest.Builder sortValue(String sortValue) { } + global Slack.SearchAllRequest.Builder teamId(String teamId) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/SearchAllResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/SearchAllResponse.cls new file mode 100644 index 0000000..0137277 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/SearchAllResponse.cls @@ -0,0 +1,35 @@ +global class SearchAllResponse { + global SearchAllResponse() { } + global Object clone() { } + global String getError() { } + global Slack.SearchResult getFiles() { } + global Map> getHttpResponseHeaders() { } + global Slack.SearchResult getMessages() { } + global String getNeeded() { } + global Slack.SearchAllResponse.Posts getPosts() { } + global String getProvided() { } + global String getQuery() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setFiles(Slack.SearchResult files) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setMessages(Slack.SearchResult messages) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setPosts(Slack.SearchAllResponse.Posts posts) { } + global void setProvided(String provided) { } + global void setQuery(String query) { } + global void setWarning(String warning) { } + global String toString() { } +global class Posts { + global SearchAllResponse.Posts() { } + global Object clone() { } + global List getMatches() { } + global Integer getTotal() { } + global void setMatches(List matches) { } + global void setTotal(Integer total) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/SearchFilesRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/SearchFilesRequest.cls new file mode 100644 index 0000000..baba418 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/SearchFilesRequest.cls @@ -0,0 +1,26 @@ +global class SearchFilesRequest { + global static Slack.SearchFilesRequest.Builder builder() { } + global Object clone() { } + global Integer getCount() { } + global Integer getPage() { } + global String getQuery() { } + global String getSort() { } + global String getSortDir() { } + global String getTeamId() { } + global Boolean isHighlight() { } + global String toString() { } +global class Builder { + global SearchFilesRequest.Builder() { } + global Slack.SearchFilesRequest build() { } + global Object clone() { } + global Slack.SearchFilesRequest.Builder count(Integer count) { } + global Slack.SearchFilesRequest.Builder highlight(Boolean highlight) { } + global Slack.SearchFilesRequest.Builder page(Integer page) { } + global Slack.SearchFilesRequest.Builder query(String query) { } + global Slack.SearchFilesRequest.Builder sortDir(String sortDir) { } + global Slack.SearchFilesRequest.Builder sortValue(String sortValue) { } + global Slack.SearchFilesRequest.Builder teamId(String teamId) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/SearchFilesResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/SearchFilesResponse.cls new file mode 100644 index 0000000..44e8299 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/SearchFilesResponse.cls @@ -0,0 +1,22 @@ +global class SearchFilesResponse { + global SearchFilesResponse() { } + global Object clone() { } + global String getError() { } + global Slack.SearchResult getFiles() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getQuery() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setFiles(Slack.SearchResult files) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setQuery(String query) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/SearchMessagesRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/SearchMessagesRequest.cls new file mode 100644 index 0000000..19c4d7d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/SearchMessagesRequest.cls @@ -0,0 +1,28 @@ +global class SearchMessagesRequest { + global static Slack.SearchMessagesRequest.Builder builder() { } + global Object clone() { } + global Integer getCount() { } + global String getCursor() { } + global Integer getPage() { } + global String getQuery() { } + global String getSort() { } + global String getSortDir() { } + global String getTeamId() { } + global Boolean isHighlight() { } + global String toString() { } +global class Builder { + global SearchMessagesRequest.Builder() { } + global Slack.SearchMessagesRequest build() { } + global Object clone() { } + global Slack.SearchMessagesRequest.Builder count(Integer count) { } + global Slack.SearchMessagesRequest.Builder cursor(String cursor) { } + global Slack.SearchMessagesRequest.Builder highlight(Boolean highlight) { } + global Slack.SearchMessagesRequest.Builder page(Integer page) { } + global Slack.SearchMessagesRequest.Builder query(String query) { } + global Slack.SearchMessagesRequest.Builder sortDir(String sortDir) { } + global Slack.SearchMessagesRequest.Builder sortValue(String sortValue) { } + global Slack.SearchMessagesRequest.Builder teamId(String teamId) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/SearchMessagesResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/SearchMessagesResponse.cls new file mode 100644 index 0000000..40e1882 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/SearchMessagesResponse.cls @@ -0,0 +1,22 @@ +global class SearchMessagesResponse { + global SearchMessagesResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global Slack.SearchResult getMessages() { } + global String getNeeded() { } + global String getProvided() { } + global String getQuery() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setMessages(Slack.SearchResult messages) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setQuery(String query) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/SearchResult.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/SearchResult.cls new file mode 100644 index 0000000..83aade5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/SearchResult.cls @@ -0,0 +1,33 @@ +global class SearchResult { + global SearchResult() { } + global Object clone() { } + global List getMatches() { } + global Slack.SearchResult.Pagination getPagination() { } + global Slack.Paging getPaging() { } + global List getRefinements() { } + global Integer getTotal() { } + global void setMatches(List matches) { } + global void setPagination(Slack.SearchResult.Pagination pagination) { } + global void setPaging(Slack.Paging paging) { } + global void setRefinements(List refinements) { } + global void setTotal(Integer total) { } + global String toString() { } +global class Pagination { + global SearchResult.Pagination() { } + global Object clone() { } + global Integer getFirst() { } + global Integer getLast() { } + global Integer getPage() { } + global Integer getPageCount() { } + global Integer getPerPage() { } + global Integer getTotalCount() { } + global void setFirst(Integer first) { } + global void setLast(Integer last) { } + global void setPage(Integer page) { } + global void setPageCount(Integer pageCount) { } + global void setPerPage(Integer perPage) { } + global void setTotalCount(Integer totalCount) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/SharedChannelInviteAcceptedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/SharedChannelInviteAcceptedEvent.cls new file mode 100644 index 0000000..e5f10a6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/SharedChannelInviteAcceptedEvent.cls @@ -0,0 +1,20 @@ +global class SharedChannelInviteAcceptedEvent { + global SharedChannelInviteAcceptedEvent() { } + global Object clone() { } + global Slack.ConnectUser getAcceptingUser() { } + global Slack.ConnectChannel getChannel() { } + global String getEventTs() { } + global Slack.ConnectInviteDetail getInvite() { } + global String getSubtype() { } + global List getTeamsInChannel() { } + global String getType() { } + global Boolean isApprovalRequired() { } + global void setAcceptingUser(Slack.ConnectUser acceptingUser) { } + global void setApprovalRequired(Boolean approvalRequired) { } + global void setChannel(Slack.ConnectChannel channel) { } + global void setEventTs(String eventTs) { } + global void setInvite(Slack.ConnectInviteDetail invite) { } + global void setTeamsInChannel(List teamsInChannel) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/SharedChannelInviteApprovedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/SharedChannelInviteApprovedEvent.cls new file mode 100644 index 0000000..ba5757f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/SharedChannelInviteApprovedEvent.cls @@ -0,0 +1,20 @@ +global class SharedChannelInviteApprovedEvent { + global SharedChannelInviteApprovedEvent() { } + global Object clone() { } + global String getApprovingTeamId() { } + global Slack.ConnectUser getApprovingUser() { } + global Slack.ConnectChannel getChannel() { } + global String getEventTs() { } + global Slack.ConnectInviteDetail getInvite() { } + global String getSubtype() { } + global List getTeamsInChannel() { } + global String getType() { } + global void setApprovingTeamId(String approvingTeamId) { } + global void setApprovingUser(Slack.ConnectUser approvingUser) { } + global void setChannel(Slack.ConnectChannel channel) { } + global void setEventTs(String eventTs) { } + global void setInvite(Slack.ConnectInviteDetail invite) { } + global void setTeamsInChannel(List teamsInChannel) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/SharedChannelInviteDeclinedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/SharedChannelInviteDeclinedEvent.cls new file mode 100644 index 0000000..c19ad4d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/SharedChannelInviteDeclinedEvent.cls @@ -0,0 +1,20 @@ +global class SharedChannelInviteDeclinedEvent { + global SharedChannelInviteDeclinedEvent() { } + global Object clone() { } + global Slack.ConnectChannel getChannel() { } + global String getDecliningTeamId() { } + global Slack.ConnectUser getDecliningUser() { } + global String getEventTs() { } + global Slack.ConnectInviteDetail getInvite() { } + global String getSubtype() { } + global List getTeamsInChannel() { } + global String getType() { } + global void setChannel(Slack.ConnectChannel channel) { } + global void setDecliningTeamId(String decliningTeamId) { } + global void setDecliningUser(Slack.ConnectUser decliningUser) { } + global void setEventTs(String eventTs) { } + global void setInvite(Slack.ConnectInviteDetail invite) { } + global void setTeamsInChannel(List teamsInChannel) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/SharedChannelInviteReceivedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/SharedChannelInviteReceivedEvent.cls new file mode 100644 index 0000000..a349b84 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/SharedChannelInviteReceivedEvent.cls @@ -0,0 +1,14 @@ +global class SharedChannelInviteReceivedEvent { + global SharedChannelInviteReceivedEvent() { } + global Object clone() { } + global Slack.ConnectChannel getChannel() { } + global String getEventTs() { } + global Slack.ConnectInviteDetail getInvite() { } + global String getSubtype() { } + global String getType() { } + global void setChannel(Slack.ConnectChannel channel) { } + global void setEventTs(String eventTs) { } + global void setInvite(Slack.ConnectInviteDetail invite) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ShortcutDispatcher.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ShortcutDispatcher.cls new file mode 100644 index 0000000..dfb9538 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ShortcutDispatcher.cls @@ -0,0 +1,7 @@ +global class ShortcutDispatcher { + global ShortcutDispatcher() { } + global Boolean allowUnauthenticatedUsers() { } + global Object clone() { } + global Slack.ActionHandler invoke(Slack.ShortcutParameters param0, Slack.RequestContext param1) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ShortcutParameters.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ShortcutParameters.cls new file mode 100644 index 0000000..686d823 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ShortcutParameters.cls @@ -0,0 +1,6 @@ +global class ShortcutParameters { + global ShortcutParameters(String callbackId) { } + global Object clone() { } + global String getCallbackId() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/SlashCommandDispatcher.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/SlashCommandDispatcher.cls new file mode 100644 index 0000000..7b77892 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/SlashCommandDispatcher.cls @@ -0,0 +1,7 @@ +global class SlashCommandDispatcher { + global SlashCommandDispatcher() { } + global Boolean allowUnauthenticatedUsers() { } + global Object clone() { } + global Slack.ActionHandler invoke(Slack.SlashCommandParameters param0, Slack.RequestContext param1) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/SlashCommandParameters.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/SlashCommandParameters.cls new file mode 100644 index 0000000..0d10cb4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/SlashCommandParameters.cls @@ -0,0 +1,7 @@ +global class SlashCommandParameters { + global SlashCommandParameters(String command, String text) { } + global Object clone() { } + global String getCommand() { } + global String getText() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/StarAddedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/StarAddedEvent.cls new file mode 100644 index 0000000..20aacf6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/StarAddedEvent.cls @@ -0,0 +1,73 @@ +global class StarAddedEvent { + global StarAddedEvent() { } + global Object clone() { } + global String getEventTs() { } + global Slack.StarAddedEvent.Item getItem() { } + global String getSubtype() { } + global String getType() { } + global String getUser() { } + global void setEventTs(String eventTs) { } + global void setItem(Slack.StarAddedEvent.Item item) { } + global void setUser(String user) { } + global String toString() { } +global class Edited { + global StarAddedEvent.Edited() { } + global Object clone() { } + global String getTs() { } + global String getUser() { } + global void setTs(String ts) { } + global void setUser(String user) { } + +} +global class Item { + global StarAddedEvent.Item() { } + global Object clone() { } + global String getChannel() { } + global Slack.FileComment getComment() { } + global String getCreatedBy() { } + global Long getDateCreate() { } + global Slack.File getFile() { } + global Slack.StarAddedEvent.Message getMessage() { } + global String getType() { } + global void setChannel(String channel) { } + global void setComment(Slack.FileComment comment) { } + global void setCreatedBy(String createdBy) { } + global void setDateCreate(Long dateCreate) { } + global void setFile(Slack.File file) { } + global void setMessage(Slack.StarAddedEvent.Message message) { } + global void setType(String type) { } + +} +global class Message { + global StarAddedEvent.Message() { } + global Object clone() { } + global String getAppId() { } + global String getBotId() { } + global Slack.BotProfile getBotProfile() { } + global String getClientMsgId() { } + global Slack.StarAddedEvent.Edited getEdited() { } + global String getPermalink() { } + global List getPinnedTo() { } + global String getTeam() { } + global String getText() { } + global String getTs() { } + global String getType() { } + global String getUser() { } + global Boolean isStarred() { } + global void setAppId(String appId) { } + global void setBotId(String botId) { } + global void setBotProfile(Slack.BotProfile botProfile) { } + global void setClientMsgId(String clientMsgId) { } + global void setEdited(Slack.StarAddedEvent.Edited edited) { } + global void setPermalink(String permalink) { } + global void setPinnedTo(List pinnedTo) { } + global void setStarred(Boolean isStarred) { } + global void setTeam(String team) { } + global void setText(String text) { } + global void setTs(String ts) { } + global void setType(String type) { } + global void setUser(String user) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/StarRemovedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/StarRemovedEvent.cls new file mode 100644 index 0000000..2faf4b1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/StarRemovedEvent.cls @@ -0,0 +1,71 @@ +global class StarRemovedEvent { + global StarRemovedEvent() { } + global Object clone() { } + global String getEventTs() { } + global Slack.StarRemovedEvent.Item getItem() { } + global String getSubtype() { } + global String getType() { } + global String getUser() { } + global void setEventTs(String eventTs) { } + global void setItem(Slack.StarRemovedEvent.Item item) { } + global void setUser(String user) { } + global String toString() { } +global class Edited { + global StarRemovedEvent.Edited() { } + global Object clone() { } + global String getTs() { } + global String getUser() { } + global void setTs(String ts) { } + global void setUser(String user) { } + +} +global class Item { + global StarRemovedEvent.Item() { } + global Object clone() { } + global String getChannel() { } + global Slack.FileComment getComment() { } + global String getCreatedBy() { } + global Long getDateCreate() { } + global Slack.File getFile() { } + global Slack.StarRemovedEvent.Message getMessage() { } + global String getType() { } + global void setChannel(String channel) { } + global void setComment(Slack.FileComment comment) { } + global void setCreatedBy(String createdBy) { } + global void setDateCreate(Long dateCreate) { } + global void setFile(Slack.File file) { } + global void setMessage(Slack.StarRemovedEvent.Message message) { } + global void setType(String type) { } + +} +global class Message { + global StarRemovedEvent.Message() { } + global Object clone() { } + global String getAppId() { } + global String getBotId() { } + global Slack.BotProfile getBotProfile() { } + global String getClientMsgId() { } + global Slack.StarRemovedEvent.Edited getEdited() { } + global String getPermalink() { } + global List getPinnedTo() { } + global String getTeam() { } + global String getText() { } + global String getTs() { } + global String getType() { } + global String getUser() { } + global void setAppId(String appId) { } + global void setBotId(String botId) { } + global void setBotProfile(Slack.BotProfile botProfile) { } + global void setClientMsgId(String clientMsgId) { } + global void setEdited(Slack.StarRemovedEvent.Edited edited) { } + global void setPermalink(String permalink) { } + global void setPinnedTo(List pinnedTo) { } + global void setTeam(String team) { } + global void setText(String text) { } + global void setTs(String ts) { } + global void setType(String type) { } + global void setUser(String user) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/StarsAddRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/StarsAddRequest.cls new file mode 100644 index 0000000..d33375c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/StarsAddRequest.cls @@ -0,0 +1,20 @@ +global class StarsAddRequest { + global static Slack.StarsAddRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global String getFile() { } + global String getFileComment() { } + global String getTimestamp() { } + global String toString() { } +global class Builder { + global StarsAddRequest.Builder() { } + global Slack.StarsAddRequest build() { } + global Slack.StarsAddRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.StarsAddRequest.Builder file(String file) { } + global Slack.StarsAddRequest.Builder fileComment(String fileComment) { } + global Slack.StarsAddRequest.Builder timestamp(String timestamp) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/StarsAddResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/StarsAddResponse.cls new file mode 100644 index 0000000..40187c5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/StarsAddResponse.cls @@ -0,0 +1,18 @@ +global class StarsAddResponse { + global StarsAddResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/StarsListRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/StarsListRequest.cls new file mode 100644 index 0000000..ab10739 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/StarsListRequest.cls @@ -0,0 +1,22 @@ +global class StarsListRequest { + global static Slack.StarsListRequest.Builder builder() { } + global Object clone() { } + global Integer getCount() { } + global String getCursor() { } + global Integer getLimit() { } + global Integer getPage() { } + global String getTeamId() { } + global String toString() { } +global class Builder { + global StarsListRequest.Builder() { } + global Slack.StarsListRequest build() { } + global Object clone() { } + global Slack.StarsListRequest.Builder count(Integer count) { } + global Slack.StarsListRequest.Builder cursor(String cursor) { } + global Slack.StarsListRequest.Builder limitValue(Integer limitValue) { } + global Slack.StarsListRequest.Builder page(Integer page) { } + global Slack.StarsListRequest.Builder teamId(String teamId) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/StarsListResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/StarsListResponse.cls new file mode 100644 index 0000000..104534c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/StarsListResponse.cls @@ -0,0 +1,135 @@ +global class StarsListResponse { + global StarsListResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global List getItems() { } + global String getNeeded() { } + global Slack.Paging getPaging() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setItems(List items) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setPaging(Slack.Paging paging) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } +global class Comment { + global StarsListResponse.Comment() { } + global Object clone() { } + global String getComment() { } + global Integer getCreated() { } + global String getId() { } + global Integer getNumStars() { } + global Integer getTimestamp() { } + global String getUser() { } + global Boolean isIntro() { } + global Boolean isStarred() { } + global void setComment(String comment) { } + global void setCreated(Integer created) { } + global void setId(String id) { } + global void setIntro(Boolean intro) { } + global void setNumStars(Integer numStars) { } + global void setStarred(Boolean starred) { } + global void setTimestamp(Integer timestamp) { } + global void setUser(String user) { } + +} +global class Edited { + global StarsListResponse.Edited() { } + global Object clone() { } + global String getTs() { } + global String getUser() { } + global void setTs(String ts) { } + global void setUser(String user) { } + +} +global class Item { + global StarsListResponse.Item() { } + global Object clone() { } + global String getChannel() { } + global Slack.StarsListResponse.Comment getComment() { } + global Integer getDateCreate() { } + global Slack.File getFile() { } + global Slack.StarsListResponse.Message getMessage() { } + global String getType() { } + global void setChannel(String channel) { } + global void setComment(Slack.StarsListResponse.Comment comment) { } + global void setDateCreate(Integer dateCreate) { } + global void setFile(Slack.File file) { } + global void setMessage(Slack.StarsListResponse.Message message) { } + global void setType(String type) { } + +} +global class Message { + global StarsListResponse.Message() { } + global Object clone() { } + global String getBotId() { } + global Slack.BotProfile getBotProfile() { } + global String getClientMsgId() { } + global Boolean getDisplayAsBot() { } + global Slack.StarsListResponse.Edited getEdited() { } + global List getFiles() { } + global String getInviter() { } + global String getLastRead() { } + global String getLatestReply() { } + global String getPermalink() { } + global List getReactions() { } + global Integer getReplyCount() { } + global List getReplyUsers() { } + global Integer getReplyUsersCount() { } + global String getSubtype() { } + global String getTeam() { } + global String getText() { } + global String getThreadTs() { } + global String getTs() { } + global String getType() { } + global Boolean getUpload() { } + global String getUser() { } + global String getUsername() { } + global Boolean isLocked() { } + global Boolean isStarred() { } + global Boolean isSubscribed() { } + global void setBotId(String botId) { } + global void setBotProfile(Slack.BotProfile botProfile) { } + global void setClientMsgId(String clientMsgId) { } + global void setDisplayAsBot(Boolean displayAsBot) { } + global void setEdited(Slack.StarsListResponse.Edited edited) { } + global void setFiles(List files) { } + global void setInviter(String inviter) { } + global void setLastRead(String lastRead) { } + global void setLatestReply(String latestReply) { } + global void setLocked(Boolean locked) { } + global void setPermalink(String permalink) { } + global void setReactions(List reactions) { } + global void setReplyCount(Integer replyCount) { } + global void setReplyUsers(List replyUsers) { } + global void setReplyUsersCount(Integer replyUsersCount) { } + global void setStarred(Boolean starred) { } + global void setSubscribed(Boolean subscribed) { } + global void setSubtype(String subtype) { } + global void setTeam(String team) { } + global void setText(String text) { } + global void setThreadTs(String threadTs) { } + global void setTs(String ts) { } + global void setType(String type) { } + global void setUpload(Boolean upload) { } + global void setUser(String user) { } + global void setUsername(String username) { } + +} +global class MessageRootReply { + global StarsListResponse.MessageRootReply() { } + global Object clone() { } + global String getTs() { } + global String getUser() { } + global void setTs(String ts) { } + global void setUser(String user) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/StarsRemoveRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/StarsRemoveRequest.cls new file mode 100644 index 0000000..9151537 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/StarsRemoveRequest.cls @@ -0,0 +1,20 @@ +global class StarsRemoveRequest { + global static Slack.StarsRemoveRequest.Builder builder() { } + global Object clone() { } + global String getChannel() { } + global String getFile() { } + global String getFileComment() { } + global String getTimestamp() { } + global String toString() { } +global class Builder { + global StarsRemoveRequest.Builder() { } + global Slack.StarsRemoveRequest build() { } + global Slack.StarsRemoveRequest.Builder channel(String channel) { } + global Object clone() { } + global Slack.StarsRemoveRequest.Builder file(String file) { } + global Slack.StarsRemoveRequest.Builder fileComment(String fileComment) { } + global Slack.StarsRemoveRequest.Builder timestamp(String timestamp) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/StarsRemoveResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/StarsRemoveResponse.cls new file mode 100644 index 0000000..78d5606 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/StarsRemoveResponse.cls @@ -0,0 +1,18 @@ +global class StarsRemoveResponse { + global StarsRemoveResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/SubteamCreatedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/SubteamCreatedEvent.cls new file mode 100644 index 0000000..b4fa886 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/SubteamCreatedEvent.cls @@ -0,0 +1,68 @@ +global class SubteamCreatedEvent { + global SubteamCreatedEvent() { } + global Object clone() { } + global String getEventTs() { } + global Slack.SubteamCreatedEvent.Subteam getSubteam() { } + global String getSubtype() { } + global String getType() { } + global void setEventTs(String eventTs) { } + global void setSubteam(Slack.SubteamCreatedEvent.Subteam subteam) { } + global String toString() { } +global class Prefs { + global SubteamCreatedEvent.Prefs() { } + global Object clone() { } + global List getChannels() { } + global List getGroups() { } + global void setChannels(List channels) { } + global void setGroups(List groups) { } + +} +global class Subteam { + global SubteamCreatedEvent.Subteam() { } + global Object clone() { } + global String getAutoType() { } + global Integer getChannelCount() { } + global String getCreatedBy() { } + global Integer getDateCreate() { } + global Integer getDateDelete() { } + global Integer getDateUpdate() { } + global String getDeletedBy() { } + global String getDescription() { } + global String getEnterpriseSubteamId() { } + global String getHandle() { } + global String getId() { } + global String getName() { } + global Slack.SubteamCreatedEvent.Prefs getPrefs() { } + global String getTeamId() { } + global String getUpdatedBy() { } + global Integer getUserCount() { } + global List getUsers() { } + global Boolean isAutoProvision() { } + global Boolean isExternal() { } + global Boolean isSubteam() { } + global Boolean isUsergroup() { } + global void setAutoProvision(Boolean autoProvision) { } + global void setAutoType(String autoType) { } + global void setChannelCount(Integer channelCount) { } + global void setCreatedBy(String createdBy) { } + global void setDateCreate(Integer dateCreate) { } + global void setDateDelete(Integer dateDelete) { } + global void setDateUpdate(Integer dateUpdate) { } + global void setDeletedBy(String deletedBy) { } + global void setDescription(String description) { } + global void setEnterpriseSubteamId(String enterpriseSubteamId) { } + global void setExternal(Boolean external) { } + global void setHandle(String handle) { } + global void setId(String id) { } + global void setName(String name) { } + global void setPrefs(Slack.SubteamCreatedEvent.Prefs prefs) { } + global void setSubteam(Boolean isSubteam) { } + global void setTeamId(String teamId) { } + global void setUpdatedBy(String updatedBy) { } + global void setUserCount(Integer userCount) { } + global void setUsergroup(Boolean isUsergroup) { } + global void setUsers(List users) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/SubteamMembersChangedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/SubteamMembersChangedEvent.cls new file mode 100644 index 0000000..c24e3ee --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/SubteamMembersChangedEvent.cls @@ -0,0 +1,26 @@ +global class SubteamMembersChangedEvent { + global SubteamMembersChangedEvent() { } + global Object clone() { } + global List getAddedUsers() { } + global Integer getAddedUsersCount() { } + global Integer getDatePreviousUpdate() { } + global Integer getDateUpdate() { } + global String getEventTs() { } + global List getRemovedUsers() { } + global Integer getRemovedUsersCount() { } + global String getSubteamId() { } + global String getSubtype() { } + global String getTeamId() { } + global String getType() { } + global void setAddedUsers(List addedUsers) { } + global void setAddedUsersCount(Integer addedUsersCount) { } + global void setDatePreviousUpdate(Integer datePreviousUpdate) { } + global void setDateUpdate(Integer dateUpdate) { } + global void setEventTs(String eventTs) { } + global void setRemovedUsers(List removedUsers) { } + global void setRemovedUsersCount(Integer removedUsersCount) { } + global void setSubteamId(String subteamId) { } + global void setTeamId(String teamId) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/SubteamSelfAddedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/SubteamSelfAddedEvent.cls new file mode 100644 index 0000000..c5d85fd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/SubteamSelfAddedEvent.cls @@ -0,0 +1,12 @@ +global class SubteamSelfAddedEvent { + global SubteamSelfAddedEvent() { } + global Object clone() { } + global String getEventTs() { } + global String getSubteamId() { } + global String getSubtype() { } + global String getType() { } + global void setEventTs(String eventTs) { } + global void setSubteamId(String subteamId) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/SubteamSelfRemovedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/SubteamSelfRemovedEvent.cls new file mode 100644 index 0000000..d06a16a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/SubteamSelfRemovedEvent.cls @@ -0,0 +1,12 @@ +global class SubteamSelfRemovedEvent { + global SubteamSelfRemovedEvent() { } + global Object clone() { } + global String getEventTs() { } + global String getSubteamId() { } + global String getSubtype() { } + global String getType() { } + global void setEventTs(String eventTs) { } + global void setSubteamId(String subteamId) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/SubteamUpdatedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/SubteamUpdatedEvent.cls new file mode 100644 index 0000000..bbe0a7c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/SubteamUpdatedEvent.cls @@ -0,0 +1,68 @@ +global class SubteamUpdatedEvent { + global SubteamUpdatedEvent() { } + global Object clone() { } + global String getEventTs() { } + global Slack.SubteamUpdatedEvent.Subteam getSubteam() { } + global String getSubtype() { } + global String getType() { } + global void setEventTs(String eventTs) { } + global void setSubteam(Slack.SubteamUpdatedEvent.Subteam subteam) { } + global String toString() { } +global class Prefs { + global SubteamUpdatedEvent.Prefs() { } + global Object clone() { } + global List getChannels() { } + global List getGroups() { } + global void setChannels(List channels) { } + global void setGroups(List groups) { } + +} +global class Subteam { + global SubteamUpdatedEvent.Subteam() { } + global Object clone() { } + global String getAutoType() { } + global Integer getChannelCount() { } + global String getCreatedBy() { } + global Integer getDateCreate() { } + global Integer getDateDelete() { } + global Integer getDateUpdate() { } + global String getDeletedBy() { } + global String getDescription() { } + global String getEnterpriseSubteamId() { } + global String getHandle() { } + global String getId() { } + global String getName() { } + global Slack.SubteamUpdatedEvent.Prefs getPrefs() { } + global String getTeamId() { } + global String getUpdatedBy() { } + global Integer getUserCount() { } + global List getUsers() { } + global Boolean isAutoProvision() { } + global Boolean isExternal() { } + global Boolean isSubteam() { } + global Boolean isUsergroup() { } + global void setAutoProvision(Boolean autoProvision) { } + global void setAutoType(String autoType) { } + global void setChannelCount(Integer channelCount) { } + global void setCreatedBy(String createdBy) { } + global void setDateCreate(Integer dateCreate) { } + global void setDateDelete(Integer dateDelete) { } + global void setDateUpdate(Integer dateUpdate) { } + global void setDeletedBy(String deletedBy) { } + global void setDescription(String description) { } + global void setEnterpriseSubteamId(String enterpriseSubteamId) { } + global void setExternal(Boolean isExternal) { } + global void setHandle(String handle) { } + global void setId(String id) { } + global void setName(String name) { } + global void setPrefs(Slack.SubteamUpdatedEvent.Prefs prefs) { } + global void setSubteam(Boolean isSubteam) { } + global void setTeamId(String teamId) { } + global void setUpdatedBy(String updatedBy) { } + global void setUserCount(Integer userCount) { } + global void setUsergroup(Boolean isUsergroup) { } + global void setUsers(List users) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/Team.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/Team.cls new file mode 100644 index 0000000..08f3786 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/Team.cls @@ -0,0 +1,79 @@ +global class Team { + global Team() { } + global Object clone() { } + global String getAvatarBaseUrl() { } + global List getDefaultChannels() { } + global String getDiscoverable() { } + global String getDomain() { } + global String getEmailDomain() { } + global String getEnterpriseDomain() { } + global String getEnterpriseId() { } + global String getEnterpriseName() { } + global Slack.TeamIcon getIcon() { } + global String getId() { } + global Boolean getIsVerified() { } + global String getName() { } + global String getUrl() { } + global void setAvatarBaseUrl(String avatarBaseUrl) { } + global void setDefaultChannels(List defaultChannels) { } + global void setDiscoverable(String discoverable) { } + global void setDomain(String domain) { } + global void setEmailDomain(String emailDomain) { } + global void setEnterpriseDomain(String enterpriseDomain) { } + global void setEnterpriseId(String enterpriseId) { } + global void setEnterpriseName(String enterpriseName) { } + global void setIcon(Slack.TeamIcon icon) { } + global void setId(String id) { } + global void setIsVerified(Boolean isVerified) { } + global void setName(String name) { } + global void setUrl(String url) { } + global String toString() { } +global class Profile { + global Team.Profile() { } + global Object clone() { } + global String getFieldName() { } + global String getHint() { } + global String getId() { } + global String getLabel() { } + global Slack.Team.ProfileOptions getOptions() { } + global Integer getOrdering() { } + global Slack.Team.ProfilePermissions getPermissions() { } + global List getPossibleValues() { } + global String getSectionId() { } + global String getType() { } + global Boolean isHidden() { } + global void setFieldName(String fieldName) { } + global void setHidden(Boolean hidden) { } + global void setHint(String hintValue) { } + global void setId(String id) { } + global void setLabel(String label) { } + global void setOptions(Slack.Team.ProfileOptions options) { } + global void setOrdering(Integer ordering) { } + global void setPermissions(Slack.Team.ProfilePermissions permissions) { } + global void setPossibleValues(List possibleValues) { } + global void setSectionId(String sectionId) { } + global void setType(String type) { } + +} +global class ProfileOptions { + global Team.ProfileOptions() { } + global Object clone() { } + global Boolean isScim() { } + global Boolean isprotected() { } + global void setScim(Boolean scim) { } + global void setprotected(Boolean _protected) { } + +} +global class ProfilePermissions { + global Team.ProfilePermissions() { } + global Object clone() { } + global List getApi() { } + global Boolean isScim() { } + global Boolean isUi() { } + global void setApi(List api) { } + global void setScim(Boolean scim) { } + global void setUi(Boolean ui) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/TeamAccessGrantedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamAccessGrantedEvent.cls new file mode 100644 index 0000000..9d1b759 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamAccessGrantedEvent.cls @@ -0,0 +1,12 @@ +global class TeamAccessGrantedEvent { + global TeamAccessGrantedEvent() { } + global Object clone() { } + global String getEventTs() { } + global String getSubtype() { } + global List getTeamIds() { } + global String getType() { } + global void setEventTs(String eventTs) { } + global void setTeamIds(List teamIds) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/TeamAccessLogsRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamAccessLogsRequest.cls new file mode 100644 index 0000000..d1c31dc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamAccessLogsRequest.cls @@ -0,0 +1,20 @@ +global class TeamAccessLogsRequest { + global static Slack.TeamAccessLogsRequest.Builder builder() { } + global Object clone() { } + global Integer getBefore() { } + global Integer getCount() { } + global Integer getPage() { } + global String getTeamId() { } + global String toString() { } +global class Builder { + global TeamAccessLogsRequest.Builder() { } + global Slack.TeamAccessLogsRequest.Builder before(Integer before) { } + global Slack.TeamAccessLogsRequest build() { } + global Object clone() { } + global Slack.TeamAccessLogsRequest.Builder count(Integer count) { } + global Slack.TeamAccessLogsRequest.Builder page(Integer page) { } + global Slack.TeamAccessLogsRequest.Builder teamId(String teamId) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/TeamAccessLogsResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamAccessLogsResponse.cls new file mode 100644 index 0000000..17a5f4a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamAccessLogsResponse.cls @@ -0,0 +1,22 @@ +global class TeamAccessLogsResponse { + global TeamAccessLogsResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global List getLogins() { } + global String getNeeded() { } + global Slack.Paging getPaging() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setLogins(List logins) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setPaging(Slack.Paging paging) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/TeamAccessRevokedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamAccessRevokedEvent.cls new file mode 100644 index 0000000..4248042 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamAccessRevokedEvent.cls @@ -0,0 +1,12 @@ +global class TeamAccessRevokedEvent { + global TeamAccessRevokedEvent() { } + global Object clone() { } + global String getEventTs() { } + global String getSubtype() { } + global List getTeamIds() { } + global String getType() { } + global void setEventTs(String eventTs) { } + global void setTeamIds(List teamIds) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/TeamBillableInfoRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamBillableInfoRequest.cls new file mode 100644 index 0000000..a9578a3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamBillableInfoRequest.cls @@ -0,0 +1,16 @@ +global class TeamBillableInfoRequest { + global static Slack.TeamBillableInfoRequest.Builder builder() { } + global Object clone() { } + global String getTeamId() { } + global String getUser() { } + global String toString() { } +global class Builder { + global TeamBillableInfoRequest.Builder() { } + global Slack.TeamBillableInfoRequest build() { } + global Object clone() { } + global Slack.TeamBillableInfoRequest.Builder teamId(String teamId) { } + global Slack.TeamBillableInfoRequest.Builder user(String user) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/TeamBillableInfoResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamBillableInfoResponse.cls new file mode 100644 index 0000000..7d84004 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamBillableInfoResponse.cls @@ -0,0 +1,20 @@ +global class TeamBillableInfoResponse { + global TeamBillableInfoResponse() { } + global Object clone() { } + global Map getBillableInfo() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setBillableInfo(Map billableInfo) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/TeamDomainChangeEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamDomainChangeEvent.cls new file mode 100644 index 0000000..870ebdc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamDomainChangeEvent.cls @@ -0,0 +1,12 @@ +global class TeamDomainChangeEvent { + global TeamDomainChangeEvent() { } + global Object clone() { } + global String getDomain() { } + global String getSubtype() { } + global String getType() { } + global String getUrl() { } + global void setDomain(String domain) { } + global void setUrl(String url) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/TeamIcon.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamIcon.cls new file mode 100644 index 0000000..af5089b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamIcon.cls @@ -0,0 +1,24 @@ +global class TeamIcon { + global TeamIcon() { } + global Object clone() { } + global String getImage102() { } + global String getImage132() { } + global String getImage230() { } + global String getImage34() { } + global String getImage44() { } + global String getImage68() { } + global String getImage88() { } + global String getImageOriginal() { } + global Boolean isImageDefault() { } + global void setImage102(String image102) { } + global void setImage132(String image132) { } + global void setImage230(String image230) { } + global void setImage34(String image34) { } + global void setImage44(String image44) { } + global void setImage68(String image68) { } + global void setImage88(String image88) { } + global void setImageDefault(Boolean imageDefault) { } + global void setImageOriginal(String imageOriginal) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/TeamInfoRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamInfoRequest.cls new file mode 100644 index 0000000..c0aef1d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamInfoRequest.cls @@ -0,0 +1,16 @@ +global class TeamInfoRequest { + global static Slack.TeamInfoRequest.Builder builder() { } + global Object clone() { } + global String getDomain() { } + global String getTeam() { } + global String toString() { } +global class Builder { + global TeamInfoRequest.Builder() { } + global Slack.TeamInfoRequest build() { } + global Object clone() { } + global Slack.TeamInfoRequest.Builder domain(String domain) { } + global Slack.TeamInfoRequest.Builder team(String team) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/TeamInfoResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamInfoResponse.cls new file mode 100644 index 0000000..4038bb3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamInfoResponse.cls @@ -0,0 +1,20 @@ +global class TeamInfoResponse { + global TeamInfoResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.Team getTeam() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setTeam(Slack.Team team) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/TeamIntegrationLogsRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamIntegrationLogsRequest.cls new file mode 100644 index 0000000..ab8484a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamIntegrationLogsRequest.cls @@ -0,0 +1,26 @@ +global class TeamIntegrationLogsRequest { + global static Slack.TeamIntegrationLogsRequest.Builder builder() { } + global Object clone() { } + global String getAppId() { } + global String getChangeType() { } + global Integer getCount() { } + global Integer getPage() { } + global String getServiceId() { } + global String getTeamId() { } + global String getUser() { } + global String toString() { } +global class Builder { + global TeamIntegrationLogsRequest.Builder() { } + global Slack.TeamIntegrationLogsRequest.Builder appId(String appId) { } + global Slack.TeamIntegrationLogsRequest build() { } + global Slack.TeamIntegrationLogsRequest.Builder changeType(String changeType) { } + global Object clone() { } + global Slack.TeamIntegrationLogsRequest.Builder count(Integer count) { } + global Slack.TeamIntegrationLogsRequest.Builder page(Integer page) { } + global Slack.TeamIntegrationLogsRequest.Builder serviceId(String serviceId) { } + global Slack.TeamIntegrationLogsRequest.Builder teamId(String teamId) { } + global Slack.TeamIntegrationLogsRequest.Builder user(String user) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/TeamIntegrationLogsResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamIntegrationLogsResponse.cls new file mode 100644 index 0000000..72cae39 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamIntegrationLogsResponse.cls @@ -0,0 +1,22 @@ +global class TeamIntegrationLogsResponse { + global TeamIntegrationLogsResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global List getLogs() { } + global String getNeeded() { } + global Slack.Paging getPaging() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setLogs(List logs) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setPaging(Slack.Paging paging) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/TeamJoinEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamJoinEvent.cls new file mode 100644 index 0000000..b8312f5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamJoinEvent.cls @@ -0,0 +1,10 @@ +global class TeamJoinEvent { + global TeamJoinEvent() { } + global Object clone() { } + global String getSubtype() { } + global String getType() { } + global Slack.User getUser() { } + global void setUser(Slack.User user) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/TeamProfileGetRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamProfileGetRequest.cls new file mode 100644 index 0000000..575950f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamProfileGetRequest.cls @@ -0,0 +1,16 @@ +global class TeamProfileGetRequest { + global static Slack.TeamProfileGetRequest.Builder builder() { } + global Object clone() { } + global String getTeamId() { } + global String getVisibility() { } + global String toString() { } +global class Builder { + global TeamProfileGetRequest.Builder() { } + global Slack.TeamProfileGetRequest build() { } + global Object clone() { } + global Slack.TeamProfileGetRequest.Builder teamId(String teamId) { } + global Slack.TeamProfileGetRequest.Builder visibility(String visibility) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/TeamProfileGetResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamProfileGetResponse.cls new file mode 100644 index 0000000..f63e075 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamProfileGetResponse.cls @@ -0,0 +1,44 @@ +global class TeamProfileGetResponse { + global TeamProfileGetResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global Slack.TeamProfileGetResponse.Profiles getProfile() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProfile(Slack.TeamProfileGetResponse.Profiles profile) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } +global class Profiles { + global TeamProfileGetResponse.Profiles() { } + global Object clone() { } + global List getSections() { } + global void setSections(List sections) { } + +} +global class Section { + global TeamProfileGetResponse.Section() { } + global Object clone() { } + global String getId() { } + global String getLabel() { } + global Integer getOrder() { } + global String getSectionType() { } + global String getTeamId() { } + global Boolean isHidden() { } + global void setHidden(Boolean hidden) { } + global void setId(String id) { } + global void setLabel(String label) { } + global void setOrder(Integer order) { } + global void setSectionType(String sectionType) { } + global void setTeamId(String teamId) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/TeamRenameEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamRenameEvent.cls new file mode 100644 index 0000000..f6ebdc9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/TeamRenameEvent.cls @@ -0,0 +1,10 @@ +global class TeamRenameEvent { + global TeamRenameEvent() { } + global Object clone() { } + global String getName() { } + global String getSubtype() { } + global String getType() { } + global void setName(String name) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/TestHarness.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/TestHarness.cls new file mode 100644 index 0000000..12dc4db --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/TestHarness.cls @@ -0,0 +1,466 @@ +global class TestHarness { + global TestHarness() { } + global Object clone() { } + global Slack.TestHarness.State getNewSlackState() { } +global class Actions { + global Object clone() { } + global Object getComponent(Integer idx, System.Type clazz) { } + global Object getComponentByName(String name, System.Type clazz) { } + global Integer getComponentCount() { } + global String getName() { } + global String toString() { } + +} +global class Button { + global void click() { } + global Object clone() { } + global Slack.TestHarness.Confirm getConfirm() { } + global String getLabel() { } + global String getName() { } + global String getStyle() { } + global String getUrl() { } + global String getValue() { } + global String toString() { } + +} +global class Channel { + global void addUser(Slack.TestHarness.User user) { } + global Boolean canBeOpenedByUser(Slack.TestHarness.User user) { } + global Object clone() { } + global String getId() { } + global String getLocale() { } + global Integer getMessageCount(Slack.TestHarness.User user) { } + global List getMessages(Slack.TestHarness.User user) { } + global String getName() { } + global Slack.TestHarness.Team getTeam() { } + global Boolean isPrivate() { } + global void removeUser(Slack.TestHarness.User user) { } + global Slack.TestHarness.Message sendMessage(Slack.TestHarness.UserSession userSession, String text) { } + global String toString() { } + +} +global class Checkbox { + global Object clone() { } + global Slack.TestHarness.Confirm getConfirm() { } + global String getDescription() { } + global Boolean getInitialValue() { } + global String getLabel() { } + global String getName() { } + global Boolean getValue() { } + global void setValue(Boolean value) { } + global String toString() { } + global void toggleValue() { } + +} +global class CheckboxGroup { + global Object clone() { } + global Slack.TestHarness.Confirm getConfirm() { } + global List getInitialValue() { } + global String getName() { } + global List getOptions() { } + global List getValue() { } + global void setValue(List listOfIdentifiers) { } + global String toString() { } + global void toggleValue(Slack.TestHarness.Option option) { } + global void toggleValue(String identifier) { } + +} +global class Confirm { + global Object clone() { } + global String getConfirm() { } + global String getDeny() { } + global String getStyle() { } + global String getText() { } + global String getTitle() { } + global String toString() { } + +} +global class Context { + global Object clone() { } + global Object getComponent(Integer idx, System.Type clazz) { } + global Integer getComponentCount() { } + global String getName() { } + global String toString() { } + +} +global class ConversationsSelect { + global Object clone() { } + global Slack.TestHarness.Confirm getConfirm() { } + global Slack.TestHarness.Filter getFilter() { } + global List getInitialMultiselectValue() { } + global String getInitialValue() { } + global Integer getMaxSelection() { } + global List getMultiselectValue() { } + global String getName() { } + global List getOptions() { } + global String getPlaceholder() { } + global String getValue() { } + global Boolean isMultiselect() { } + global void setMultiselectValue(List listOfIdentifiers) { } + global void setValue(String identifier) { } + global String toString() { } + +} +global class Datasource { + global Object clone() { } + global String getDefinition() { } + global Map getProperties() { } + global String toString() { } + +} +global class DatePicker { + global Object clone() { } + global Slack.TestHarness.Confirm getConfirm() { } + global String getInitialValue() { } + global String getName() { } + global String getPlaceholder() { } + global String getValue() { } + global void setValue(String value) { } + global String toString() { } + +} +global class DateTimePicker { + global Object clone() { } + global Slack.TestHarness.Confirm getConfirm() { } + global String getDateLabel() { } + global String getInitialValue() { } + global String getName() { } + global String getPlaceholder() { } + global Boolean getRequired() { } + global String getSubmissionName() { } + global String getTimeLabel() { } + global String getValue() { } + global void setDateValue(String value) { } + global void setTimeValue(String value) { } + global void setValue(String value) { } + global String toString() { } + +} +global class Divider { + global Object clone() { } + global String getName() { } + global String toString() { } + +} +global class Enterprise { + global Object clone() { } + global String getId() { } + global String getName() { } + global String toString() { } + +} +global class ExternalSelect { + global Object clone() { } + global Slack.TestHarness.Confirm getConfirm() { } + global Slack.TestHarness.Datasource getDatasource() { } + global List getInitialMultiselectValue() { } + global List getInitialOptions() { } + global String getInitialValue() { } + global Integer getMaxSelection() { } + global Integer getMinQueryLength() { } + global List getMultiselectValue() { } + global String getName() { } + global List getOptionGroups() { } + global List getOptions() { } + global String getPlaceholder() { } + global String getValue() { } + global Boolean isMultiselect() { } + global void query(String query) { } + global void setMultiselectValue(List listOfIdentifiers) { } + global void setValue(String identifier) { } + global String toString() { } + +} +global class File { + global Object clone() { } + global String getExternalId() { } + global String getName() { } + global String getSource() { } + global String toString() { } + +} +global class Filter { + global Object clone() { } + global Boolean getExcludeBotUsers() { } + global Boolean getExcludeExternalShared() { } + global List getInclude() { } + global String toString() { } + +} +global class Header { + global Object clone() { } + global String getName() { } + global String getText() { } + global String toString() { } + +} +global class Home { + global Object clone() { } + global Slack.TestHarness.Button getButtonByLabel(String label) { } + global Object getComponent(Integer idx, System.Type clazz) { } + global Object getComponentByName(String name, System.Type clazz) { } + global Integer getComponentCount() { } + global Slack.TestHarness.Input getInputByLabel(String label) { } + global String toString() { } + +} +global class Image { + global Object clone() { } + global String getAltText() { } + global String getImageUrl() { } + global String getName() { } + global String getTitle() { } + global String toString() { } + +} +global class InlineImage { + global Object clone() { } + global String getAltText() { } + global String getImageUrl() { } + global String toString() { } + +} +global class Input { + global Object clone() { } + global Object getComponent(System.Type clazz) { } + global Object getComponentByName(String name, System.Type clazz) { } + global String getHint() { } + global String getLabel() { } + global String getName() { } + global Boolean isRequired() { } + global String toString() { } + +} +global class Message { + global Boolean canBeSeenByUser(Slack.TestHarness.User user) { } + global Object clone() { } + global Slack.TestHarness.Button getButtonByLabel(String label) { } + global Slack.TestHarness.Channel getChannel() { } + global Object getComponent(Integer idx, System.Type clazz) { } + global Object getComponentByName(String name, System.Type clazz) { } + global Integer getComponentCount() { } + global Slack.TestHarness.Input getInputByLabel(String label) { } + global String getMessageTs() { } + global String getText() { } + global Boolean isEphemeralMessage() { } + global String toString() { } + +} +global class Modal { + global Object clone() { } + global void close() { } + global Slack.TestHarness.Button getButtonByLabel(String label) { } + global String getCloseLabel() { } + global Object getComponent(Integer idx, System.Type clazz) { } + global Object getComponentByName(String name, System.Type clazz) { } + global Integer getComponentCount() { } + global Slack.TestHarness.Input getInputByLabel(String label) { } + global String getInputError(String inputBlockName) { } + global List getInputErrorBlocks() { } + global String getSubmitLabel() { } + global String getTitle() { } + global Boolean hasInputErrors() { } + global Boolean submit() { } + global String toString() { } + +} +global class Option { + global Object clone() { } + global String getDescription() { } + global String getIdentifier() { } + global String getLabel() { } + global String getUrl() { } + global Boolean getValue() { } + global String toString() { } + +} +global class OptionGroup { + global Object clone() { } + global String getLabel() { } + global List getOptions() { } + global String toString() { } + +} +global class Overflow { + global void clickOption(Integer idx) { } + global void clickOption(Slack.TestHarness.Option option) { } + global void clickOption(String identifier) { } + global Object clone() { } + global Slack.TestHarness.Confirm getConfirm() { } + global String getName() { } + global List getOptions() { } + global String toString() { } + +} +global class RadioGroup { + global Object clone() { } + global Slack.TestHarness.Confirm getConfirm() { } + global String getInitialValue() { } + global String getName() { } + global List getOptions() { } + global String getValue() { } + global void setValue(String identifier) { } + global String toString() { } + +} +global class Section { + global Object clone() { } + global Object getComponent(Integer idx, System.Type clazz) { } + global Object getComponent(System.Type clazz) { } + global Object getComponentByName(String name, System.Type clazz) { } + global Integer getFieldCount() { } + global String getFieldText(Integer idx) { } + global String getName() { } + global String getText() { } + global String toString() { } + +} +global class SelectInput { + global Object clone() { } + global Slack.TestHarness.Confirm getConfirm() { } + global List getInitialMultiselectValue() { } + global String getInitialValue() { } + global Integer getMaxSelection() { } + global List getMultiselectValue() { } + global String getName() { } + global List getOptionGroups() { } + global List getOptions() { } + global List getOptionsGroups() { } + global String getPlaceholder() { } + global String getValue() { } + global Boolean isMultiselect() { } + global void setMultiselectValue(List listOfIdentifiers) { } + global void setValue(String identifier) { } + global String toString() { } + +} +global class State { + global void clearAllClientMocks() { } + global void clearAppClientMock() { } + global void clearBotClientMock() { } + global void clearUserClientMock() { } + global Object clone() { } + global Slack.TestHarness.Channel createDirectChannel(Slack.TestHarness.User user) { } + global Slack.TestHarness.Enterprise createEnterprise(String enterpriseId, String enterpriseName) { } + global Slack.TestHarness.Enterprise createEnterprise(String enterpriseName) { } + global Slack.TestHarness.Channel createPrivateChannel(Slack.TestHarness.Team team, String channelName, String locale) { } + global Slack.TestHarness.Channel createPrivateChannel(Slack.TestHarness.Team team, String channelName) { } + global Slack.TestHarness.Channel createPrivateChannel(String channelName) { } + global Slack.TestHarness.Channel createPublicChannel(Slack.TestHarness.Team team, String channelName, String locale) { } + global Slack.TestHarness.Channel createPublicChannel(Slack.TestHarness.Team team, String channelName) { } + global Slack.TestHarness.Channel createPublicChannel(String channelName) { } + global Slack.TestHarness.Team createTeam(String teamDomain, Slack.TestHarness.Enterprise enterprise) { } + global Slack.TestHarness.Team createTeam(String teamDomain) { } + global Slack.TestHarness.User createUser(String username, String name, Slack.TestHarness.Team team, String locale) { } + global Slack.TestHarness.User createUser(String username, String name, Slack.TestHarness.Team team) { } + global Slack.TestHarness.User createUser(String username, String name) { } + global Slack.TestHarness.UserSession createUserSession(Slack.TestHarness.User user, Slack.TestHarness.Channel defaultChannel) { } + global Slack.TestHarness.UserSession createUserSession() { } + global Slack.TestHarness.Channel getChannel(Slack.TestHarness.Team team, String channelId) { } + global List getChannels(Slack.TestHarness.Team team) { } + global Slack.TestHarness.Channel getDefaultChannel() { } + global Slack.TestHarness.Enterprise getDefaultEnterprise() { } + global Slack.TestHarness.Team getDefaultTeam() { } + global Slack.TestHarness.User getDefaultUser() { } + global String getLocale() { } + global Slack.TestHarness.User getUser(Slack.TestHarness.Team team, String userId) { } + global Slack.TestHarness.User getUserByUsername(Slack.TestHarness.Team team, String username) { } + global List getUsers(Slack.TestHarness.Team team) { } + global void setAppClientMock(Slack.AppClientMock appClientMock) { } + global void setBotClientMock(Slack.BotClientMock botClientMock) { } + global void setLocale(String locale) { } + global void setUserClientMock(Slack.UserClientMock userClientMock) { } + global String toString() { } + +} +global class Team { + global Object clone() { } + global List getChannels() { } + global Slack.TestHarness.Enterprise getEnterprise() { } + global String getId() { } + global String getTeamDomain() { } + global String toString() { } + +} +global class Text { + global Object clone() { } + global String getText() { } + global String toString() { } + +} +global class TextInput { + global Object clone() { } + global String getInitialValue() { } + global Integer getMaxLength() { } + global Integer getMinLength() { } + global String getName() { } + global String getPlaceholder() { } + global String getValue() { } + global Boolean isMultiline() { } + global void setValue(String value) { } + global String toString() { } + +} +global class TimePicker { + global Object clone() { } + global Slack.TestHarness.Confirm getConfirm() { } + global String getInitialValue() { } + global String getName() { } + global String getPlaceholder() { } + global String getValue() { } + global void setValue(String value) { } + global String toString() { } + +} +global class User { + global Object clone() { } + global String getId() { } + global String getLocale() { } + global String getName() { } + global Slack.TestHarness.Team getTeam() { } + global String getUsername() { } + global String toString() { } + +} +global class UserSession { + global Object clone() { } + global void closeAllModals() { } + global void closeModal() { } + global void executeEvent(Slack.Event event, Slack.App slackApp) { } + global void executeGlobalShortcut(String globalShortcut, Slack.App slackApp) { } + global void executeMessageShortcut(String messageShortcut, Slack.TestHarness.Message message, Slack.App slackApp) { } + global void executeSlashCommand(String command, String text, Slack.App slackApp) { } + global void executeSlashCommand(String command, Slack.App slackApp) { } + global Slack.TestHarness.Home getAppHome() { } + global Integer getMessageCount() { } + global List getMessages() { } + global List getModalStack() { } + global Slack.TestHarness.Channel getOpenChannel() { } + global Slack.TestHarness.State getState() { } + global Slack.TestHarness.Modal getTopModal() { } + global Slack.TestHarness.User getUser() { } + global Slack.TestHarness.Home openAppHome(Slack.App slackApp) { } + global Slack.TestHarness.Channel openChannel(String channelId) { } + global Slack.TestHarness.Message postMessage(String message) { } + global String toString() { } + +} +global class UsersSelect { + global Object clone() { } + global Slack.TestHarness.Confirm getConfirm() { } + global List getInitialMultiselectValue() { } + global String getInitialValue() { } + global Integer getMaxSelection() { } + global List getMultiselectValue() { } + global String getName() { } + global List getOptions() { } + global String getPlaceholder() { } + global String getValue() { } + global Boolean isMultiselect() { } + global void setMultiselectValue(List listOfIdentifiers) { } + global void setValue(String identifier) { } + global String toString() { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/TokenInfo.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/TokenInfo.cls new file mode 100644 index 0000000..5e365ea --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/TokenInfo.cls @@ -0,0 +1,9 @@ +global class TokenInfo { + global TokenInfo() { } + global Object clone() { } + global Set getTokenScopes() { } + global Slack.TokenType getTokenType() { } + global void setTokenScopes(Set tokenScopes) { } + global void setTokenType(Slack.TokenType tokenType) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/TokenType.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/TokenType.cls new file mode 100644 index 0000000..272244d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/TokenType.cls @@ -0,0 +1,4 @@ +global enum TokenType { +BOT, +USER +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/TokensRevokedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/TokensRevokedEvent.cls new file mode 100644 index 0000000..97a2aad --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/TokensRevokedEvent.cls @@ -0,0 +1,19 @@ +global class TokensRevokedEvent { + global TokensRevokedEvent() { } + global Object clone() { } + global String getSubtype() { } + global Slack.TokensRevokedEvent.Tokens getTokens() { } + global String getType() { } + global void setTokens(Slack.TokensRevokedEvent.Tokens tokens) { } + global String toString() { } +global class Tokens { + global TokensRevokedEvent.Tokens() { } + global Object clone() { } + global List getBot() { } + global List getOauth() { } + global void setBot(List bot) { } + global void setOauth(List oauth) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/Topic.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/Topic.cls new file mode 100644 index 0000000..ee6a1ac --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/Topic.cls @@ -0,0 +1,12 @@ +global class Topic { + global Topic() { } + global Object clone() { } + global String getCreator() { } + global Integer getLastSet() { } + global String getValue() { } + global void setCreator(String creator) { } + global void setLastSet(Integer lastSet) { } + global void setValue(String value) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UisfUserAuthedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UisfUserAuthedEvent.cls new file mode 100644 index 0000000..7147630 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UisfUserAuthedEvent.cls @@ -0,0 +1,13 @@ +global class UisfUserAuthedEvent { + global UisfUserAuthedEvent() { } + global Object clone() { } + global String getEventTs() { } + global String getSubtype() { } + global List getTokenScopes() { } + global String getType() { } + global String getUser() { } + global void setEventTs(String eventTs) { } + global void setTokenScopes(List tokenInfo) { } + global void setUser(String user) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/User.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/User.cls new file mode 100644 index 0000000..cb3ef92 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/User.cls @@ -0,0 +1,182 @@ +global class User { + global User() { } + global Object clone() { } + global String getColor() { } + global Slack.User.EnterpriseUser getEnterpriseUser() { } + global String getId() { } + global String getLocale() { } + global String getName() { } + global String getPresence() { } + global Slack.User.Profile getProfile() { } + global String getRealName() { } + global String getTeamId() { } + global String getTwoFactorType() { } + global String getTz() { } + global String getTzLabel() { } + global Integer getTzOffset() { } + global Long getUpdated() { } + global String getWhoCanShareContactCard() { } + global Boolean isAdmin() { } + global Boolean isAppUser() { } + global Boolean isBot() { } + global Boolean isDeleted() { } + global Boolean isEmailConfirmed() { } + global Boolean isHas2fa() { } + global Boolean isHasFiles() { } + global Boolean isInvitedUser() { } + global Boolean isOwner() { } + global Boolean isPrimaryOwner() { } + global Boolean isRestricted() { } + global Boolean isStranger() { } + global Boolean isUltraRestricted() { } + global Boolean isWorkflowBot() { } + global void setAdmin(Boolean admin) { } + global void setAppUser(Boolean appUser) { } + global void setBot(Boolean bot) { } + global void setColor(String color) { } + global void setDeleted(Boolean deleted) { } + global void setEmailConfirmed(Boolean emailConfirmed) { } + global void setEnterpriseUser(Slack.User.EnterpriseUser enterpriseUser) { } + global void setHas2fa(Boolean has2fa) { } + global void setHasFiles(Boolean hasFiles) { } + global void setId(String id) { } + global void setInvitedUser(Boolean invitedUser) { } + global void setLocale(String locale) { } + global void setName(String name) { } + global void setOwner(Boolean owner) { } + global void setPresence(String presence) { } + global void setPrimaryOwner(Boolean primaryOwner) { } + global void setProfile(Slack.User.Profile profile) { } + global void setRealName(String realName) { } + global void setRestricted(Boolean restricted) { } + global void setStranger(Boolean stranger) { } + global void setTeamId(String teamId) { } + global void setTwoFactorType(String twoFactorType) { } + global void setTz(String tz) { } + global void setTzLabel(String tzLabel) { } + global void setTzOffset(Integer tzOffset) { } + global void setUltraRestricted(Boolean ultraRestricted) { } + global void setUpdated(Long updated) { } + global void setWhoCanShareContactCard(String whoCanShareContactCard) { } + global void setWorkflowBot(Boolean workflowBot) { } + global String toString() { } +global class EnterpriseUser { + global User.EnterpriseUser() { } + global Object clone() { } + global String getEnterpriseId() { } + global String getEnterpriseName() { } + global String getId() { } + global List getTeams() { } + global Boolean isAdmin() { } + global Boolean isOwner() { } + global Boolean isPrimaryOwner() { } + global void setAdmin(Boolean admin) { } + global void setEnterpriseId(String enterpriseId) { } + global void setEnterpriseName(String enterpriseName) { } + global void setId(String id) { } + global void setOwner(Boolean owner) { } + global void setPrimaryOwner(Boolean primaryOwner) { } + global void setTeams(List teams) { } + +} +global class Field { + global User.Field() { } + global Object clone() { } + global String getAlt() { } + global String getLabel() { } + global String getValue() { } + global void setAlt(String alt) { } + global void setLabel(String label) { } + global void setValue(String value) { } + +} +global class Profile { + global User.Profile() { } + global Object clone() { } + global String getApiAppId() { } + global String getAvatarHash() { } + global String getBotId() { } + global String getDisplayName() { } + global String getDisplayNameNormalized() { } + global String getEmail() { } + global Map getFields() { } + global String getGuestChannels() { } + global Long getGuestExpirationTs() { } + global String getGuestInvitedBy() { } + global String getHuddleState() { } + global Long getHuddleStateExpirationTs() { } + global String getImage1024() { } + global String getImage192() { } + global String getImage24() { } + global String getImage32() { } + global String getImage48() { } + global String getImage512() { } + global String getImage72() { } + global String getImageOriginal() { } + global String getPhone() { } + global String getPronouns() { } + global String getRealName() { } + global String getRealNameNormalized() { } + global String getSkype() { } + global String getStatusEmoji() { } + global List getStatusEmojiDisplayInfo() { } + global String getStatusEmojiUrl() { } + global Long getStatusExpiration() { } + global String getStatusText() { } + global String getStatusTextCanonical() { } + global String getTeam() { } + global String getTitle() { } + global Boolean isAlwaysActive() { } + global Boolean isCustomImage() { } + global void setAlwaysActive(Boolean alwaysActive) { } + global void setApiAppId(String apiAppId) { } + global void setAvatarHash(String avatarHash) { } + global void setBotId(String botId) { } + global void setCustomImage(Boolean customImage) { } + global void setDisplayName(String displayName) { } + global void setDisplayNameNormalized(String displayNameNormalized) { } + global void setEmail(String email) { } + global void setFields(Map fields) { } + global void setGuestChannels(String guestChannels) { } + global void setGuestExpirationTs(Long guestExpirationTs) { } + global void setGuestInvitedBy(String guestInvitedBy) { } + global void setHuddleState(String huddleState) { } + global void setHuddleStateExpirationTs(Long huddleStateExpirationTs) { } + global void setImage1024(String image1024) { } + global void setImage192(String image192) { } + global void setImage24(String image24) { } + global void setImage32(String image32) { } + global void setImage48(String image48) { } + global void setImage512(String image512) { } + global void setImage72(String image72) { } + global void setImageOriginal(String imageOriginal) { } + global void setPhone(String phone) { } + global void setPronouns(String pronouns) { } + global void setRealName(String realName) { } + global void setRealNameNormalized(String realNameNormalized) { } + global void setSkype(String skype) { } + global void setStatusEmoji(String statusEmoji) { } + global void setStatusEmojiDisplayInfo(List statusEmojiDisplayInfo) { } + global void setStatusEmojiUrl(String statusEmojiUrl) { } + global void setStatusExpiration(Long statusExpiration) { } + global void setStatusText(String statusText) { } + global void setStatusTextCanonical(String statusTextCanonical) { } + global void setTeam(String team) { } + global void setTitle(String title) { } + +} +global class StatusEmojiDisplayInfo { + global User.StatusEmojiDisplayInfo() { } + global Object clone() { } + global String getDisplayAlias() { } + global String getDisplayUrl() { } + global String getEmojiName() { } + global String getUnicode() { } + global void setDisplayAlias(String displayAlias) { } + global void setDisplayUrl(String displayUrl) { } + global void setEmojiName(String emojiName) { } + global void setUnicode(String unicode) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UserChangeEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UserChangeEvent.cls new file mode 100644 index 0000000..eef661c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UserChangeEvent.cls @@ -0,0 +1,12 @@ +global class UserChangeEvent { + global UserChangeEvent() { } + global Object clone() { } + global Integer getCacheTs() { } + global String getSubtype() { } + global String getType() { } + global Slack.User getUser() { } + global void setCacheTs(Integer cacheTs) { } + global void setUser(Slack.User user) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UserClient.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UserClient.cls new file mode 100644 index 0000000..99dabed --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UserClient.cls @@ -0,0 +1,107 @@ +global class UserClient { + global Slack.ApiTestResponse apiTest(Slack.ApiTestRequest req) { } + global Slack.AppsEventAuthorizationsListResponse appsEventAuthorizationsList(Slack.AppsEventAuthorizationsListRequest req) { } + global Slack.AppsUninstallResponse appsUninstall(Slack.AppsUninstallRequest req) { } + global Slack.AuthRevokeResponse authRevoke(Slack.AuthRevokeRequest req) { } + global Slack.AuthTeamsListResponse authTeamsList(Slack.AuthTeamsListRequest req) { } + global Slack.AuthTestResponse authTest(Slack.AuthTestRequest req) { } + global Slack.BookmarksAddResponse bookmarksAdd(Slack.BookmarksAddRequest req) { } + global Slack.BookmarksEditResponse bookmarksEdit(Slack.BookmarksEditRequest req) { } + global Slack.BookmarksListResponse bookmarksList(Slack.BookmarksListRequest req) { } + global Slack.BookmarksRemoveResponse bookmarksRemove(Slack.BookmarksRemoveRequest req) { } + global Slack.BotsInfoResponse botsInfo(Slack.BotsInfoRequest req) { } + global Slack.CallsAddResponse callsAdd(Slack.CallsAddRequest req) { } + global Slack.CallsEndResponse callsEnd(Slack.CallsEndRequest req) { } + global Slack.CallsInfoResponse callsInfo(Slack.CallsInfoRequest req) { } + global Slack.CallsParticipantsAddResponse callsParticipantsAdd(Slack.CallsParticipantsAddRequest req) { } + global Slack.CallsParticipantsRemoveResponse callsParticipantsRemove(Slack.CallsParticipantsRemoveRequest req) { } + global Slack.CallsUpdateResponse callsUpdate(Slack.CallsUpdateRequest req) { } + global Slack.ChatDeleteResponse chatDelete(Slack.ChatDeleteRequest req) { } + global Slack.ChatDeleteScheduledMessageResponse chatDeleteScheduledMessage(Slack.ChatDeleteScheduledMessageRequest req) { } + global Slack.ChatGetPermalinkResponse chatGetPermalink(Slack.ChatGetPermalinkRequest req) { } + global Slack.ChatMeMessageResponse chatMeMessage(Slack.ChatMeMessageRequest req) { } + global Slack.ChatPostEphemeralResponse chatPostEphemeral(Slack.ChatPostEphemeralRequest req) { } + global Slack.ChatPostMessageResponse chatPostMessage(Slack.ChatPostMessageRequest req) { } + global Slack.ChatScheduleMessageResponse chatScheduleMessage(Slack.ChatScheduleMessageRequest req) { } + global Slack.ChatScheduledMessagesListResponse chatScheduledMessagesList(Slack.ChatScheduledMessagesListRequest req) { } + global Slack.ChatUpdateResponse chatUpdate(Slack.ChatUpdateRequest req) { } + global Object clone() { } + global Slack.ConversationsArchiveResponse conversationsArchive(Slack.ConversationsArchiveRequest req) { } + global Slack.ConversationsCloseResponse conversationsClose(Slack.ConversationsCloseRequest req) { } + global Slack.ConversationsCreateResponse conversationsCreate(Slack.ConversationsCreateRequest req) { } + global Slack.ConversationsHistoryResponse conversationsHistory(Slack.ConversationsHistoryRequest req) { } + global Slack.ConversationsInfoResponse conversationsInfo(Slack.ConversationsInfoRequest req) { } + global Slack.ConversationsInviteResponse conversationsInvite(Slack.ConversationsInviteRequest req) { } + global Slack.ConversationsJoinResponse conversationsJoin(Slack.ConversationsJoinRequest req) { } + global Slack.ConversationsKickResponse conversationsKick(Slack.ConversationsKickRequest req) { } + global Slack.ConversationsLeaveResponse conversationsLeave(Slack.ConversationsLeaveRequest req) { } + global Slack.ConversationsListResponse conversationsList(Slack.ConversationsListRequest req) { } + global Slack.ConversationsMarkResponse conversationsMark(Slack.ConversationsMarkRequest req) { } + global Slack.ConversationsMembersResponse conversationsMembers(Slack.ConversationsMembersRequest req) { } + global Slack.ConversationsOpenResponse conversationsOpen(Slack.ConversationsOpenRequest req) { } + global Slack.ConversationsRenameResponse conversationsRename(Slack.ConversationsRenameRequest req) { } + global Slack.ConversationsRepliesResponse conversationsReplies(Slack.ConversationsRepliesRequest req) { } + global Slack.ConversationsSetPurposeResponse conversationsSetPurpose(Slack.ConversationsSetPurposeRequest req) { } + global Slack.ConversationsSetTopicResponse conversationsSetTopic(Slack.ConversationsSetTopicRequest req) { } + global Slack.ConversationsUnarchiveResponse conversationsUnarchive(Slack.ConversationsUnarchiveRequest req) { } + global Slack.DndEndDndResponse dndEndDnd(Slack.DndEndDndRequest req) { } + global Slack.DndEndSnoozeResponse dndEndSnooze(Slack.DndEndSnoozeRequest req) { } + global Slack.DndInfoResponse dndInfo(Slack.DndInfoRequest req) { } + global Slack.DndSetSnoozeResponse dndSetSnooze(Slack.DndSetSnoozeRequest req) { } + global Slack.DndTeamInfoResponse dndTeamInfo(Slack.DndTeamInfoRequest req) { } + global Slack.EmojiListResponse emojiList(Slack.EmojiListRequest req) { } + global Slack.FilesDeleteResponse filesDelete(Slack.FilesDeleteRequest req) { } + global Slack.FilesInfoResponse filesInfo(Slack.FilesInfoRequest req) { } + global Slack.FilesListResponse filesList(Slack.FilesListRequest req) { } + global Slack.FilesRemoteInfoResponse filesRemoteInfo(Slack.FilesRemoteInfoRequest req) { } + global Slack.FilesRemoteListResponse filesRemoteList(Slack.FilesRemoteListRequest req) { } + global Slack.FilesRemoteShareResponse filesRemoteShare(Slack.FilesRemoteShareRequest req) { } + global Slack.FilesRevokePublicURLResponse filesRevokePublicURL(Slack.FilesRevokePublicURLRequest req) { } + global Slack.FilesSharedPublicURLResponse filesSharedPublicURL(Slack.FilesSharedPublicURLRequest req) { } + global Slack.MigrationExchangeResponse migrationExchange(Slack.MigrationExchangeRequest req) { } + global Slack.PinsAddResponse pinsAdd(Slack.PinsAddRequest req) { } + global Slack.PinsListResponse pinsList(Slack.PinsListRequest req) { } + global Slack.PinsRemoveResponse pinsRemove(Slack.PinsRemoveRequest req) { } + global Slack.ReactionsAddResponse reactionsAdd(Slack.ReactionsAddRequest req) { } + global Slack.ReactionsGetResponse reactionsGet(Slack.ReactionsGetRequest req) { } + global Slack.ReactionsListResponse reactionsList(Slack.ReactionsListRequest req) { } + global Slack.ReactionsRemoveResponse reactionsRemove(Slack.ReactionsRemoveRequest req) { } + global Slack.RemindersAddResponse remindersAdd(Slack.RemindersAddRequest req) { } + global Slack.RemindersCompleteResponse remindersComplete(Slack.RemindersCompleteRequest req) { } + global Slack.RemindersDeleteResponse remindersDelete(Slack.RemindersDeleteRequest req) { } + global Slack.RemindersInfoResponse remindersInfo(Slack.RemindersInfoRequest req) { } + global Slack.RemindersListResponse remindersList(Slack.RemindersListRequest req) { } + global Slack.SearchAllResponse searchAll(Slack.SearchAllRequest req) { } + global Slack.SearchFilesResponse searchFiles(Slack.SearchFilesRequest req) { } + global Slack.SearchMessagesResponse searchMessages(Slack.SearchMessagesRequest req) { } + global Slack.StarsAddResponse starsAdd(Slack.StarsAddRequest req) { } + global Slack.StarsListResponse starsList(Slack.StarsListRequest req) { } + global Slack.StarsRemoveResponse starsRemove(Slack.StarsRemoveRequest req) { } + global Slack.TeamAccessLogsResponse teamAccessLogs(Slack.TeamAccessLogsRequest req) { } + global Slack.TeamBillableInfoResponse teamBillableInfo(Slack.TeamBillableInfoRequest req) { } + global Slack.TeamInfoResponse teamInfo(Slack.TeamInfoRequest req) { } + global Slack.TeamIntegrationLogsResponse teamIntegrationLogs(Slack.TeamIntegrationLogsRequest req) { } + global Slack.TeamProfileGetResponse teamProfileGet(Slack.TeamProfileGetRequest req) { } + global Slack.UsergroupsCreateResponse usergroupsCreate(Slack.UsergroupsCreateRequest req) { } + global Slack.UsergroupsDisableResponse usergroupsDisable(Slack.UsergroupsDisableRequest req) { } + global Slack.UsergroupsEnableResponse usergroupsEnable(Slack.UsergroupsEnableRequest req) { } + global Slack.UsergroupsListResponse usergroupsList(Slack.UsergroupsListRequest req) { } + global Slack.UsergroupsUpdateResponse usergroupsUpdate(Slack.UsergroupsUpdateRequest req) { } + global Slack.UsergroupsUsersListResponse usergroupsUsersList(Slack.UsergroupsUsersListRequest req) { } + global Slack.UsergroupsUsersUpdateResponse usergroupsUsersUpdate(Slack.UsergroupsUsersUpdateRequest req) { } + global Slack.UsersConversationsResponse usersConversations(Slack.UsersConversationsRequest req) { } + global Slack.UsersDeletePhotoResponse usersDeletePhoto(Slack.UsersDeletePhotoRequest req) { } + global Slack.UsersGetPresenceResponse usersGetPresence(Slack.UsersGetPresenceRequest req) { } + global Slack.UsersIdentityResponse usersIdentity(Slack.UsersIdentityRequest req) { } + global Slack.UsersInfoResponse usersInfo(Slack.UsersInfoRequest req) { } + global Slack.UsersListResponse usersList(Slack.UsersListRequest req) { } + global Slack.UsersLookupByEmailResponse usersLookupByEmail(Slack.UsersLookupByEmailRequest req) { } + global Slack.UsersProfileGetResponse usersProfileGet(Slack.UsersProfileGetRequest req) { } + global Slack.UsersProfileSetResponse usersProfileSet(Slack.UsersProfileSetRequest req) { } + global Slack.UsersSetActiveResponse usersSetActive(Slack.UsersSetActiveRequest req) { } + global Slack.UsersSetPresenceResponse usersSetPresence(Slack.UsersSetPresenceRequest req) { } + global Slack.ViewsOpenResponse viewsOpen(Slack.ViewsOpenRequest req) { } + global Slack.ViewsPushResponse viewsPush(Slack.ViewsPushRequest req) { } + global Slack.ViewsUpdateResponse viewsUpdate(Slack.ViewsUpdateRequest req) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UserClientMock.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UserClientMock.cls new file mode 100644 index 0000000..4b5676f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UserClientMock.cls @@ -0,0 +1,108 @@ +global class UserClientMock { + global UserClientMock() { } + global Slack.ApiTestResponse apiTest(Slack.ApiTestRequest req) { } + global Slack.AppsEventAuthorizationsListResponse appsEventAuthorizationsList(Slack.AppsEventAuthorizationsListRequest req) { } + global Slack.AppsUninstallResponse appsUninstall(Slack.AppsUninstallRequest req) { } + global Slack.AuthRevokeResponse authRevoke(Slack.AuthRevokeRequest req) { } + global Slack.AuthTeamsListResponse authTeamsList(Slack.AuthTeamsListRequest req) { } + global Slack.AuthTestResponse authTest(Slack.AuthTestRequest req) { } + global Slack.BookmarksAddResponse bookmarksAdd(Slack.BookmarksAddRequest req) { } + global Slack.BookmarksEditResponse bookmarksEdit(Slack.BookmarksEditRequest req) { } + global Slack.BookmarksListResponse bookmarksList(Slack.BookmarksListRequest req) { } + global Slack.BookmarksRemoveResponse bookmarksRemove(Slack.BookmarksRemoveRequest req) { } + global Slack.BotsInfoResponse botsInfo(Slack.BotsInfoRequest req) { } + global Slack.CallsAddResponse callsAdd(Slack.CallsAddRequest req) { } + global Slack.CallsEndResponse callsEnd(Slack.CallsEndRequest req) { } + global Slack.CallsInfoResponse callsInfo(Slack.CallsInfoRequest req) { } + global Slack.CallsParticipantsAddResponse callsParticipantsAdd(Slack.CallsParticipantsAddRequest req) { } + global Slack.CallsParticipantsRemoveResponse callsParticipantsRemove(Slack.CallsParticipantsRemoveRequest req) { } + global Slack.CallsUpdateResponse callsUpdate(Slack.CallsUpdateRequest req) { } + global Slack.ChatDeleteResponse chatDelete(Slack.ChatDeleteRequest req) { } + global Slack.ChatDeleteScheduledMessageResponse chatDeleteScheduledMessage(Slack.ChatDeleteScheduledMessageRequest req) { } + global Slack.ChatGetPermalinkResponse chatGetPermalink(Slack.ChatGetPermalinkRequest req) { } + global Slack.ChatMeMessageResponse chatMeMessage(Slack.ChatMeMessageRequest req) { } + global Slack.ChatPostEphemeralResponse chatPostEphemeral(Slack.ChatPostEphemeralRequest req) { } + global Slack.ChatPostMessageResponse chatPostMessage(Slack.ChatPostMessageRequest req) { } + global Slack.ChatScheduleMessageResponse chatScheduleMessage(Slack.ChatScheduleMessageRequest req) { } + global Slack.ChatScheduledMessagesListResponse chatScheduledMessagesList(Slack.ChatScheduledMessagesListRequest req) { } + global Slack.ChatUpdateResponse chatUpdate(Slack.ChatUpdateRequest req) { } + global Object clone() { } + global Slack.ConversationsArchiveResponse conversationsArchive(Slack.ConversationsArchiveRequest req) { } + global Slack.ConversationsCloseResponse conversationsClose(Slack.ConversationsCloseRequest req) { } + global Slack.ConversationsCreateResponse conversationsCreate(Slack.ConversationsCreateRequest req) { } + global Slack.ConversationsHistoryResponse conversationsHistory(Slack.ConversationsHistoryRequest req) { } + global Slack.ConversationsInfoResponse conversationsInfo(Slack.ConversationsInfoRequest req) { } + global Slack.ConversationsInviteResponse conversationsInvite(Slack.ConversationsInviteRequest req) { } + global Slack.ConversationsJoinResponse conversationsJoin(Slack.ConversationsJoinRequest req) { } + global Slack.ConversationsKickResponse conversationsKick(Slack.ConversationsKickRequest req) { } + global Slack.ConversationsLeaveResponse conversationsLeave(Slack.ConversationsLeaveRequest req) { } + global Slack.ConversationsListResponse conversationsList(Slack.ConversationsListRequest req) { } + global Slack.ConversationsMarkResponse conversationsMark(Slack.ConversationsMarkRequest req) { } + global Slack.ConversationsMembersResponse conversationsMembers(Slack.ConversationsMembersRequest req) { } + global Slack.ConversationsOpenResponse conversationsOpen(Slack.ConversationsOpenRequest req) { } + global Slack.ConversationsRenameResponse conversationsRename(Slack.ConversationsRenameRequest req) { } + global Slack.ConversationsRepliesResponse conversationsReplies(Slack.ConversationsRepliesRequest req) { } + global Slack.ConversationsSetPurposeResponse conversationsSetPurpose(Slack.ConversationsSetPurposeRequest req) { } + global Slack.ConversationsSetTopicResponse conversationsSetTopic(Slack.ConversationsSetTopicRequest req) { } + global Slack.ConversationsUnarchiveResponse conversationsUnarchive(Slack.ConversationsUnarchiveRequest req) { } + global Slack.DndEndDndResponse dndEndDnd(Slack.DndEndDndRequest req) { } + global Slack.DndEndSnoozeResponse dndEndSnooze(Slack.DndEndSnoozeRequest req) { } + global Slack.DndInfoResponse dndInfo(Slack.DndInfoRequest req) { } + global Slack.DndSetSnoozeResponse dndSetSnooze(Slack.DndSetSnoozeRequest req) { } + global Slack.DndTeamInfoResponse dndTeamInfo(Slack.DndTeamInfoRequest req) { } + global Slack.EmojiListResponse emojiList(Slack.EmojiListRequest req) { } + global Slack.FilesDeleteResponse filesDelete(Slack.FilesDeleteRequest req) { } + global Slack.FilesInfoResponse filesInfo(Slack.FilesInfoRequest req) { } + global Slack.FilesListResponse filesList(Slack.FilesListRequest req) { } + global Slack.FilesRemoteInfoResponse filesRemoteInfo(Slack.FilesRemoteInfoRequest req) { } + global Slack.FilesRemoteListResponse filesRemoteList(Slack.FilesRemoteListRequest req) { } + global Slack.FilesRemoteShareResponse filesRemoteShare(Slack.FilesRemoteShareRequest req) { } + global Slack.FilesRevokePublicURLResponse filesRevokePublicURL(Slack.FilesRevokePublicURLRequest req) { } + global Slack.FilesSharedPublicURLResponse filesSharedPublicURL(Slack.FilesSharedPublicURLRequest req) { } + global Slack.MigrationExchangeResponse migrationExchange(Slack.MigrationExchangeRequest req) { } + global Slack.PinsAddResponse pinsAdd(Slack.PinsAddRequest req) { } + global Slack.PinsListResponse pinsList(Slack.PinsListRequest req) { } + global Slack.PinsRemoveResponse pinsRemove(Slack.PinsRemoveRequest req) { } + global Slack.ReactionsAddResponse reactionsAdd(Slack.ReactionsAddRequest req) { } + global Slack.ReactionsGetResponse reactionsGet(Slack.ReactionsGetRequest req) { } + global Slack.ReactionsListResponse reactionsList(Slack.ReactionsListRequest req) { } + global Slack.ReactionsRemoveResponse reactionsRemove(Slack.ReactionsRemoveRequest req) { } + global Slack.RemindersAddResponse remindersAdd(Slack.RemindersAddRequest req) { } + global Slack.RemindersCompleteResponse remindersComplete(Slack.RemindersCompleteRequest req) { } + global Slack.RemindersDeleteResponse remindersDelete(Slack.RemindersDeleteRequest req) { } + global Slack.RemindersInfoResponse remindersInfo(Slack.RemindersInfoRequest req) { } + global Slack.RemindersListResponse remindersList(Slack.RemindersListRequest req) { } + global Slack.SearchAllResponse searchAll(Slack.SearchAllRequest req) { } + global Slack.SearchFilesResponse searchFiles(Slack.SearchFilesRequest req) { } + global Slack.SearchMessagesResponse searchMessages(Slack.SearchMessagesRequest req) { } + global Slack.StarsAddResponse starsAdd(Slack.StarsAddRequest req) { } + global Slack.StarsListResponse starsList(Slack.StarsListRequest req) { } + global Slack.StarsRemoveResponse starsRemove(Slack.StarsRemoveRequest req) { } + global Slack.TeamAccessLogsResponse teamAccessLogs(Slack.TeamAccessLogsRequest req) { } + global Slack.TeamBillableInfoResponse teamBillableInfo(Slack.TeamBillableInfoRequest req) { } + global Slack.TeamInfoResponse teamInfo(Slack.TeamInfoRequest req) { } + global Slack.TeamIntegrationLogsResponse teamIntegrationLogs(Slack.TeamIntegrationLogsRequest req) { } + global Slack.TeamProfileGetResponse teamProfileGet(Slack.TeamProfileGetRequest req) { } + global Slack.UsergroupsCreateResponse usergroupsCreate(Slack.UsergroupsCreateRequest req) { } + global Slack.UsergroupsDisableResponse usergroupsDisable(Slack.UsergroupsDisableRequest req) { } + global Slack.UsergroupsEnableResponse usergroupsEnable(Slack.UsergroupsEnableRequest req) { } + global Slack.UsergroupsListResponse usergroupsList(Slack.UsergroupsListRequest req) { } + global Slack.UsergroupsUpdateResponse usergroupsUpdate(Slack.UsergroupsUpdateRequest req) { } + global Slack.UsergroupsUsersListResponse usergroupsUsersList(Slack.UsergroupsUsersListRequest req) { } + global Slack.UsergroupsUsersUpdateResponse usergroupsUsersUpdate(Slack.UsergroupsUsersUpdateRequest req) { } + global Slack.UsersConversationsResponse usersConversations(Slack.UsersConversationsRequest req) { } + global Slack.UsersDeletePhotoResponse usersDeletePhoto(Slack.UsersDeletePhotoRequest req) { } + global Slack.UsersGetPresenceResponse usersGetPresence(Slack.UsersGetPresenceRequest req) { } + global Slack.UsersIdentityResponse usersIdentity(Slack.UsersIdentityRequest req) { } + global Slack.UsersInfoResponse usersInfo(Slack.UsersInfoRequest req) { } + global Slack.UsersListResponse usersList(Slack.UsersListRequest req) { } + global Slack.UsersLookupByEmailResponse usersLookupByEmail(Slack.UsersLookupByEmailRequest req) { } + global Slack.UsersProfileGetResponse usersProfileGet(Slack.UsersProfileGetRequest req) { } + global Slack.UsersProfileSetResponse usersProfileSet(Slack.UsersProfileSetRequest req) { } + global Slack.UsersSetActiveResponse usersSetActive(Slack.UsersSetActiveRequest req) { } + global Slack.UsersSetPresenceResponse usersSetPresence(Slack.UsersSetPresenceRequest req) { } + global Slack.ViewsOpenResponse viewsOpen(Slack.ViewsOpenRequest req) { } + global Slack.ViewsPushResponse viewsPush(Slack.ViewsPushRequest req) { } + global Slack.ViewsUpdateResponse viewsUpdate(Slack.ViewsUpdateRequest req) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UserMapping.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UserMapping.cls new file mode 100644 index 0000000..f866ba6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UserMapping.cls @@ -0,0 +1,7 @@ +global class UserMapping { + global UserMapping(String salesforceId, String slackUserId) { } + global Object clone() { } + global String getSalesforceUserId() { } + global String getSlackUserId() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UserMappingResult.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UserMappingResult.cls new file mode 100644 index 0000000..0c9b3d0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UserMappingResult.cls @@ -0,0 +1,8 @@ +global class UserMappingResult { + global Object clone() { } + global Slack.UserProvisioningErrorCode getError() { } + global Slack.UserMapping getUserMapping() { } + global Boolean isSuccess() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UserMappingService.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UserMappingService.cls new file mode 100644 index 0000000..3455a2e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UserMappingService.cls @@ -0,0 +1,9 @@ +global class UserMappingService { + global UserMappingService() { } + global Object clone() { } + global static String getSalesforceUserId(String slackUserId) { } + global static Map getSalesforceUserIdMap(List slackUserIds) { } + global static String getSlackUserId(String salesforceUserId, String teamId) { } + global static Map getSlackUserIdMap(List salesforceUserIds, String teamId) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UserMappingUrlServiceProvider.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UserMappingUrlServiceProvider.cls new file mode 100644 index 0000000..c9dc514 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UserMappingUrlServiceProvider.cls @@ -0,0 +1,7 @@ +global class UserMappingUrlServiceProvider { + global UserMappingUrlServiceProvider() { } + global Object clone() { } + global static String generatePartnerAuthorizationUrl(String slackAppId, String slackTeamId) { } + global static String generateSlackAuthorizationUrl(String slackAppId) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UserProvisioningErrorCode.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UserProvisioningErrorCode.cls new file mode 100644 index 0000000..b485296 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UserProvisioningErrorCode.cls @@ -0,0 +1,7 @@ +global class UserProvisioningErrorCode { + global Object clone() { } + global Integer getCode() { } + global String getDescription() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UserProvisioningProvider.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UserProvisioningProvider.cls new file mode 100644 index 0000000..bcc3485 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UserProvisioningProvider.cls @@ -0,0 +1,8 @@ +global class UserProvisioningProvider { + global UserProvisioningProvider() { } + global Object clone() { } + global static Slack.UserProvisioningResult importUsers(List proposedUserMappings, String installedAppContextId) { } + global static Slack.UserProvisioningResult revokeUsersBySalesforceId(List salesforceIdsToRevoke, String installedAppContextId) { } + global static Slack.UserProvisioningResult revokeUsersBySlackId(List slackIdsToRevoke) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UserProvisioningResult.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UserProvisioningResult.cls new file mode 100644 index 0000000..cdee080 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UserProvisioningResult.cls @@ -0,0 +1,8 @@ +global class UserProvisioningResult { + global Object clone() { } + global List getFailedMappings() { } + global List getSuccessfulMappings() { } + global Boolean isSuccess() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UserResourceDeniedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UserResourceDeniedEvent.cls new file mode 100644 index 0000000..4cc82f7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UserResourceDeniedEvent.cls @@ -0,0 +1,14 @@ +global class UserResourceDeniedEvent { + global UserResourceDeniedEvent() { } + global Object clone() { } + global List getScopes() { } + global String getSubtype() { } + global String getTriggerId() { } + global String getType() { } + global String getUser() { } + global void setScopes(List scopes) { } + global void setTriggerId(String triggerId) { } + global void setUser(String user) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UserResourceGrantedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UserResourceGrantedEvent.cls new file mode 100644 index 0000000..1dc29fa --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UserResourceGrantedEvent.cls @@ -0,0 +1,14 @@ +global class UserResourceGrantedEvent { + global UserResourceGrantedEvent() { } + global Object clone() { } + global List getScopes() { } + global String getSubtype() { } + global String getTriggerId() { } + global String getType() { } + global String getUser() { } + global void setScopes(List scopes) { } + global void setTriggerId(String triggerId) { } + global void setUser(String user) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UserResourceRemovedEvent.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UserResourceRemovedEvent.cls new file mode 100644 index 0000000..8c7f75f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UserResourceRemovedEvent.cls @@ -0,0 +1,12 @@ +global class UserResourceRemovedEvent { + global UserResourceRemovedEvent() { } + global Object clone() { } + global String getSubtype() { } + global String getTriggerId() { } + global String getType() { } + global String getUser() { } + global void setTriggerId(String triggerId) { } + global void setUser(String user) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UserType.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UserType.cls new file mode 100644 index 0000000..7ea8451 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UserType.cls @@ -0,0 +1,5 @@ +global enum UserType { +AUTHENTICATED, +SYSTEM, +UNAUTHENTICATED +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/Usergroup.Prefs.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/Usergroup.Prefs.cls new file mode 100644 index 0000000..a0341d8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/Usergroup.Prefs.cls @@ -0,0 +1,9 @@ +global class Usergroup.Prefs { + global Usergroup.Prefs() { } + global Object clone() { } + global List getChannels() { } + global List getGroups() { } + global void setChannels(List channels) { } + global void setGroups(List groups) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/Usergroup.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/Usergroup.cls new file mode 100644 index 0000000..ea80f81 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/Usergroup.cls @@ -0,0 +1,57 @@ +global class Usergroup { + global Usergroup() { } + global Object clone() { } + global String getAutoType() { } + global Integer getChannelCount() { } + global String getCreatedBy() { } + global Integer getDateCreate() { } + global Integer getDateDelete() { } + global Integer getDateUpdate() { } + global String getDeletedBy() { } + global String getDescription() { } + global String getEnterpriseSubteamId() { } + global String getHandle() { } + global String getId() { } + global String getName() { } + global Slack.Usergroup.Prefs getPrefs() { } + global String getTeamId() { } + global String getUpdatedBy() { } + global Integer getUserCount() { } + global List getUsers() { } + global Boolean isAutoProvision() { } + global Boolean isExternal() { } + global Boolean isSubteam() { } + global Boolean isUsergroup() { } + global void setAutoProvision(Boolean autoProvision) { } + global void setAutoType(String autoType) { } + global void setChannelCount(Integer channelCount) { } + global void setCreatedBy(String createdBy) { } + global void setDateCreate(Integer dateCreate) { } + global void setDateDelete(Integer dateDelete) { } + global void setDateUpdate(Integer dateUpdate) { } + global void setDeletedBy(String deletedBy) { } + global void setDescription(String description) { } + global void setEnterpriseSubteamId(String enterpriseSubteamId) { } + global void setExternal(Boolean external) { } + global void setHandle(String handle) { } + global void setId(String id) { } + global void setName(String name) { } + global void setPrefs(Slack.Usergroup.Prefs prefs) { } + global void setSubteam(Boolean subteam) { } + global void setTeamId(String teamId) { } + global void setUpdatedBy(String updatedBy) { } + global void setUserCount(Integer userCount) { } + global void setUsergroup(Boolean usergroup) { } + global void setUsers(List users) { } + global String toString() { } +global class Prefs { + global Usergroup.Prefs() { } + global Object clone() { } + global List getChannels() { } + global List getGroups() { } + global void setChannels(List channels) { } + global void setGroups(List groups) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsCreateRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsCreateRequest.cls new file mode 100644 index 0000000..d786427 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsCreateRequest.cls @@ -0,0 +1,24 @@ +global class UsergroupsCreateRequest { + global static Slack.UsergroupsCreateRequest.Builder builder() { } + global Object clone() { } + global List getChannels() { } + global String getDescription() { } + global String getHandle() { } + global String getName() { } + global String getTeamId() { } + global Boolean isIncludeCount() { } + global String toString() { } +global class Builder { + global UsergroupsCreateRequest.Builder() { } + global Slack.UsergroupsCreateRequest build() { } + global Slack.UsergroupsCreateRequest.Builder channels(List channels) { } + global Object clone() { } + global Slack.UsergroupsCreateRequest.Builder description(String description) { } + global Slack.UsergroupsCreateRequest.Builder handle(String handle) { } + global Slack.UsergroupsCreateRequest.Builder includeCount(Boolean includeCount) { } + global Slack.UsergroupsCreateRequest.Builder name(String name) { } + global Slack.UsergroupsCreateRequest.Builder teamId(String teamId) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsCreateResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsCreateResponse.cls new file mode 100644 index 0000000..c7e4ef2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsCreateResponse.cls @@ -0,0 +1,20 @@ +global class UsergroupsCreateResponse { + global UsergroupsCreateResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.Usergroup getUsergroup() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setUsergroup(Slack.Usergroup usergroup) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsDisableRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsDisableRequest.cls new file mode 100644 index 0000000..c917e4f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsDisableRequest.cls @@ -0,0 +1,18 @@ +global class UsergroupsDisableRequest { + global static Slack.UsergroupsDisableRequest.Builder builder() { } + global Object clone() { } + global String getTeamId() { } + global String getUsergroup() { } + global Boolean isIncludeCount() { } + global String toString() { } +global class Builder { + global UsergroupsDisableRequest.Builder() { } + global Slack.UsergroupsDisableRequest build() { } + global Object clone() { } + global Slack.UsergroupsDisableRequest.Builder includeCount(Boolean includeCount) { } + global Slack.UsergroupsDisableRequest.Builder teamId(String teamId) { } + global Slack.UsergroupsDisableRequest.Builder usergroup(String usergroup) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsDisableResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsDisableResponse.cls new file mode 100644 index 0000000..dcbee78 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsDisableResponse.cls @@ -0,0 +1,20 @@ +global class UsergroupsDisableResponse { + global UsergroupsDisableResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.Usergroup getUsergroup() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setUsergroup(Slack.Usergroup usergroup) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsEnableRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsEnableRequest.cls new file mode 100644 index 0000000..056dba3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsEnableRequest.cls @@ -0,0 +1,18 @@ +global class UsergroupsEnableRequest { + global static Slack.UsergroupsEnableRequest.Builder builder() { } + global Object clone() { } + global String getTeamId() { } + global String getUsergroup() { } + global Boolean isIncludeCount() { } + global String toString() { } +global class Builder { + global UsergroupsEnableRequest.Builder() { } + global Slack.UsergroupsEnableRequest build() { } + global Object clone() { } + global Slack.UsergroupsEnableRequest.Builder includeCount(Boolean includeCount) { } + global Slack.UsergroupsEnableRequest.Builder teamId(String teamId) { } + global Slack.UsergroupsEnableRequest.Builder usergroup(String usergroup) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsEnableResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsEnableResponse.cls new file mode 100644 index 0000000..5b94fdd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsEnableResponse.cls @@ -0,0 +1,20 @@ +global class UsergroupsEnableResponse { + global UsergroupsEnableResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.Usergroup getUsergroup() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setUsergroup(Slack.Usergroup usergroup) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsListRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsListRequest.cls new file mode 100644 index 0000000..c5bb592 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsListRequest.cls @@ -0,0 +1,20 @@ +global class UsergroupsListRequest { + global static Slack.UsergroupsListRequest.Builder builder() { } + global Object clone() { } + global String getTeamId() { } + global Boolean isIncludeCount() { } + global Boolean isIncludeDisabled() { } + global Boolean isIncludeUsers() { } + global String toString() { } +global class Builder { + global UsergroupsListRequest.Builder() { } + global Slack.UsergroupsListRequest build() { } + global Object clone() { } + global Slack.UsergroupsListRequest.Builder includeCount(Boolean includeCount) { } + global Slack.UsergroupsListRequest.Builder includeDisabled(Boolean includeDisabled) { } + global Slack.UsergroupsListRequest.Builder includeUsers(Boolean includeUsers) { } + global Slack.UsergroupsListRequest.Builder teamId(String teamId) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsListResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsListResponse.cls new file mode 100644 index 0000000..3130ce1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsListResponse.cls @@ -0,0 +1,20 @@ +global class UsergroupsListResponse { + global UsergroupsListResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global List getUsergroups() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setUsergroups(List usergroups) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsUpdateRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsUpdateRequest.cls new file mode 100644 index 0000000..ee0fd0a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsUpdateRequest.cls @@ -0,0 +1,26 @@ +global class UsergroupsUpdateRequest { + global static Slack.UsergroupsUpdateRequest.Builder builder() { } + global Object clone() { } + global List getChannels() { } + global String getDescription() { } + global String getHandle() { } + global String getName() { } + global String getTeamId() { } + global String getUsergroup() { } + global Boolean isIncludeCount() { } + global String toString() { } +global class Builder { + global UsergroupsUpdateRequest.Builder() { } + global Slack.UsergroupsUpdateRequest build() { } + global Slack.UsergroupsUpdateRequest.Builder channels(List channels) { } + global Object clone() { } + global Slack.UsergroupsUpdateRequest.Builder description(String description) { } + global Slack.UsergroupsUpdateRequest.Builder handle(String handle) { } + global Slack.UsergroupsUpdateRequest.Builder includeCount(Boolean includeCount) { } + global Slack.UsergroupsUpdateRequest.Builder name(String name) { } + global Slack.UsergroupsUpdateRequest.Builder teamId(String teamId) { } + global Slack.UsergroupsUpdateRequest.Builder usergroup(String usergroup) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsUpdateResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsUpdateResponse.cls new file mode 100644 index 0000000..c8f8f79 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsUpdateResponse.cls @@ -0,0 +1,20 @@ +global class UsergroupsUpdateResponse { + global UsergroupsUpdateResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.Usergroup getUsergroup() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setUsergroup(Slack.Usergroup usergroup) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsUsersListRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsUsersListRequest.cls new file mode 100644 index 0000000..8b44dff --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsUsersListRequest.cls @@ -0,0 +1,18 @@ +global class UsergroupsUsersListRequest { + global static Slack.UsergroupsUsersListRequest.Builder builder() { } + global Object clone() { } + global String getTeamId() { } + global String getUsergroup() { } + global Boolean isIncludeDisabled() { } + global String toString() { } +global class Builder { + global UsergroupsUsersListRequest.Builder() { } + global Slack.UsergroupsUsersListRequest build() { } + global Object clone() { } + global Slack.UsergroupsUsersListRequest.Builder includeDisabled(Boolean includeDisabled) { } + global Slack.UsergroupsUsersListRequest.Builder teamId(String teamId) { } + global Slack.UsergroupsUsersListRequest.Builder usergroup(String usergroup) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsUsersListResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsUsersListResponse.cls new file mode 100644 index 0000000..721fd53 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsUsersListResponse.cls @@ -0,0 +1,20 @@ +global class UsergroupsUsersListResponse { + global UsergroupsUsersListResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global List getUsers() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setUsers(List users) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsUsersUpdateRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsUsersUpdateRequest.cls new file mode 100644 index 0000000..2584cc8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsUsersUpdateRequest.cls @@ -0,0 +1,20 @@ +global class UsergroupsUsersUpdateRequest { + global static Slack.UsergroupsUsersUpdateRequest.Builder builder() { } + global Object clone() { } + global String getTeamId() { } + global String getUsergroup() { } + global List getUsers() { } + global Boolean isIncludeCount() { } + global String toString() { } +global class Builder { + global UsergroupsUsersUpdateRequest.Builder() { } + global Slack.UsergroupsUsersUpdateRequest build() { } + global Object clone() { } + global Slack.UsergroupsUsersUpdateRequest.Builder includeCount(Boolean includeCount) { } + global Slack.UsergroupsUsersUpdateRequest.Builder teamId(String teamId) { } + global Slack.UsergroupsUsersUpdateRequest.Builder usergroup(String usergroup) { } + global Slack.UsergroupsUsersUpdateRequest.Builder users(List users) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsUsersUpdateResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsUsersUpdateResponse.cls new file mode 100644 index 0000000..2d0eaad --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsergroupsUsersUpdateResponse.cls @@ -0,0 +1,20 @@ +global class UsergroupsUsersUpdateResponse { + global UsergroupsUsersUpdateResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.Usergroup getUsergroup() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setUsergroup(Slack.Usergroup usergroup) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsersConversationsRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersConversationsRequest.cls new file mode 100644 index 0000000..d431c98 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersConversationsRequest.cls @@ -0,0 +1,23 @@ +global class UsersConversationsRequest { + global static Slack.UsersConversationsRequest.Builder builder() { } + global Object clone() { } + global String getCursor() { } + global Integer getLimit() { } + global String getTeamId() { } + global String getUser() { } + global Boolean isExcludeArchived() { } + global String toString() { } +global class Builder { + global UsersConversationsRequest.Builder() { } + global Slack.UsersConversationsRequest build() { } + global Object clone() { } + global Slack.UsersConversationsRequest.Builder cursor(String cursor) { } + global Slack.UsersConversationsRequest.Builder excludeArchived(Boolean excludeArchived) { } + global Slack.UsersConversationsRequest.Builder limitValue(Integer limitValue) { } + global Slack.UsersConversationsRequest.Builder teamId(String teamId) { } + global Slack.UsersConversationsRequest.Builder types(List types) { } + global Slack.UsersConversationsRequest.Builder user(String user) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsersConversationsResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersConversationsResponse.cls new file mode 100644 index 0000000..a76e31d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersConversationsResponse.cls @@ -0,0 +1,22 @@ +global class UsersConversationsResponse { + global UsersConversationsResponse() { } + global Object clone() { } + global List getChannels() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isOk() { } + global void setChannels(List channels) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsersDeletePhotoRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersDeletePhotoRequest.cls new file mode 100644 index 0000000..e033b98 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersDeletePhotoRequest.cls @@ -0,0 +1,12 @@ +global class UsersDeletePhotoRequest { + global static Slack.UsersDeletePhotoRequest.Builder builder() { } + global Object clone() { } + global String toString() { } +global class Builder { + global UsersDeletePhotoRequest.Builder() { } + global Slack.UsersDeletePhotoRequest build() { } + global Object clone() { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsersDeletePhotoResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersDeletePhotoResponse.cls new file mode 100644 index 0000000..d305529 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersDeletePhotoResponse.cls @@ -0,0 +1,18 @@ +global class UsersDeletePhotoResponse { + global UsersDeletePhotoResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsersGetPresenceRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersGetPresenceRequest.cls new file mode 100644 index 0000000..a94c052 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersGetPresenceRequest.cls @@ -0,0 +1,14 @@ +global class UsersGetPresenceRequest { + global static Slack.UsersGetPresenceRequest.Builder builder() { } + global Object clone() { } + global String getUser() { } + global String toString() { } +global class Builder { + global UsersGetPresenceRequest.Builder() { } + global Slack.UsersGetPresenceRequest build() { } + global Object clone() { } + global Slack.UsersGetPresenceRequest.Builder user(String user) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsersGetPresenceResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersGetPresenceResponse.cls new file mode 100644 index 0000000..4ec3e56 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersGetPresenceResponse.cls @@ -0,0 +1,30 @@ +global class UsersGetPresenceResponse { + global UsersGetPresenceResponse() { } + global Object clone() { } + global Integer getConnectionCount() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global Integer getLastActivity() { } + global String getNeeded() { } + global String getPresence() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isAutoAway() { } + global Boolean isManualAway() { } + global Boolean isOk() { } + global Boolean isOnline() { } + global void setAutoAway(Boolean autoAway) { } + global void setConnectionCount(Integer connectionCount) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setLastActivity(Integer lastActivity) { } + global void setManualAway(Boolean manualAway) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setOnline(Boolean online) { } + global void setPresence(String presence) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsersIdentityRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersIdentityRequest.cls new file mode 100644 index 0000000..06f08d8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersIdentityRequest.cls @@ -0,0 +1,12 @@ +global class UsersIdentityRequest { + global static Slack.UsersIdentityRequest.Builder builder() { } + global Object clone() { } + global String toString() { } +global class Builder { + global UsersIdentityRequest.Builder() { } + global Slack.UsersIdentityRequest build() { } + global Object clone() { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsersIdentityResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersIdentityResponse.cls new file mode 100644 index 0000000..d8fad86 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersIdentityResponse.cls @@ -0,0 +1,54 @@ +global class UsersIdentityResponse { + global UsersIdentityResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.UsersIdentityResponse.Team getTeam() { } + global Slack.UsersIdentityResponse.User getUser() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setTeam(Slack.UsersIdentityResponse.Team team) { } + global void setUser(Slack.UsersIdentityResponse.User user) { } + global void setWarning(String warning) { } + global String toString() { } +global class Team { + global UsersIdentityResponse.Team() { } + global Object clone() { } + global String getId() { } + global String getName() { } + global void setId(String id) { } + global void setName(String name) { } + +} +global class User { + global UsersIdentityResponse.User() { } + global Object clone() { } + global String getEmail() { } + global String getId() { } + global String getImage192() { } + global String getImage24() { } + global String getImage32() { } + global String getImage48() { } + global String getImage512() { } + global String getImage72() { } + global String getName() { } + global void setEmail(String email) { } + global void setId(String id) { } + global void setImage192(String image192) { } + global void setImage24(String image24) { } + global void setImage32(String image32) { } + global void setImage48(String image48) { } + global void setImage512(String image512) { } + global void setImage72(String image72) { } + global void setName(String name) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsersInfoRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersInfoRequest.cls new file mode 100644 index 0000000..9747ed9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersInfoRequest.cls @@ -0,0 +1,16 @@ +global class UsersInfoRequest { + global static Slack.UsersInfoRequest.Builder builder() { } + global Object clone() { } + global String getUser() { } + global Boolean isIncludeLocale() { } + global String toString() { } +global class Builder { + global UsersInfoRequest.Builder() { } + global Slack.UsersInfoRequest build() { } + global Object clone() { } + global Slack.UsersInfoRequest.Builder includeLocale(Boolean includeLocale) { } + global Slack.UsersInfoRequest.Builder user(String user) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsersInfoResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersInfoResponse.cls new file mode 100644 index 0000000..b318f56 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersInfoResponse.cls @@ -0,0 +1,20 @@ +global class UsersInfoResponse { + global UsersInfoResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.User getUser() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setUser(Slack.User user) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsersListRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersListRequest.cls new file mode 100644 index 0000000..c664327 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersListRequest.cls @@ -0,0 +1,20 @@ +global class UsersListRequest { + global static Slack.UsersListRequest.Builder builder() { } + global Object clone() { } + global String getCursor() { } + global Integer getLimit() { } + global String getTeamId() { } + global Boolean isIncludeLocale() { } + global String toString() { } +global class Builder { + global UsersListRequest.Builder() { } + global Slack.UsersListRequest build() { } + global Object clone() { } + global Slack.UsersListRequest.Builder cursor(String cursor) { } + global Slack.UsersListRequest.Builder includeLocale(Boolean includeLocale) { } + global Slack.UsersListRequest.Builder limitValue(Integer limitValue) { } + global Slack.UsersListRequest.Builder teamId(String teamId) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsersListResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersListResponse.cls new file mode 100644 index 0000000..c6b160e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersListResponse.cls @@ -0,0 +1,26 @@ +global class UsersListResponse { + global UsersListResponse() { } + global Object clone() { } + global String getCacheTs() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global List getMembers() { } + global String getNeeded() { } + global String getOffset() { } + global String getProvided() { } + global Slack.ResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isOk() { } + global void setCacheTs(String cacheTs) { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setMembers(List members) { } + global void setNeeded(String needed) { } + global void setOffset(String offset) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsersLookupByEmailRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersLookupByEmailRequest.cls new file mode 100644 index 0000000..dd90153 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersLookupByEmailRequest.cls @@ -0,0 +1,14 @@ +global class UsersLookupByEmailRequest { + global static Slack.UsersLookupByEmailRequest.Builder builder() { } + global Object clone() { } + global String getEmail() { } + global String toString() { } +global class Builder { + global UsersLookupByEmailRequest.Builder() { } + global Slack.UsersLookupByEmailRequest build() { } + global Object clone() { } + global Slack.UsersLookupByEmailRequest.Builder email(String email) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsersLookupByEmailResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersLookupByEmailResponse.cls new file mode 100644 index 0000000..ff906ef --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersLookupByEmailResponse.cls @@ -0,0 +1,22 @@ +global class UsersLookupByEmailResponse { + global UsersLookupByEmailResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ResponseMetadata getResponseMetadata() { } + global Slack.User getUser() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ResponseMetadata responseMetadata) { } + global void setUser(Slack.User user) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsersProfileGetRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersProfileGetRequest.cls new file mode 100644 index 0000000..5431418 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersProfileGetRequest.cls @@ -0,0 +1,16 @@ +global class UsersProfileGetRequest { + global static Slack.UsersProfileGetRequest.Builder builder() { } + global Object clone() { } + global String getUser() { } + global Boolean isIncludeLabels() { } + global String toString() { } +global class Builder { + global UsersProfileGetRequest.Builder() { } + global Slack.UsersProfileGetRequest build() { } + global Object clone() { } + global Slack.UsersProfileGetRequest.Builder includeLabels(Boolean includeLabels) { } + global Slack.UsersProfileGetRequest.Builder user(String user) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsersProfileGetResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersProfileGetResponse.cls new file mode 100644 index 0000000..1741f00 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersProfileGetResponse.cls @@ -0,0 +1,18 @@ +global class UsersProfileGetResponse { + global UsersProfileGetResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsersProfileSetRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersProfileSetRequest.cls new file mode 100644 index 0000000..170eae2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersProfileSetRequest.cls @@ -0,0 +1,18 @@ +global class UsersProfileSetRequest { + global static Slack.UsersProfileSetRequest.Builder builder() { } + global Object clone() { } + global String getName() { } + global String getUser() { } + global String getValue() { } + global String toString() { } +global class Builder { + global UsersProfileSetRequest.Builder() { } + global Slack.UsersProfileSetRequest build() { } + global Object clone() { } + global Slack.UsersProfileSetRequest.Builder name(String name) { } + global Slack.UsersProfileSetRequest.Builder user(String user) { } + global Slack.UsersProfileSetRequest.Builder value(String value) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsersProfileSetResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersProfileSetResponse.cls new file mode 100644 index 0000000..83b09f0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersProfileSetResponse.cls @@ -0,0 +1,20 @@ +global class UsersProfileSetResponse { + global UsersProfileSetResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getUsername() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setUsername(String username) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsersSetActiveRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersSetActiveRequest.cls new file mode 100644 index 0000000..712a6c2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersSetActiveRequest.cls @@ -0,0 +1,12 @@ +global class UsersSetActiveRequest { + global static Slack.UsersSetActiveRequest.Builder builder() { } + global Object clone() { } + global String toString() { } +global class Builder { + global UsersSetActiveRequest.Builder() { } + global Slack.UsersSetActiveRequest build() { } + global Object clone() { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsersSetActiveResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersSetActiveResponse.cls new file mode 100644 index 0000000..a14f7e9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersSetActiveResponse.cls @@ -0,0 +1,18 @@ +global class UsersSetActiveResponse { + global UsersSetActiveResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsersSetPresenceRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersSetPresenceRequest.cls new file mode 100644 index 0000000..1be619f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersSetPresenceRequest.cls @@ -0,0 +1,14 @@ +global class UsersSetPresenceRequest { + global static Slack.UsersSetPresenceRequest.Builder builder() { } + global Object clone() { } + global String getPresence() { } + global String toString() { } +global class Builder { + global UsersSetPresenceRequest.Builder() { } + global Slack.UsersSetPresenceRequest build() { } + global Object clone() { } + global Slack.UsersSetPresenceRequest.Builder presence(String presence) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/UsersSetPresenceResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersSetPresenceResponse.cls new file mode 100644 index 0000000..782da54 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/UsersSetPresenceResponse.cls @@ -0,0 +1,18 @@ +global class UsersSetPresenceResponse { + global UsersSetPresenceResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/View.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/View.cls new file mode 100644 index 0000000..d21a1fc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/View.cls @@ -0,0 +1,10 @@ +global class View { + global View() { } + global Object clone() { } + global String getExternalId() { } + global String getId() { } + global String getTeamId() { } + global void setId(String id) { } + global void setTeamId(String teamId) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ViewContext.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ViewContext.cls new file mode 100644 index 0000000..cf1f578 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ViewContext.cls @@ -0,0 +1,18 @@ +global class ViewContext { + global Object clone() { } + global String getHash() { } + global String getId() { } + global String getPreviousViewId() { } + global String getType() { } +global class Builder { + global ViewContext.Builder() { } + global Slack.ViewContext build() { } + global Object clone() { } + global Slack.ViewContext.Builder hash(String hash) { } + global Slack.ViewContext.Builder id(String id) { } + global Slack.ViewContext.Builder previousViewId(String previousViewId) { } + global Slack.ViewContext.Builder type(String type) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ViewReference.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ViewReference.cls new file mode 100644 index 0000000..6a7a691 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ViewReference.cls @@ -0,0 +1,9 @@ +global class ViewReference { + global Object clone() { } + global Boolean equals(Object o) { } + global Object getParameter(String name) { } + global static Slack.ViewReference getViewByName(String developerName) { } + global String getViewName() { } + global void setParameter(String name, Object value) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ViewsOpenRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ViewsOpenRequest.cls new file mode 100644 index 0000000..731864a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ViewsOpenRequest.cls @@ -0,0 +1,15 @@ +global class ViewsOpenRequest { + global static Slack.ViewsOpenRequest.Builder builder() { } + global Object clone() { } + global String getTriggerId() { } + global String toString() { } +global class Builder { + global ViewsOpenRequest.Builder() { } + global Slack.ViewsOpenRequest build() { } + global Object clone() { } + global Slack.ViewsOpenRequest.Builder triggerId(String triggerId) { } + global Slack.ViewsOpenRequest.Builder view(Slack.ModalView view) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ViewsOpenResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ViewsOpenResponse.cls new file mode 100644 index 0000000..7c2b697 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ViewsOpenResponse.cls @@ -0,0 +1,20 @@ +global class ViewsOpenResponse { + global ViewsOpenResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ErrorResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ErrorResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ViewsPublishRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ViewsPublishRequest.cls new file mode 100644 index 0000000..c60b1f6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ViewsPublishRequest.cls @@ -0,0 +1,17 @@ +global class ViewsPublishRequest { + global static Slack.ViewsPublishRequest.Builder builder() { } + global Object clone() { } + global String getHash() { } + global String getUserId() { } + global String toString() { } +global class Builder { + global ViewsPublishRequest.Builder() { } + global Slack.ViewsPublishRequest build() { } + global Object clone() { } + global Slack.ViewsPublishRequest.Builder hash(String hash) { } + global Slack.ViewsPublishRequest.Builder userId(String userId) { } + global Slack.ViewsPublishRequest.Builder view(Slack.HomeView view) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ViewsPublishResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ViewsPublishResponse.cls new file mode 100644 index 0000000..0825b17 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ViewsPublishResponse.cls @@ -0,0 +1,20 @@ +global class ViewsPublishResponse { + global ViewsPublishResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ErrorResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ErrorResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ViewsPushRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ViewsPushRequest.cls new file mode 100644 index 0000000..affc790 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ViewsPushRequest.cls @@ -0,0 +1,15 @@ +global class ViewsPushRequest { + global static Slack.ViewsPushRequest.Builder builder() { } + global Object clone() { } + global String getTriggerId() { } + global String toString() { } +global class Builder { + global ViewsPushRequest.Builder() { } + global Slack.ViewsPushRequest build() { } + global Object clone() { } + global Slack.ViewsPushRequest.Builder triggerId(String triggerId) { } + global Slack.ViewsPushRequest.Builder view(Slack.ModalView view) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ViewsPushResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ViewsPushResponse.cls new file mode 100644 index 0000000..e016ffd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ViewsPushResponse.cls @@ -0,0 +1,20 @@ +global class ViewsPushResponse { + global ViewsPushResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ErrorResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ErrorResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ViewsUpdateRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ViewsUpdateRequest.cls new file mode 100644 index 0000000..3b16cfc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ViewsUpdateRequest.cls @@ -0,0 +1,19 @@ +global class ViewsUpdateRequest { + global static Slack.ViewsUpdateRequest.Builder builder() { } + global Object clone() { } + global String getExternalId() { } + global String getHash() { } + global String getViewId() { } + global String toString() { } +global class Builder { + global ViewsUpdateRequest.Builder() { } + global Slack.ViewsUpdateRequest build() { } + global Object clone() { } + global Slack.ViewsUpdateRequest.Builder externalId(String externalId) { } + global Slack.ViewsUpdateRequest.Builder hash(String hash) { } + global Slack.ViewsUpdateRequest.Builder view(Slack.ModalView view) { } + global Slack.ViewsUpdateRequest.Builder viewId(String viewId) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/ViewsUpdateResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/ViewsUpdateResponse.cls new file mode 100644 index 0000000..c67fdc4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/ViewsUpdateResponse.cls @@ -0,0 +1,20 @@ +global class ViewsUpdateResponse { + global ViewsUpdateResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global Slack.ErrorResponseMetadata getResponseMetadata() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setResponseMetadata(Slack.ErrorResponseMetadata responseMetadata) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/WarningResponseMetadata.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/WarningResponseMetadata.cls new file mode 100644 index 0000000..814b6f3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/WarningResponseMetadata.cls @@ -0,0 +1,8 @@ +global class WarningResponseMetadata { + global WarningResponseMetadata() { } + global Object clone() { } + global List getWarnings() { } + global void setWarnings(List warnings) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/WorkflowStepInput.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/WorkflowStepInput.cls new file mode 100644 index 0000000..4202a38 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/WorkflowStepInput.cls @@ -0,0 +1,12 @@ +global class WorkflowStepInput { + global WorkflowStepInput() { } + global Object clone() { } + global Boolean getSkipVariableReplacement() { } + global Object getValue() { } + global Map getVariables() { } + global void setSkipVariableReplacement(Boolean skipVariableReplacement) { } + global void setValue(Object value) { } + global void setVariables(Map variables) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/WorkflowStepOutput.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/WorkflowStepOutput.cls new file mode 100644 index 0000000..49a9606 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/WorkflowStepOutput.cls @@ -0,0 +1,12 @@ +global class WorkflowStepOutput { + global WorkflowStepOutput() { } + global Object clone() { } + global String getLabel() { } + global String getName() { } + global String getType() { } + global void setLabel(String label) { } + global void setName(String name) { } + global void setType(String type) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/WorkflowsStepCompletedRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/WorkflowsStepCompletedRequest.cls new file mode 100644 index 0000000..592dfc6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/WorkflowsStepCompletedRequest.cls @@ -0,0 +1,18 @@ +global class WorkflowsStepCompletedRequest { + global static Slack.WorkflowsStepCompletedRequest.Builder builder() { } + global Object clone() { } + global Map getOutputs() { } + global String getOutputsAsString() { } + global String getWorkflowStepExecuteId() { } + global String toString() { } +global class Builder { + global WorkflowsStepCompletedRequest.Builder() { } + global Slack.WorkflowsStepCompletedRequest build() { } + global Object clone() { } + global Slack.WorkflowsStepCompletedRequest.Builder outputs(Map outputs) { } + global Slack.WorkflowsStepCompletedRequest.Builder outputsAsString(String outputsAsString) { } + global Slack.WorkflowsStepCompletedRequest.Builder workflowStepExecuteId(String workflowStepExecuteId) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/WorkflowsStepCompletedResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/WorkflowsStepCompletedResponse.cls new file mode 100644 index 0000000..ed11fce --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/WorkflowsStepCompletedResponse.cls @@ -0,0 +1,18 @@ +global class WorkflowsStepCompletedResponse { + global WorkflowsStepCompletedResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/WorkflowsStepFailedRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/WorkflowsStepFailedRequest.cls new file mode 100644 index 0000000..4ee593c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/WorkflowsStepFailedRequest.cls @@ -0,0 +1,16 @@ +global class WorkflowsStepFailedRequest { + global static Slack.WorkflowsStepFailedRequest.Builder builder() { } + global Object clone() { } + global Map getError() { } + global String getWorkflowStepExecuteId() { } + global String toString() { } +global class Builder { + global WorkflowsStepFailedRequest.Builder() { } + global Slack.WorkflowsStepFailedRequest build() { } + global Object clone() { } + global Slack.WorkflowsStepFailedRequest.Builder error(Map error) { } + global Slack.WorkflowsStepFailedRequest.Builder workflowStepExecuteId(String workflowStepExecuteId) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/WorkflowsStepFailedResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/WorkflowsStepFailedResponse.cls new file mode 100644 index 0000000..9cdd6cd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/WorkflowsStepFailedResponse.cls @@ -0,0 +1,18 @@ +global class WorkflowsStepFailedResponse { + global WorkflowsStepFailedResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/WorkflowsUpdateStepRequest.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/WorkflowsUpdateStepRequest.cls new file mode 100644 index 0000000..b6119af --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/WorkflowsUpdateStepRequest.cls @@ -0,0 +1,26 @@ +global class WorkflowsUpdateStepRequest { + global static Slack.WorkflowsUpdateStepRequest.Builder builder() { } + global Object clone() { } + global Map getInputs() { } + global String getInputsAsString() { } + global List getOutputs() { } + global String getOutputsAsString() { } + global String getStepImageUrl() { } + global String getStepName() { } + global String getWorkflowStepEditId() { } + global String toString() { } +global class Builder { + global WorkflowsUpdateStepRequest.Builder() { } + global Slack.WorkflowsUpdateStepRequest build() { } + global Object clone() { } + global Slack.WorkflowsUpdateStepRequest.Builder inputs(Map inputs) { } + global Slack.WorkflowsUpdateStepRequest.Builder inputsAsString(String inputsAsString) { } + global Slack.WorkflowsUpdateStepRequest.Builder outputs(List outputs) { } + global Slack.WorkflowsUpdateStepRequest.Builder outputsAsString(String outputsAsString) { } + global Slack.WorkflowsUpdateStepRequest.Builder stepImageUrl(String stepImageUrl) { } + global Slack.WorkflowsUpdateStepRequest.Builder stepName(String stepName) { } + global Slack.WorkflowsUpdateStepRequest.Builder workflowStepEditId(String workflowStepEditId) { } + +} + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Slack/WorkflowsUpdateStepResponse.cls b/.sfdx/tools/246/StandardApexLibrary/Slack/WorkflowsUpdateStepResponse.cls new file mode 100644 index 0000000..d10a0ba --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Slack/WorkflowsUpdateStepResponse.cls @@ -0,0 +1,18 @@ +global class WorkflowsUpdateStepResponse { + global WorkflowsUpdateStepResponse() { } + global Object clone() { } + global String getError() { } + global Map> getHttpResponseHeaders() { } + global String getNeeded() { } + global String getProvided() { } + global String getWarning() { } + global Boolean isOk() { } + global void setError(String error) { } + global void setHttpResponseHeaders(Map> httpResponseHeaders) { } + global void setNeeded(String needed) { } + global void setOk(Boolean ok) { } + global void setProvided(String provided) { } + global void setWarning(String warning) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Support/EmailTemplateSelector.cls b/.sfdx/tools/246/StandardApexLibrary/Support/EmailTemplateSelector.cls new file mode 100644 index 0000000..8e108df --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Support/EmailTemplateSelector.cls @@ -0,0 +1,4 @@ +global interface EmailTemplateSelector { + Id getDefaultEmailTemplateId(Id param0); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Support/EmailToCaseHandler.cls b/.sfdx/tools/246/StandardApexLibrary/Support/EmailToCaseHandler.cls new file mode 100644 index 0000000..e264a53 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Support/EmailToCaseHandler.cls @@ -0,0 +1,5 @@ +global class EmailToCaseHandler { + global EmailToCaseHandler() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Support/MilestoneTriggerTimeCalculator.cls b/.sfdx/tools/246/StandardApexLibrary/Support/MilestoneTriggerTimeCalculator.cls new file mode 100644 index 0000000..11c493e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Support/MilestoneTriggerTimeCalculator.cls @@ -0,0 +1,4 @@ +global interface MilestoneTriggerTimeCalculator { + Integer calculateMilestoneTriggerTime(String param0, String param1); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Support/WorkCapacityCalculation.cls b/.sfdx/tools/246/StandardApexLibrary/Support/WorkCapacityCalculation.cls new file mode 100644 index 0000000..c5c2593 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Support/WorkCapacityCalculation.cls @@ -0,0 +1,7 @@ +global class WorkCapacityCalculation { + global WorkCapacityCalculation() { } + global Support.WorkCapacityDuration calculateActualUsage(Support.WorkCapacityInfo inputWorkCapacity) { } + global Support.WorkCapacityDuration calculateEstimatedUsage(Support.WorkCapacityInfo inputWorkCapacity) { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Support/WorkCapacityDuration.cls b/.sfdx/tools/246/StandardApexLibrary/Support/WorkCapacityDuration.cls new file mode 100644 index 0000000..cc312c2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Support/WorkCapacityDuration.cls @@ -0,0 +1,8 @@ +global class WorkCapacityDuration { + global List dates; + global List durations; + global List serviceAppointmentIds; + global WorkCapacityDuration() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Support/WorkCapacityInfo.cls b/.sfdx/tools/246/StandardApexLibrary/Support/WorkCapacityInfo.cls new file mode 100644 index 0000000..4c0bc28 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Support/WorkCapacityInfo.cls @@ -0,0 +1,6 @@ +global class WorkCapacityInfo { + global List serviceAppointmentIds; + global WorkCapacityInfo(List serviceAppointmentIds) { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/AccessLevel.cls b/.sfdx/tools/246/StandardApexLibrary/System/AccessLevel.cls new file mode 100644 index 0000000..d594c57 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/AccessLevel.cls @@ -0,0 +1,6 @@ +global class AccessLevel { + global static System.AccessLevel SYSTEM_MODE; + global static System.AccessLevel USER_MODE; + global Object clone() { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/AccessType.cls b/.sfdx/tools/246/StandardApexLibrary/System/AccessType.cls new file mode 100644 index 0000000..cd47efe --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/AccessType.cls @@ -0,0 +1,6 @@ +global enum AccessType { +CREATABLE, +READABLE, +UPDATABLE, +UPSERTABLE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Address.cls b/.sfdx/tools/246/StandardApexLibrary/System/Address.cls new file mode 100644 index 0000000..df59161 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Address.cls @@ -0,0 +1,23 @@ +global class Address { + global String city; + global String country; + global String countrycode; + global String geocodeaccuracy; + global String postalcode; + global String state; + global String statecode; + global String street; + global Address() { } + global String getCity() { } + global String getCountry() { } + global String getCountryCode() { } + global Double getDistance(System.Location other, String unit) { } + global String getGeocodeAccuracy() { } + global Double getLatitude() { } + global Double getLongitude() { } + global String getPostalCode() { } + global String getState() { } + global String getStateCode() { } + global String getStreet() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Answers.cls b/.sfdx/tools/246/StandardApexLibrary/System/Answers.cls new file mode 100644 index 0000000..1ac105f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Answers.cls @@ -0,0 +1,7 @@ +global class Answers { + global Answers() { } + global Object clone() { } + global static List findSimilar(SObject question) { } + global static void setBestReply(String questionId, String bestReplyId) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/ApexPages.cls b/.sfdx/tools/246/StandardApexLibrary/System/ApexPages.cls new file mode 100644 index 0000000..0182027 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/ApexPages.cls @@ -0,0 +1,9 @@ +global class ApexPages { + global static void addMessage(ApexPages.Message message) { } + global static void addMessages(Object ex) { } + global static System.PageReference currentPage() { } + global static List getMessages() { } + global static Boolean hasMessages(ApexPages.Severity severity) { } + global static Boolean hasMessages() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/AppExchangeTrialTemplate.cls b/.sfdx/tools/246/StandardApexLibrary/System/AppExchangeTrialTemplate.cls new file mode 100644 index 0000000..fc42b5d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/AppExchangeTrialTemplate.cls @@ -0,0 +1,9 @@ +global class AppExchangeTrialTemplate { + global Object clone() { } + global Datetime getCreatedDate() { } + global String getId() { } + global Datetime getLastModifiedDate() { } + global String getName() { } + global String getStatus() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/AppExchangeUserPerms.cls b/.sfdx/tools/246/StandardApexLibrary/System/AppExchangeUserPerms.cls new file mode 100644 index 0000000..9a93ae6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/AppExchangeUserPerms.cls @@ -0,0 +1,6 @@ +global class AppExchangeUserPerms { + global Object clone() { } + global Boolean getCanEditBilling() { } + global Boolean getCanInstall() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Approval.cls b/.sfdx/tools/246/StandardApexLibrary/System/Approval.cls new file mode 100644 index 0000000..57af1e2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Approval.cls @@ -0,0 +1,23 @@ +global class Approval { + global static Boolean isLocked(Id id) { } + global static Map isLocked(List ids) { } + global static Map isLocked(List sobjects) { } + global static Boolean isLocked(SObject sobject) { } + global static Approval.LockResult lock(Id id, Boolean allOrNothing) { } + global static List lock(List ids, Boolean allOrNothing) { } + global static List lock(List sobjects, Boolean allOrNothing) { } + global static Approval.LockResult lock(SObject sobject, Boolean allOrNothing) { } + global static Approval.LockResult lock(Id id) { } + global static List lock(List ids) { } + global static List lock(List sobjects) { } + global static Approval.LockResult lock(SObject sobject) { } + global static Approval.UnlockResult unlock(Id id, Boolean allOrNothing) { } + global static List unlock(List ids, Boolean allOrNothing) { } + global static List unlock(List sobjects, Boolean allOrNothing) { } + global static Approval.UnlockResult unlock(SObject sobject, Boolean allOrNothing) { } + global static Approval.UnlockResult unlock(Id id) { } + global static List unlock(List ids) { } + global static List unlock(List sobjects) { } + global static Approval.UnlockResult unlock(SObject sobject) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Assert.cls b/.sfdx/tools/246/StandardApexLibrary/System/Assert.cls new file mode 100644 index 0000000..a710b46 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Assert.cls @@ -0,0 +1,23 @@ +global class Assert { + global Assert() { } + global static void areEqual(Object expected, Object actual, String msg) { } + global static void areEqual(Object expected, Object actual) { } + global static void areNotEqual(Object notExpected, Object actual, String msg) { } + global static void areNotEqual(Object notExpected, Object actual) { } + global Object clone() { } + global static void fail(String msg) { } + global static void fail() { } + global static void isFalse(Boolean condition, String msg) { } + global static void isFalse(Boolean condition) { } + global static void isInstanceOfType(Object instance, System.Type expectedType, String msg) { } + global static void isInstanceOfType(Object instance, System.Type expectedType) { } + global static void isNotInstanceOfType(Object instance, System.Type notExpectedType, String msg) { } + global static void isNotInstanceOfType(Object instance, System.Type notExpectedType) { } + global static void isNotNull(Object value, String msg) { } + global static void isNotNull(Object value) { } + global static void isNull(Object value, String msg) { } + global static void isNull(Object value) { } + global static void isTrue(Boolean condition, String msg) { } + global static void isTrue(Boolean condition) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/AssertException.cls b/.sfdx/tools/246/StandardApexLibrary/System/AssertException.cls new file mode 100644 index 0000000..0592e01 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/AssertException.cls @@ -0,0 +1,15 @@ +global class AssertException extends Exception { + global AssertException(String param0, Exception param1) { } + global AssertException(Exception param0) { } + global AssertException(String param0) { } + global AssertException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/AsyncException.cls b/.sfdx/tools/246/StandardApexLibrary/System/AsyncException.cls new file mode 100644 index 0000000..fa0bd0d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/AsyncException.cls @@ -0,0 +1,15 @@ +global class AsyncException extends Exception { + global AsyncException(String param0, Exception param1) { } + global AsyncException(Exception param0) { } + global AsyncException(String param0) { } + global AsyncException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/AsyncInfo.cls b/.sfdx/tools/246/StandardApexLibrary/System/AsyncInfo.cls new file mode 100644 index 0000000..b05824e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/AsyncInfo.cls @@ -0,0 +1,9 @@ +global class AsyncInfo { + global AsyncInfo() { } + global Object clone() { } + global static Integer getCurrentQueueableStackDepth() { } + global static Integer getMaximumQueueableStackDepth() { } + global static Integer getMinimumQueueableDelayInMinutes() { } + global static Boolean hasMaxStackDepth() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/AsyncOptions.cls b/.sfdx/tools/246/StandardApexLibrary/System/AsyncOptions.cls new file mode 100644 index 0000000..d58f0de --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/AsyncOptions.cls @@ -0,0 +1,7 @@ +global class AsyncOptions { + global Integer MaximumQueueableStackDepth; + global Integer MinimumQueueableDelayInMinutes; + global AsyncOptions() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Aura.cls b/.sfdx/tools/246/StandardApexLibrary/System/Aura.cls new file mode 100644 index 0000000..64dfcb1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Aura.cls @@ -0,0 +1,4 @@ +global class Aura { + global static void redirect(Object pageReference) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/BcpProvisionService.cls b/.sfdx/tools/246/StandardApexLibrary/System/BcpProvisionService.cls new file mode 100644 index 0000000..af244b8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/BcpProvisionService.cls @@ -0,0 +1,6 @@ +global class BcpProvisionService { + global BcpProvisionService() { } + global Object clone() { } + global static void enableC2C() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/BigObjectException.cls b/.sfdx/tools/246/StandardApexLibrary/System/BigObjectException.cls new file mode 100644 index 0000000..6764d1b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/BigObjectException.cls @@ -0,0 +1,15 @@ +global class BigObjectException extends Exception { + global BigObjectException(String param0, Exception param1) { } + global BigObjectException(Exception param0) { } + global BigObjectException(String param0) { } + global BigObjectException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/BusinessHours.cls b/.sfdx/tools/246/StandardApexLibrary/System/BusinessHours.cls new file mode 100644 index 0000000..816144a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/BusinessHours.cls @@ -0,0 +1,10 @@ +global class BusinessHours { + global BusinessHours() { } + global static Datetime add(Id businessHoursId, Datetime startDate, Long interval) { } + global static Datetime addGmt(Id businessHoursId, Datetime startDate, Long interval) { } + global Object clone() { } + global static Long diff(String businessHoursId, Datetime startDate, Datetime endDate) { } + global static Boolean isWithin(String businessHoursId, Datetime targetDate) { } + global static Datetime nextStartDate(Id businessHoursId, Datetime targetDate) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Busop.cls b/.sfdx/tools/246/StandardApexLibrary/System/Busop.cls new file mode 100644 index 0000000..d4e33da --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Busop.cls @@ -0,0 +1,12 @@ +global class Busop { + global static void asyncUpdatePartnerPackageBooleanParam(String targetUserName, String paramName, Boolean value) { } + global static void asyncUpdatePartnerPackageDateParam(String targetUserName, String paramName, Date value) { } + global static void asyncUpdatePartnerPackageIntegerParam(String targetUserName, String paramName, Decimal value) { } + global static String getOrgInfo(String orgId) { } + global static String getPackageVersionString(String allPackageVersionId) { } + global static Boolean isSandbox(String orgId) { } + global static void refreshPackageLicenses(String lmoOrgId, String allPackageId) { } + global static void savePackage(String packageId, String fieldName) { } + global static void updatePartnerLicense(String targetUserName, String newStatus, Integer newNumberOfUsers, Date newExpirationDate, Date provisioningDate) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Callable.cls b/.sfdx/tools/246/StandardApexLibrary/System/Callable.cls new file mode 100644 index 0000000..4307aa9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Callable.cls @@ -0,0 +1,4 @@ +global interface Callable { + Object call(String param0, Map param1); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/CalloutException.cls b/.sfdx/tools/246/StandardApexLibrary/System/CalloutException.cls new file mode 100644 index 0000000..f4c9a9c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/CalloutException.cls @@ -0,0 +1,15 @@ +global class CalloutException extends Exception { + global CalloutException(String param0, Exception param1) { } + global CalloutException(Exception param0) { } + global CalloutException(String param0) { } + global CalloutException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/CanvasException.cls b/.sfdx/tools/246/StandardApexLibrary/System/CanvasException.cls new file mode 100644 index 0000000..696a319 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/CanvasException.cls @@ -0,0 +1,15 @@ +global class CanvasException extends Exception { + global CanvasException(String param0, Exception param1) { } + global CanvasException(Exception param0) { } + global CanvasException(String param0) { } + global CanvasException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Cases.cls b/.sfdx/tools/246/StandardApexLibrary/System/Cases.cls new file mode 100644 index 0000000..fd9f8fe --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Cases.cls @@ -0,0 +1,8 @@ +global class Cases { + global Cases() { } + global Object clone() { } + global static String generateThreadingMessageId(Id caseId) { } + global static Id getCaseIdFromEmailHeaders(List headers) { } + global static Id getCaseIdFromEmailThreadId(String emailThreadId) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Communities.cls b/.sfdx/tools/246/StandardApexLibrary/System/Communities.cls new file mode 100644 index 0000000..1511232 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Communities.cls @@ -0,0 +1,11 @@ +global class Communities { + global Communities() { } + global Object clone() { } + global static System.PageReference communitiesLanding(String startUrl) { } + global static System.PageReference communitiesLanding() { } + global static System.PageReference forwardToAuthPage(String startUrl) { } + global static String getCSS() { } + global static System.PageReference internalLogin(String startUrl) { } + global static System.PageReference login(String username, String password, String startUrl) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Comparable.cls b/.sfdx/tools/246/StandardApexLibrary/System/Comparable.cls new file mode 100644 index 0000000..3a78df4 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Comparable.cls @@ -0,0 +1,4 @@ +global interface Comparable { + Integer compareTo(Object param0); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Continuation.cls b/.sfdx/tools/246/StandardApexLibrary/System/Continuation.cls new file mode 100644 index 0000000..aaf6494 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Continuation.cls @@ -0,0 +1,12 @@ +global class Continuation { + global String ContinuationMethod; + global Integer Timeout; + global Object state; + global Continuation(Integer timeoutInSecs) { } + global String addHttpRequest(System.HttpRequest request) { } + global Object clone() { } + global Map getRequests() { } + global static System.HttpResponse getResponse(String label) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Cookie.cls b/.sfdx/tools/246/StandardApexLibrary/System/Cookie.cls new file mode 100644 index 0000000..8078317 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Cookie.cls @@ -0,0 +1,12 @@ +global class Cookie { + global Cookie(String name, String value, String path, Integer maxAge, Boolean isSecure, String sameSite) { } + global Cookie(String name, String value, String path, Integer maxAge, Boolean isSecure) { } + global String getDomain() { } + global Integer getMaxAge() { } + global String getName() { } + global String getPath() { } + global String getSameSite() { } + global String getValue() { } + global Boolean isSecure() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Crypto.cls b/.sfdx/tools/246/StandardApexLibrary/System/Crypto.cls new file mode 100644 index 0000000..1c4fb9b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Crypto.cls @@ -0,0 +1,21 @@ +global class Crypto { + global Crypto() { } + global Object clone() { } + global static Blob decrypt(String algorithmName, Blob secretKey, Blob initializationVector, Blob encryptedData) { } + global static Blob decryptWithManagedIV(String algorithmName, Blob secretKey, Blob encryptedData) { } + global static Blob encrypt(String algorithmName, Blob secretKey, Blob initializationVector, Blob clearData) { } + global static Blob encryptWithManagedIV(String algorithmName, Blob secretKey, Blob clearData) { } + global static Blob generateAesKey(Integer size) { } + global static Blob generateDigest(String algorithmName, Blob input) { } + global static Blob generateMac(String algorithmName, Blob input, Blob privateKey) { } + global static Integer getRandomInteger() { } + global static Long getRandomLong() { } + global static Blob sign(String algorithmName, Blob input, Blob privateKey) { } + global static Blob signWithCertificate(String algorithmName, Blob input, String certDevName) { } + global static void signXml(String algorithmName, dom.XmlNode node, String idAttributeName, String certDevName, dom.XmlNode refChild) { } + global static void signXml(String algorithmName, dom.XmlNode node, String idAttributeName, String certDevName) { } + global static Boolean verify(String algorithmName, Blob data, Blob signature, Blob publicKey) { } + global static Boolean verify(String algorithmName, Blob data, Blob signature, String certDevName) { } + global static Boolean verifyHmac(String algorithmName, Blob data, Blob privateKey, Blob hmacToVerify) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/DataWeaveScriptException.cls b/.sfdx/tools/246/StandardApexLibrary/System/DataWeaveScriptException.cls new file mode 100644 index 0000000..08efdae --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/DataWeaveScriptException.cls @@ -0,0 +1,15 @@ +global class DataWeaveScriptException extends Exception { + global DataWeaveScriptException(String param0, Exception param1) { } + global DataWeaveScriptException(Exception param0) { } + global DataWeaveScriptException(String param0) { } + global DataWeaveScriptException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Database.cls b/.sfdx/tools/246/StandardApexLibrary/System/Database.cls new file mode 100644 index 0000000..6c8958f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Database.cls @@ -0,0 +1,154 @@ +global class Database { + global static Database.LeadConvertResult convertLead(Database.LeadConvert leadConvert, Database.DMLOptions DmlOptions, Object accessLevel) { } + global static Database.LeadConvertResult convertLead(Database.LeadConvert leadConvert, Boolean allOrNothing, Object accessLevel) { } + global static List convertLead(List leadConverts, Database.DMLOptions DmlOptions, Object accessLevel) { } + global static List convertLead(List leadConverts, Boolean allOrNothing, Object accessLevel) { } + global static Database.LeadConvertResult convertLead(Database.LeadConvert leadConvert, Database.DMLOptions DmlOptions || AccessLevel) { } + global static Database.LeadConvertResult convertLead(Database.LeadConvert leadConvert, Boolean allOrNothing) { } + global static List convertLead(List leadConverts, Database.DMLOptions DmlOptions || AccessLevel) { } + global static List convertLead(List leadConverts, Boolean allOrNothing) { } + global static Database.LeadConvertResult convertLead(Database.LeadConvert leadConvert) { } + global static List convertLead(List leadConverts) { } + global static Integer countQuery(String query, Object accessLevel) { } + global static Integer countQuery(String query) { } + global static List countQueryWithBinds(String query, Map bindMap, Object accessLevel) { } + global static Database.DeleteResult delete(Id id, Boolean allOrNothing, Object accessLevel) { } + global static List delete(List ids, Boolean allOrNothing, Object accessLevel) { } + global static List delete(List sobjects, Boolean allOrNothing, Object accessLevel) { } + global static Database.DeleteResult delete(SObject sobject, Boolean allOrNothing, Object accessLevel) { } + global static Database.DeleteResult delete(Id id, Object accessLevel) { } + global static Database.DeleteResult delete(Id id, Boolean allOrNothing) { } + global static List delete(List ids, Object accessLevel) { } + global static List delete(List ids, Boolean allOrNothing) { } + global static List delete(List sobjects, Object accessLevel) { } + global static List delete(List sobjects, Boolean allOrNothing) { } + global static Database.DeleteResult delete(SObject sobject, Object accessLevel) { } + global static Database.DeleteResult delete(SObject sobject, Boolean allOrNothing) { } + global static Database.DeleteResult delete(Id id) { } + global static List delete(List ids) { } + global static List delete(List sobjects) { } + global static Database.DeleteResult delete(SObject sobject) { } + global static List deleteAsync(List sobjects, Object callback, Object accessLevel) { } + global static Database.DeleteResult deleteAsync(SObject sobject, Object callback, Object accessLevel) { } + global static List deleteAsync(List sobjects, Object callback || accessLevel) { } + global static Database.DeleteResult deleteAsync(SObject sobject, Object callback || accessLevel) { } + global static List deleteAsync(List sobjects) { } + global static Database.DeleteResult deleteAsync(SObject sobject) { } + global static List deleteImmediate(List sobjects, Object accessLevel) { } + global static Database.DeleteResult deleteImmediate(SObject sobject, Object accessLevel) { } + global static List deleteImmediate(List sobjects) { } + global static Database.DeleteResult deleteImmediate(SObject sobject) { } + global static List emptyRecycleBin(List ids) { } + global static List emptyRecycleBin(List sobjects) { } + global static Database.EmptyRecycleBinResult emptyRecycleBin(SObject sobject) { } + global static String executeBatch(Object batchable, Integer batchSize) { } + global static String executeBatch(Object batchable) { } + global static Database.DeleteResult getAsyncDeleteResult(Object deleteResult) { } + global static Database.DeleteResult getAsyncDeleteResult(String asyncLocator) { } + global static String getAsyncLocator(Object result) { } + global static Database.SaveResult getAsyncSaveResult(Object saveResult) { } + global static Database.SaveResult getAsyncSaveResult(String asyncLocator) { } + global static Database.GetDeletedResult getDeleted(String sobjectType, Datetime startDate, Datetime endDate) { } + global static Database.QueryLocator getQueryLocator(List queries, Object accessLevel) { } + global static Database.QueryLocator getQueryLocator(String query, Object accessLevel) { } + global static Database.QueryLocator getQueryLocator(List query) { } + global static Database.QueryLocator getQueryLocator(String query) { } + global static Database.QueryLocator getQueryLocatorWithBinds(String query, Map bindMap, Object accessLevel) { } + global static Database.GetUpdatedResult getUpdated(String sobjectType, Datetime startDate, Datetime endDate) { } + global static List insert(List sobjects, Database.DMLOptions DmlOptions, Object accessLevel) { } + global static List insert(List sobjects, Boolean allOrNothing, Object accessLevel) { } + global static Database.SaveResult insert(SObject sobject, Database.DMLOptions DmlOptions, Object accessLevel) { } + global static Database.SaveResult insert(SObject sobject, Boolean allOrNothing, Object accessLevel) { } + global static List insert(List sobjects, Database.DMLOptions DmlOptions) { } + global static List insert(List sobjects, Boolean allOrNothing) { } + global static Database.SaveResult insert(SObject sobject, Database.DMLOptions DmlOptions || AccessLevel) { } + global static Database.SaveResult insert(SObject sobject, Boolean allOrNothing) { } + global static List insert(List sobjects) { } + global static Database.SaveResult insert(SObject sobject) { } + global static List insertAsync(List sobjects, Object callback, Object accessLevel) { } + global static Database.SaveResult insertAsync(SObject sobject, Object callback, Object accessLevel) { } + global static List insertAsync(List sobjects, Object callback || accessLevel) { } + global static Database.SaveResult insertAsync(SObject sobject, Object callback || accessLevel) { } + global static List insertAsync(List sobjects) { } + global static Database.SaveResult insertAsync(SObject sobject) { } + global static List insertImmediate(List sobjects, Object accessLevel) { } + global static Database.SaveResult insertImmediate(SObject sobject, Object accessLevel) { } + global static List insertImmediate(List sobjects) { } + global static Database.SaveResult insertImmediate(SObject sobject) { } + global static Database.MergeResult merge(SObject primary, Id duplicate, Boolean allOrNothing, Object accessLevel) { } + global static List merge(SObject primary, List duplicates, Boolean allOrNothing, Object accessLevel) { } + global static List merge(SObject primary, List duplicates, Boolean allOrNothing, Object accessLevel) { } + global static Database.MergeResult merge(SObject primary, SObject duplicate, Boolean allOrNothing, Object accessLevel) { } + global static Database.MergeResult merge(SObject primary, Id duplicate, Object accessLevel) { } + global static Database.MergeResult merge(SObject primary, Id duplicate, Boolean allOrNothing) { } + global static List merge(SObject primary, List duplicates, Object accessLevel) { } + global static List merge(SObject primary, List duplicates, Boolean allOrNothing) { } + global static List merge(SObject primary, List duplicates, Object accessLevel) { } + global static List merge(SObject primary, List duplicates, Boolean allOrNothing) { } + global static Database.MergeResult merge(SObject primary, SObject duplicate, Object accessLevel) { } + global static Database.MergeResult merge(SObject primary, SObject duplicate, Boolean allOrNothing) { } + global static Database.MergeResult merge(SObject primary, Id duplicate) { } + global static List merge(SObject primary, List duplicates) { } + global static List merge(SObject primary, List duplicates) { } + global static Database.MergeResult merge(SObject primary, SObject duplicate) { } + global static List query(String query, Object accessLevel) { } + global static List query(String query) { } + global static List queryWithBinds(String query, Map bindMap, Object accessLevel) { } + global static void rollback(System.Savepoint savepoint) { } + global static System.Savepoint setSavepoint() { } + global static List treeSave(List sobjects) { } + global static Database.NestedSaveResult treeSave(SObject sobject) { } + global static Database.UndeleteResult undelete(Id id, Boolean allOrNothing, Object accessLevel) { } + global static List undelete(List ids, Boolean allOrNothing, Object accessLevel) { } + global static List undelete(List sobjects, Boolean allOrNothing, Object accessLevel) { } + global static Database.UndeleteResult undelete(SObject sobject, Boolean allOrNothing, Object accessLevel) { } + global static Database.UndeleteResult undelete(Id id, Object accessLevel) { } + global static Database.UndeleteResult undelete(Id id, Boolean allOrNothing) { } + global static List undelete(List ids, Object accessLevel) { } + global static List undelete(List ids, Boolean allOrNothing) { } + global static List undelete(List sobjects, Object accessLevel) { } + global static List undelete(List sobjects, Boolean allOrNothing) { } + global static Database.UndeleteResult undelete(SObject sobject, Object accessLevel) { } + global static Database.UndeleteResult undelete(SObject sobject, Boolean allOrNothing) { } + global static Database.UndeleteResult undelete(Id id) { } + global static List undelete(List ids) { } + global static List undelete(List sobjects) { } + global static Database.UndeleteResult undelete(SObject sobject) { } + global static List update(List sobjects, Database.DMLOptions DmlOptions, Object accessLevel) { } + global static List update(List sobjects, Boolean allOrNothing, Object accessLevel) { } + global static Database.SaveResult update(SObject sobject, Database.DMLOptions DmlOptions, Object accessLevel) { } + global static Database.SaveResult update(SObject sobject, Boolean allOrNothing, Object accessLevel) { } + global static List update(List sobjects, Database.DMLOptions DmlOptions || accessLevel) { } + global static List update(List sobjects, Boolean allOrNothing) { } + global static Database.SaveResult update(SObject sobject, Database.DMLOptions DmlOptions || accessLevel) { } + global static Database.SaveResult update(SObject sobject, Boolean allOrNothing) { } + global static List update(List sobjects) { } + global static Database.SaveResult update(SObject sobject) { } + global static List updateAsync(List sobjects, Object callback, Object accessLevel) { } + global static Database.SaveResult updateAsync(SObject sobject, Object callback, Object accessLevel) { } + global static List updateAsync(List sobjects, Object callback || accessLevel) { } + global static Database.SaveResult updateAsync(SObject sobject, Object callback || accessLevel) { } + global static List updateAsync(List sobjects) { } + global static Database.SaveResult updateAsync(SObject sobject) { } + global static List updateImmediate(List sobjects, Object accessLevel) { } + global static Database.SaveResult updateImmediate(SObject sobject, Object accessLevel) { } + global static List updateImmediate(List sobjects) { } + global static Database.SaveResult updateImmediate(SObject sobject) { } + global static List upsert(List sobjects, Schema.SObjectField field, Boolean allOrNothing, Object accessLevel) { } + global static Database.UpsertResult upsert(SObject sobject, Schema.SObjectField field, Boolean allOrNothing, Object accessLevel) { } + global static List upsert(List sobjects, Boolean allOrNothing, Object accessLevel) { } + global static List upsert(List sobjects, Schema.SObjectField field , Object accessLevel) { } + global static List upsert(List sobjects, Schema.SObjectField field, Boolean allOrNothing) { } + global static Database.UpsertResult upsert(SObject sobject, Boolean allOrNothing, Object accessLevel) { } + global static Database.UpsertResult upsert(SObject sobject, Schema.SObjectField field, Object accessLevel) { } + global static Database.UpsertResult upsert(SObject sobject, Schema.SObjectField field, Boolean allOrNothing) { } + global static List upsert(List sobjects, Object accessLevel) { } + global static List upsert(List sobjects, Boolean allOrNothing) { } + global static List upsert(List sobjects, Schema.SObjectField field) { } + global static Database.UpsertResult upsert(SObject sobject, Object accessLevel) { } + global static Database.UpsertResult upsert(SObject sobject, Boolean allOrNothing) { } + global static Database.UpsertResult upsert(SObject sobject, Schema.SObjectField field) { } + global static List upsert(List sobjects) { } + global static Database.UpsertResult upsert(SObject sobject) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Date.cls b/.sfdx/tools/246/StandardApexLibrary/System/Date.cls new file mode 100644 index 0000000..053289f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Date.cls @@ -0,0 +1,10 @@ +global class Date { + global static Integer daysInMonth(Integer year, Integer month) { } + global static Boolean isLeapYear(Integer year) { } + global static Date newInstance(Integer year, Integer month, Integer day) { } + global static Date parse(String str) { } + global static Date today() { } + global static Date valueOf(Object o) { } + global static Date valueOf(String str) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/DistributedLedgerService.cls b/.sfdx/tools/246/StandardApexLibrary/System/DistributedLedgerService.cls new file mode 100644 index 0000000..4c5f714 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/DistributedLedgerService.cls @@ -0,0 +1,6 @@ +global class DistributedLedgerService { + global DistributedLedgerService() { } + global Object clone() { } + global static void enableC2C() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/DmlException.cls b/.sfdx/tools/246/StandardApexLibrary/System/DmlException.cls new file mode 100644 index 0000000..4da0b19 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/DmlException.cls @@ -0,0 +1,23 @@ +global class DmlException extends Exception { + global DmlException(String param0, Exception param1) { } + global DmlException(Exception param0) { } + global DmlException(String param0) { } + global DmlException() { } + global Exception getCause() { } + global List getDmlFieldNames(Integer index) { } + global List getDmlFields(Integer index) { } + global String getDmlId(Integer index) { } + global Integer getDmlIndex(Integer index) { } + global String getDmlMessage(Integer index) { } + global String getDmlStatusCode(Integer index) { } + global System.StatusCode getDmlType(Integer index) { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global Integer getNumDml() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Domain.cls b/.sfdx/tools/246/StandardApexLibrary/System/Domain.cls new file mode 100644 index 0000000..c725c9e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Domain.cls @@ -0,0 +1,9 @@ +global class Domain { + global Object clone() { } + global System.DomainType getDomainType() { } + global String getMyDomainName() { } + global String getPackageName() { } + global String getSandboxName() { } + global String getSitesSubdomainName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/DomainCreator.cls b/.sfdx/tools/246/StandardApexLibrary/System/DomainCreator.cls new file mode 100644 index 0000000..90333a5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/DomainCreator.cls @@ -0,0 +1,15 @@ +global class DomainCreator { + global DomainCreator() { } + global Object clone() { } + global static String getContentHostname() { } + global static String getExperienceCloudSitesBuilderHostname() { } + global static String getExperienceCloudSitesHostname() { } + global static String getExperienceCloudSitesLivePreviewHostname() { } + global static String getExperienceCloudSitesPreviewHostname() { } + global static String getLightningContainerComponentHostname(String packageName) { } + global static String getLightningHostname() { } + global static String getOrgMyDomainHostname() { } + global static String getSalesforceSitesHostname() { } + global static String getVisualforceHostname(String packageName) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/DomainParser.cls b/.sfdx/tools/246/StandardApexLibrary/System/DomainParser.cls new file mode 100644 index 0000000..b38dcb5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/DomainParser.cls @@ -0,0 +1,7 @@ +global class DomainParser { + global DomainParser() { } + global Object clone() { } + global static System.Domain parse(String hostname) { } + global static System.Domain parse(System.Url url) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/DomainType.cls b/.sfdx/tools/246/StandardApexLibrary/System/DomainType.cls new file mode 100644 index 0000000..2d7e940 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/DomainType.cls @@ -0,0 +1,15 @@ +global enum DomainType { +CMS_DOMAIN, +CONTENT_DOMAIN, +CUSTOMER_360_ADMIN_DOMAIN, +CUSTOMER_360_DOMAIN, +EXPERIENCE_CLOUD_SITES_BUILDER_DOMAIN, +EXPERIENCE_CLOUD_SITES_DOMAIN, +EXPERIENCE_CLOUD_SITES_LIVE_PREVIEW_DOMAIN, +EXPERIENCE_CLOUD_SITES_PREVIEW_DOMAIN, +LIGHTNING_CONTAINER_COMPONENT_DOMAIN, +LIGHTNING_DOMAIN, +ORG_MY_DOMAIN, +SALESFORCE_SITES_DOMAIN, +VISUALFORCE_DOMAIN +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Dynamic.cls b/.sfdx/tools/246/StandardApexLibrary/System/Dynamic.cls new file mode 100644 index 0000000..6d17ca0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Dynamic.cls @@ -0,0 +1,9 @@ +global class Dynamic { + global Dynamic() { } + global Object clone() { } + global static dynamic.Inst env(String language) { } + global static dynamic.Inst env() { } + global static Object eval(String language, String eval) { } + global static Object eval(String eval) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/EmailException.cls b/.sfdx/tools/246/StandardApexLibrary/System/EmailException.cls new file mode 100644 index 0000000..4086f3b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/EmailException.cls @@ -0,0 +1,23 @@ +global class EmailException extends Exception { + global EmailException(String param0, Exception param1) { } + global EmailException(Exception param0) { } + global EmailException(String param0) { } + global EmailException() { } + global Exception getCause() { } + global List getDmlFieldNames(Integer index) { } + global List getDmlFields(Integer index) { } + global String getDmlId(Integer index) { } + global Integer getDmlIndex(Integer index) { } + global String getDmlMessage(Integer index) { } + global String getDmlStatusCode(Integer index) { } + global System.StatusCode getDmlType(Integer index) { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global Integer getNumDml() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/EmailMessages.cls b/.sfdx/tools/246/StandardApexLibrary/System/EmailMessages.cls new file mode 100644 index 0000000..a3ebee6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/EmailMessages.cls @@ -0,0 +1,7 @@ +global class EmailMessages { + global EmailMessages() { } + global Object clone() { } + global static String getFormattedThreadingToken(Id recordId) { } + global static Id getRecordIdFromEmail(String subject, String textBody, String htmlBody) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/EmailTemplateRenderException.cls b/.sfdx/tools/246/StandardApexLibrary/System/EmailTemplateRenderException.cls new file mode 100644 index 0000000..6528bcd --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/EmailTemplateRenderException.cls @@ -0,0 +1,15 @@ +global class EmailTemplateRenderException extends Exception { + global EmailTemplateRenderException(String param0, Exception param1) { } + global EmailTemplateRenderException(Exception param0) { } + global EmailTemplateRenderException(String param0) { } + global EmailTemplateRenderException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/EncodingUtil.cls b/.sfdx/tools/246/StandardApexLibrary/System/EncodingUtil.cls new file mode 100644 index 0000000..6b46f5c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/EncodingUtil.cls @@ -0,0 +1,11 @@ +global class EncodingUtil { + global EncodingUtil() { } + global static Blob base64Decode(String s) { } + global static String base64Encode(Blob s) { } + global Object clone() { } + global static Blob convertFromHex(String input) { } + global static String convertToHex(Blob s) { } + global static String urlDecode(String s, String enc) { } + global static String urlEncode(String s, String enc) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/EventBus.cls b/.sfdx/tools/246/StandardApexLibrary/System/EventBus.cls new file mode 100644 index 0000000..3467b43 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/EventBus.cls @@ -0,0 +1,8 @@ +global class EventBus { + global static String getOperationId(Object result) { } + global static List publish(List sobjects, Object callback) { } + global static Database.SaveResult publish(SObject sobject, Object callback) { } + global static List publish(List sobjects) { } + global static Database.SaveResult publish(SObject sobject) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/EventObjectException.cls b/.sfdx/tools/246/StandardApexLibrary/System/EventObjectException.cls new file mode 100644 index 0000000..ac515a5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/EventObjectException.cls @@ -0,0 +1,15 @@ +global class EventObjectException extends Exception { + global EventObjectException(String param0, Exception param1) { } + global EventObjectException(Exception param0) { } + global EventObjectException(String param0) { } + global EventObjectException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/ExternalObjectException.cls b/.sfdx/tools/246/StandardApexLibrary/System/ExternalObjectException.cls new file mode 100644 index 0000000..72ed3c7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/ExternalObjectException.cls @@ -0,0 +1,15 @@ +global class ExternalObjectException extends Exception { + global ExternalObjectException(String param0, Exception param1) { } + global ExternalObjectException(Exception param0) { } + global ExternalObjectException(String param0) { } + global ExternalObjectException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/FeatureManagement.cls b/.sfdx/tools/246/StandardApexLibrary/System/FeatureManagement.cls new file mode 100644 index 0000000..9ecac77 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/FeatureManagement.cls @@ -0,0 +1,13 @@ +global class FeatureManagement { + global FeatureManagement() { } + global static void changeProtection(String apiName, String typeApiName, String protection) { } + global static Boolean checkPackageBooleanValue(String apiName) { } + global static Date checkPackageDateValue(String apiName) { } + global static Integer checkPackageIntegerValue(String apiName) { } + global static Boolean checkPermission(String apiName) { } + global Object clone() { } + global static void setPackageBooleanValue(String apiName, Boolean value) { } + global static void setPackageDateValue(String apiName, Date value) { } + global static void setPackageIntegerValue(String apiName, Integer value) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/FinalException.cls b/.sfdx/tools/246/StandardApexLibrary/System/FinalException.cls new file mode 100644 index 0000000..04e4813 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/FinalException.cls @@ -0,0 +1,15 @@ +global class FinalException extends Exception { + global FinalException(String param0, Exception param1) { } + global FinalException(Exception param0) { } + global FinalException(String param0) { } + global FinalException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Finalizer.cls b/.sfdx/tools/246/StandardApexLibrary/System/Finalizer.cls new file mode 100644 index 0000000..7809665 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Finalizer.cls @@ -0,0 +1,4 @@ +global interface Finalizer { + void execute(System.FinalizerContext param0); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/FinalizerContext.cls b/.sfdx/tools/246/StandardApexLibrary/System/FinalizerContext.cls new file mode 100644 index 0000000..0413f81 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/FinalizerContext.cls @@ -0,0 +1,7 @@ +global interface FinalizerContext { + Id getAsyncApexJobId(); + Exception getException(); + String getRequestId(); + System.ParentJobResult getResult(); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/FinalizerContextImpl.cls b/.sfdx/tools/246/StandardApexLibrary/System/FinalizerContextImpl.cls new file mode 100644 index 0000000..8f5130a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/FinalizerContextImpl.cls @@ -0,0 +1,8 @@ +global class FinalizerContextImpl { + global Object clone() { } + global Id getAsyncApexJobId() { } + global Exception getException() { } + global String getRequestId() { } + global System.ParentJobResult getResult() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/FlexQueue.cls b/.sfdx/tools/246/StandardApexLibrary/System/FlexQueue.cls new file mode 100644 index 0000000..2ad43ab --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/FlexQueue.cls @@ -0,0 +1,7 @@ +global class FlexQueue { + global static Boolean moveAfterJob(Id jobToMoveId, Id jobInQueueId) { } + global static Boolean moveBeforeJob(Id jobToMoveId, Id jobInQueueId) { } + global static Boolean moveJobToEnd(Id jobId) { } + global static Boolean moveJobToFront(Id jobId) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/FlowException.cls b/.sfdx/tools/246/StandardApexLibrary/System/FlowException.cls new file mode 100644 index 0000000..a6dc819 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/FlowException.cls @@ -0,0 +1,15 @@ +global class FlowException extends Exception { + global FlowException(String param0, Exception param1) { } + global FlowException(Exception param0) { } + global FlowException(String param0) { } + global FlowException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Formula.cls b/.sfdx/tools/246/StandardApexLibrary/System/Formula.cls new file mode 100644 index 0000000..95aa388 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Formula.cls @@ -0,0 +1,6 @@ +global class Formula { + global Formula() { } + global Object clone() { } + global static List recalculateFormulas(List sobjects) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/FormulaRecalcFieldError.cls b/.sfdx/tools/246/StandardApexLibrary/System/FormulaRecalcFieldError.cls new file mode 100644 index 0000000..f0cdb8b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/FormulaRecalcFieldError.cls @@ -0,0 +1,6 @@ +global class FormulaRecalcFieldError { + global Object clone() { } + global String getFieldError() { } + global String getFieldName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/FormulaRecalcResult.cls b/.sfdx/tools/246/StandardApexLibrary/System/FormulaRecalcResult.cls new file mode 100644 index 0000000..bbdecca --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/FormulaRecalcResult.cls @@ -0,0 +1,7 @@ +global class FormulaRecalcResult { + global Object clone() { } + global List getErrors() { } + global SObject getSObject() { } + global Boolean isSuccess() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/HandledException.cls b/.sfdx/tools/246/StandardApexLibrary/System/HandledException.cls new file mode 100644 index 0000000..83e15f1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/HandledException.cls @@ -0,0 +1,15 @@ +global class HandledException extends Exception { + global HandledException(String param0, Exception param1) { } + global HandledException(Exception param0) { } + global HandledException(String param0) { } + global HandledException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Http.cls b/.sfdx/tools/246/StandardApexLibrary/System/Http.cls new file mode 100644 index 0000000..054205c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Http.cls @@ -0,0 +1,6 @@ +global class Http { + global Http() { } + global System.HttpResponse send(Object request) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/HttpCalloutMock.cls b/.sfdx/tools/246/StandardApexLibrary/System/HttpCalloutMock.cls new file mode 100644 index 0000000..8e9c435 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/HttpCalloutMock.cls @@ -0,0 +1,4 @@ +global interface HttpCalloutMock { + System.HttpResponse respond(System.HttpRequest param0); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/HttpRequest.cls b/.sfdx/tools/246/StandardApexLibrary/System/HttpRequest.cls new file mode 100644 index 0000000..3548738 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/HttpRequest.cls @@ -0,0 +1,22 @@ +global class HttpRequest { + global HttpRequest() { } + global String getBody() { } + global Blob getBodyAsBlob() { } + global dom.Document getBodyDocument() { } + global Boolean getCompressed() { } + global String getEndpoint() { } + global String getHeader(String key) { } + global String getMethod() { } + global void setBody(String body) { } + global void setBodyAsBlob(Blob body) { } + global void setBodyDocument(Object body) { } + global void setClientCertificate(String clientCert, String password) { } + global void setClientCertificateName(String certDevName) { } + global void setCompressed(Boolean compressed) { } + global void setEndpoint(String endpoint) { } + global void setHeader(String key, String value) { } + global void setMethod(String method) { } + global void setTimeout(Integer timeout) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/HttpResponse.cls b/.sfdx/tools/246/StandardApexLibrary/System/HttpResponse.cls new file mode 100644 index 0000000..a58fb77 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/HttpResponse.cls @@ -0,0 +1,18 @@ +global class HttpResponse { + global HttpResponse() { } + global String getBody() { } + global Blob getBodyAsBlob() { } + global dom.Document getBodyDocument() { } + global String getHeader(String key) { } + global List getHeaderKeys() { } + global String getStatus() { } + global Integer getStatusCode() { } + global System.XmlStreamReader getXmlStreamReader() { } + global void setBody(String body) { } + global void setBodyAsBlob(Blob body) { } + global void setHeader(String key, String value) { } + global void setStatus(String status) { } + global void setStatusCode(Integer statusCode) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Ideas.cls b/.sfdx/tools/246/StandardApexLibrary/System/Ideas.cls new file mode 100644 index 0000000..e9ee3ae --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Ideas.cls @@ -0,0 +1,10 @@ +global class Ideas { + global Ideas() { } + global Object clone() { } + global static List findSimilar(SObject idea) { } + global static List getAllRecentReplies(String userId, String communityId) { } + global static List getReadRecentReplies(String userId, String communityId) { } + global static List getUnreadRecentReplies(String userId, String communityId) { } + global static void markRead(String ideaId) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/IllegalArgumentException.cls b/.sfdx/tools/246/StandardApexLibrary/System/IllegalArgumentException.cls new file mode 100644 index 0000000..c659e95 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/IllegalArgumentException.cls @@ -0,0 +1,9 @@ +global class IllegalArgumentException extends Exception { + global IllegalArgumentException(String param0, Exception param1) { } + global IllegalArgumentException(Exception param0) { } + global IllegalArgumentException(String param0) { } + global IllegalArgumentException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/InvalidHeaderException.cls b/.sfdx/tools/246/StandardApexLibrary/System/InvalidHeaderException.cls new file mode 100644 index 0000000..9df7f6d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/InvalidHeaderException.cls @@ -0,0 +1,9 @@ +global class InvalidHeaderException extends Exception { + global InvalidHeaderException(String param0, Exception param1) { } + global InvalidHeaderException(Exception param0) { } + global InvalidHeaderException(String param0) { } + global InvalidHeaderException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/InvalidParameterValueException.cls b/.sfdx/tools/246/StandardApexLibrary/System/InvalidParameterValueException.cls new file mode 100644 index 0000000..e7c4554 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/InvalidParameterValueException.cls @@ -0,0 +1,12 @@ +global class InvalidParameterValueException extends Exception { + global InvalidParameterValueException(String param0, String param1) { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/InvalidReadOnlyUserDmlException.cls b/.sfdx/tools/246/StandardApexLibrary/System/InvalidReadOnlyUserDmlException.cls new file mode 100644 index 0000000..7268f40 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/InvalidReadOnlyUserDmlException.cls @@ -0,0 +1,15 @@ +global class InvalidReadOnlyUserDmlException extends Exception { + global InvalidReadOnlyUserDmlException(String param0, Exception param1) { } + global InvalidReadOnlyUserDmlException(Exception param0) { } + global InvalidReadOnlyUserDmlException(String param0) { } + global InvalidReadOnlyUserDmlException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Iterable.cls b/.sfdx/tools/246/StandardApexLibrary/System/Iterable.cls new file mode 100644 index 0000000..bf6ff25 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Iterable.cls @@ -0,0 +1,4 @@ +global interface Iterable { + System.Iterator iterator(); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Iterator.cls b/.sfdx/tools/246/StandardApexLibrary/System/Iterator.cls new file mode 100644 index 0000000..49b57ec --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Iterator.cls @@ -0,0 +1,5 @@ +global interface Iterator { + Boolean hasNext(); + Object next(); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/JSON.cls b/.sfdx/tools/246/StandardApexLibrary/System/JSON.cls new file mode 100644 index 0000000..25ec250 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/JSON.cls @@ -0,0 +1,14 @@ +global class JSON { + global JSON() { } + global Object clone() { } + global static System.JSONGenerator createGenerator(Boolean pretty) { } + global static System.JSONParser createParser(String jsonString) { } + global static Object deserialize(String jsonString, System.Type apexType) { } + global static Object deserializeStrict(String jsonString, System.Type apexType) { } + global static Object deserializeUntyped(String jsonString) { } + global static String serialize(Object o, Boolean suppressApexObjectNulls) { } + global static String serialize(Object o) { } + global static String serializePretty(Object o, Boolean suppressApexObjectNulls) { } + global static String serializePretty(Object o) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/JSONException.cls b/.sfdx/tools/246/StandardApexLibrary/System/JSONException.cls new file mode 100644 index 0000000..47951cb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/JSONException.cls @@ -0,0 +1,15 @@ +global class JSONException extends Exception { + global JSONException(String param0, Exception param1) { } + global JSONException(Exception param0) { } + global JSONException(String param0) { } + global JSONException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/JSONGenerator.cls b/.sfdx/tools/246/StandardApexLibrary/System/JSONGenerator.cls new file mode 100644 index 0000000..5e580f5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/JSONGenerator.cls @@ -0,0 +1,38 @@ +global class JSONGenerator { + global Object clone() { } + global void close() { } + global String getAsString() { } + global Boolean isClosed() { } + global void writeBlob(Blob b) { } + global void writeBlobField(String fieldName, Blob b) { } + global void writeBoolean(Boolean b) { } + global void writeBooleanField(String fieldName, Boolean b) { } + global void writeDate(Date d) { } + global void writeDateField(String fieldName, Date d) { } + global void writeDateTime(Datetime dt) { } + global void writeDateTimeField(String fieldName, Datetime dt) { } + global void writeEndArray() { } + global void writeEndObject() { } + global void writeFieldName(String fieldName) { } + global void writeId(Id id) { } + global void writeIdField(String fieldName, Id id) { } + global void writeNull() { } + global void writeNullField(String fieldName) { } + global void writeNumber(Decimal d) { } + global void writeNumber(Double d) { } + global void writeNumber(Integer i) { } + global void writeNumber(Long lng) { } + global void writeNumberField(String fieldName, Decimal d) { } + global void writeNumberField(String fieldName, Double d) { } + global void writeNumberField(String fieldName, Integer i) { } + global void writeNumberField(String fieldName, Long lng) { } + global void writeObject(Object o) { } + global void writeObjectField(String fieldName, Object o) { } + global void writeStartArray() { } + global void writeStartObject() { } + global void writeString(String str) { } + global void writeStringField(String fieldName, String str) { } + global void writeTime(Time t) { } + global void writeTimeField(String fieldName, Time t) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/JSONParser.cls b/.sfdx/tools/246/StandardApexLibrary/System/JSONParser.cls new file mode 100644 index 0000000..a3c966f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/JSONParser.cls @@ -0,0 +1,25 @@ +global class JSONParser { + global void clearCurrentToken() { } + global Object clone() { } + global Blob getBlobValue() { } + global Boolean getBooleanValue() { } + global String getCurrentName() { } + global System.JSONToken getCurrentToken() { } + global Datetime getDateTimeValue() { } + global Date getDateValue() { } + global Decimal getDecimalValue() { } + global Double getDoubleValue() { } + global Id getIdValue() { } + global Integer getIntegerValue() { } + global System.JSONToken getLastClearedToken() { } + global Long getLongValue() { } + global String getText() { } + global Time getTimeValue() { } + global Boolean hasCurrentToken() { } + global System.JSONToken nextToken() { } + global System.JSONToken nextValue() { } + global Object readValueAs(System.Type apexType) { } + global Object readValueAsStrict(System.Type apexType) { } + global void skipChildren() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/JSONToken.cls b/.sfdx/tools/246/StandardApexLibrary/System/JSONToken.cls new file mode 100644 index 0000000..e95ac39 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/JSONToken.cls @@ -0,0 +1,15 @@ +global enum JSONToken { +END_ARRAY, +END_OBJECT, +FIELD_NAME, +NOT_AVAILABLE, +START_ARRAY, +START_OBJECT, +VALUE_EMBEDDED_OBJECT, +VALUE_FALSE, +VALUE_NULL, +VALUE_NUMBER_FLOAT, +VALUE_NUMBER_INT, +VALUE_STRING, +VALUE_TRUE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/LicenseException.cls b/.sfdx/tools/246/StandardApexLibrary/System/LicenseException.cls new file mode 100644 index 0000000..a38d1d8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/LicenseException.cls @@ -0,0 +1,15 @@ +global class LicenseException extends Exception { + global LicenseException(String param0, Exception param1) { } + global LicenseException(Exception param0) { } + global LicenseException(String param0) { } + global LicenseException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/LimitException.cls b/.sfdx/tools/246/StandardApexLibrary/System/LimitException.cls new file mode 100644 index 0000000..ad37851 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/LimitException.cls @@ -0,0 +1,15 @@ +global class LimitException extends Exception { + global LimitException(String param0, Exception param1) { } + global LimitException(Exception param0) { } + global LimitException(String param0) { } + global LimitException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Limits.cls b/.sfdx/tools/246/StandardApexLibrary/System/Limits.cls new file mode 100644 index 0000000..f0b0495 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Limits.cls @@ -0,0 +1,57 @@ +global class Limits { + global static Integer getAggregateQueries() { } + global static Integer getAsyncCalls() { } + global static Integer getCallouts() { } + global static Integer getChildRelationshipsDescribes() { } + global static Integer getCpuTime() { } + global static Integer getDatabaseTime() { } + global static Integer getDmlRows() { } + global static Integer getDmlStatements() { } + global static Integer getEmailInvocations() { } + global static Integer getFieldSetsDescribes() { } + global static Integer getFieldsDescribes() { } + global static Integer getFindSimilarCalls() { } + global static Integer getFutureCalls() { } + global static Integer getHeapSize() { } + global static Integer getLimitAggregateQueries() { } + global static Integer getLimitAsyncCalls() { } + global static Integer getLimitCallouts() { } + global static Integer getLimitChildRelationshipsDescribes() { } + global static Integer getLimitCpuTime() { } + global static Integer getLimitDatabaseTime() { } + global static Integer getLimitDmlRows() { } + global static Integer getLimitDmlStatements() { } + global static Integer getLimitEmailInvocations() { } + global static Integer getLimitFieldSetsDescribes() { } + global static Integer getLimitFieldsDescribes() { } + global static Integer getLimitFindSimilarCalls() { } + global static Integer getLimitFutureCalls() { } + global static Integer getLimitHeapSize() { } + global static Integer getLimitMobilePushApexCalls() { } + global static Integer getLimitPicklistDescribes() { } + global static Integer getLimitPublishImmediateDML() { } + global static Integer getLimitQueries() { } + global static Integer getLimitQueryLocatorRows() { } + global static Integer getLimitQueryRows() { } + global static Integer getLimitQueueableJobs() { } + global static Integer getLimitRecordTypesDescribes() { } + global static Integer getLimitRunAs() { } + global static Integer getLimitSavepointRollbacks() { } + global static Integer getLimitSavepoints() { } + global static Integer getLimitScriptStatements() { } + global static Integer getLimitSoslQueries() { } + global static Integer getMobilePushApexCalls() { } + global static Integer getPicklistDescribes() { } + global static Integer getPublishImmediateDML() { } + global static Integer getQueries() { } + global static Integer getQueryLocatorRows() { } + global static Integer getQueryRows() { } + global static Integer getQueueableJobs() { } + global static Integer getRecordTypesDescribes() { } + global static Integer getRunAs() { } + global static Integer getSavepointRollbacks() { } + global static Integer getSavepoints() { } + global static Integer getScriptStatements() { } + global static Integer getSoslQueries() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/ListException.cls b/.sfdx/tools/246/StandardApexLibrary/System/ListException.cls new file mode 100644 index 0000000..1599fbc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/ListException.cls @@ -0,0 +1,15 @@ +global class ListException extends Exception { + global ListException(String param0, Exception param1) { } + global ListException(Exception param0) { } + global ListException(String param0) { } + global ListException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Location.cls b/.sfdx/tools/246/StandardApexLibrary/System/Location.cls new file mode 100644 index 0000000..3761b22 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Location.cls @@ -0,0 +1,9 @@ +global class Location { + global Double latitude; + global Double longitude; + global Location() { } + global Double getDistance(System.Location other, String unit) { } + global Double getLatitude() { } + global Double getLongitude() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/LoggingLevel.cls b/.sfdx/tools/246/StandardApexLibrary/System/LoggingLevel.cls new file mode 100644 index 0000000..1acab5f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/LoggingLevel.cls @@ -0,0 +1,11 @@ +global enum LoggingLevel { +DEBUG, +ERROR, +FINE, +FINER, +FINEST, +INFO, +INTERNAL, +NONE, +WARN +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Matcher.cls b/.sfdx/tools/246/StandardApexLibrary/System/Matcher.cls new file mode 100644 index 0000000..114b8a3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Matcher.cls @@ -0,0 +1,31 @@ +global class Matcher { + global Object clone() { } + global Integer end(Integer grp) { } + global Integer end() { } + global Boolean find(Integer start) { } + global Boolean find() { } + global String group(Integer start) { } + global String group() { } + global Integer groupCount() { } + global Boolean hasAnchoringBounds() { } + global Boolean hasTransparentBounds() { } + global Boolean hitEnd() { } + global Boolean lookingAt() { } + global Boolean matches() { } + global System.Pattern pattern() { } + global static String quoteReplacement(String s) { } + global System.Matcher region(Integer start, Integer ending) { } + global Integer regionEnd() { } + global Integer regionStart() { } + global String replaceAll(String replacement) { } + global String replaceFirst(String replacement) { } + global Boolean requireEnd() { } + global System.Matcher reset(String input) { } + global System.Matcher reset() { } + global Integer start(Integer grp) { } + global Integer start() { } + global System.Matcher useAnchoringBounds(Boolean b) { } + global System.Matcher usePattern(System.Pattern p) { } + global System.Matcher useTransparentBounds(Boolean b) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Math.cls b/.sfdx/tools/246/StandardApexLibrary/System/Math.cls new file mode 100644 index 0000000..937f95a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Math.cls @@ -0,0 +1,65 @@ +global class Math { + global Double E; + global Double PI; + global Math() { } + global static Decimal abs(Decimal x) { } + global static Double abs(Double x) { } + global static Integer abs(Integer x) { } + global static Long abs(Long x) { } + global static Decimal acos(Decimal x) { } + global static Double acos(Double x) { } + global static Decimal asin(Decimal x) { } + global static Double asin(Double x) { } + global static Decimal atan(Decimal x) { } + global static Double atan(Double x) { } + global static Decimal atan2(Decimal x, Decimal y) { } + global static Double atan2(Double x, Double y) { } + global static Decimal cbrt(Decimal x) { } + global static Double cbrt(Double x) { } + global static Decimal ceil(Decimal x) { } + global static Double ceil(Double x) { } + global Object clone() { } + global static Decimal cos(Decimal x) { } + global static Double cos(Double x) { } + global static Decimal cosh(Decimal x) { } + global static Double cosh(Double x) { } + global static Decimal exp(Decimal x) { } + global static Double exp(Double x) { } + global static Decimal floor(Decimal x) { } + global static Double floor(Double x) { } + global static Decimal log(Decimal x) { } + global static Double log(Double x) { } + global static Decimal log10(Decimal x) { } + global static Double log10(Double x) { } + global static Decimal max(Decimal x, Decimal y) { } + global static Double max(Double x, Double y) { } + global static Integer max(Integer x, Integer y) { } + global static Long max(Long x, Long y) { } + global static Decimal min(Decimal x, Decimal y) { } + global static Double min(Double x, Double y) { } + global static Integer min(Integer x, Integer y) { } + global static Long min(Long x, Long y) { } + global static Integer mod(Integer x, Integer y) { } + global static Long mod(Long x, Long y) { } + global static Double pow(Double base, Double exp) { } + global static Double random() { } + global static Decimal rint(Decimal x) { } + global static Double rint(Double x) { } + global static Integer round(Decimal x) { } + global static Integer round(Double x) { } + global static Long roundToLong(Decimal x) { } + global static Long roundToLong(Double x) { } + global static Decimal signum(Decimal x) { } + global static Double signum(Double x) { } + global static Decimal sin(Decimal x) { } + global static Double sin(Double x) { } + global static Decimal sinh(Decimal x) { } + global static Double sinh(Double x) { } + global static Decimal sqrt(Decimal x) { } + global static Double sqrt(Double x) { } + global static Decimal tan(Decimal x) { } + global static Double tan(Double x) { } + global static Decimal tanh(Decimal x) { } + global static Double tanh(Double x) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/MathException.cls b/.sfdx/tools/246/StandardApexLibrary/System/MathException.cls new file mode 100644 index 0000000..824f4b1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/MathException.cls @@ -0,0 +1,15 @@ +global class MathException extends Exception { + global MathException(String param0, Exception param1) { } + global MathException(Exception param0) { } + global MathException(String param0) { } + global MathException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Messaging.cls b/.sfdx/tools/246/StandardApexLibrary/System/Messaging.cls new file mode 100644 index 0000000..3f31ff1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Messaging.cls @@ -0,0 +1,14 @@ +global class Messaging { + global static Messaging.InboundEmail extractInboundEmail(Object source, Boolean includeForwardedAttachments) { } + global static List renderEmailTemplate(String whoId, String whatId, List bodies) { } + global static Messaging.SingleEmailMessage renderStoredEmailTemplate(String templateId, String whoId, String whatId, Object attachmentRetrievalOption, Boolean updateEmailTemplateUsage) { } + global static Messaging.SingleEmailMessage renderStoredEmailTemplate(String templateId, String whoId, String whatId, Object attachmentRetrievalOption) { } + global static Messaging.SingleEmailMessage renderStoredEmailTemplate(String templateId, String whoId, String whatId) { } + global static void reserveMassEmailCapacity(Integer count) { } + global static void reserveSingleEmailCapacity(Integer count) { } + global static List sendEmail(List emailMessages, Boolean allOrNothing) { } + global static List sendEmail(List emailMessages) { } + global static List sendEmailMessage(List emailMessagesIds, Boolean allOrNothing) { } + global static List sendEmailMessage(List emailMessagesIds) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/MultiStaticResourceCalloutMock.cls b/.sfdx/tools/246/StandardApexLibrary/System/MultiStaticResourceCalloutMock.cls new file mode 100644 index 0000000..ff07c4d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/MultiStaticResourceCalloutMock.cls @@ -0,0 +1,10 @@ +global class MultiStaticResourceCalloutMock { + global MultiStaticResourceCalloutMock() { } + global Object clone() { } + global System.HttpResponse respond(System.HttpRequest request) { } + global void setHeader(String key, String val) { } + global void setStaticResource(String url, String staticResourceName) { } + global void setStatus(String status) { } + global void setStatusCode(Integer code) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Network.cls b/.sfdx/tools/246/StandardApexLibrary/System/Network.cls new file mode 100644 index 0000000..f170f8b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Network.cls @@ -0,0 +1,17 @@ +global class Network { + global Network() { } + global Object clone() { } + global static System.PageReference communitiesLanding() { } + global static String createExternalUserAsync(SObject user, SObject contact, SObject account) { } + global static String createRecordAsync(String processType, SObject mbObject) { } + global static System.PageReference forwardToAuthPage(String startUrl, String displayType) { } + global static System.PageReference forwardToAuthPage(String startUrl) { } + global static String getLoginUrl(String networkId) { } + global static String getLogoutUrl(String networkId) { } + global static String getNetworkId() { } + global static String getSelfRegUrl(String networkId) { } + global static Integer loadAllPackageDefaultNetworkDashboardSettings() { } + global static Integer loadAllPackageDefaultNetworkPulseSettings() { } + global static Integer loadAllPackageDefaultNetworkWorkspaceMetricSettings() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/NoAccessException.cls b/.sfdx/tools/246/StandardApexLibrary/System/NoAccessException.cls new file mode 100644 index 0000000..03760a3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/NoAccessException.cls @@ -0,0 +1,12 @@ +global class NoAccessException extends Exception { + global NoAccessException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/NoDataFoundException.cls b/.sfdx/tools/246/StandardApexLibrary/System/NoDataFoundException.cls new file mode 100644 index 0000000..65de5b6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/NoDataFoundException.cls @@ -0,0 +1,12 @@ +global class NoDataFoundException extends Exception { + global NoDataFoundException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/NoSuchElementException.cls b/.sfdx/tools/246/StandardApexLibrary/System/NoSuchElementException.cls new file mode 100644 index 0000000..4506fd9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/NoSuchElementException.cls @@ -0,0 +1,15 @@ +global class NoSuchElementException extends Exception { + global NoSuchElementException(String param0, Exception param1) { } + global NoSuchElementException(Exception param0) { } + global NoSuchElementException(String param0) { } + global NoSuchElementException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/NullPointerException.cls b/.sfdx/tools/246/StandardApexLibrary/System/NullPointerException.cls new file mode 100644 index 0000000..f3f0baf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/NullPointerException.cls @@ -0,0 +1,12 @@ +global class NullPointerException extends Exception { + global NullPointerException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/OrgInstrumentationContext.cls b/.sfdx/tools/246/StandardApexLibrary/System/OrgInstrumentationContext.cls new file mode 100644 index 0000000..caa880a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/OrgInstrumentationContext.cls @@ -0,0 +1,9 @@ +global class OrgInstrumentationContext { + global OrgInstrumentationContext(System.OrgMetricPublishTypeEnum publishType) { } + global Object clone() { } + global void end() { } + global Long getDuration() { } + global System.OrgMetricPublishTypeEnum getPublishType() { } + global void startTime() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/OrgInstrumentationOperation.cls b/.sfdx/tools/246/StandardApexLibrary/System/OrgInstrumentationOperation.cls new file mode 100644 index 0000000..2bca3e2 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/OrgInstrumentationOperation.cls @@ -0,0 +1,16 @@ +global class OrgInstrumentationOperation { + global Object clone() { } + global System.TracerSpan createNewSpan() { } + global void end(System.OrgInstrumentationContext context) { } + global void endWithStatus(System.OrgInstrumentationContext context, Integer statusCode) { } + global void publishCustomHistogramValues(String metricName, Long value) { } + global void publishCustomIncrementalValue(String metricName, Long value) { } + global void publishCustomPercentileSet(String metricName, Long value) { } + global void publishIncrementalValue(System.OrgMetricTypeEnum metricType, Long value, Integer statusCode) { } + global void publishPercentileSet(System.OrgMetricTypeEnum metricType, Long value) { } + global void publishRequestCountAndDuration(Long countValue, Integer statusCode, Long duration, String metricName) { } + global void publishRequestCountAndDuration(Long countValue, Integer statusCode, Long duration) { } + global void setMetricTags(Map tags) { } + global System.OrgInstrumentationContext start(System.OrgMetricPublishTypeEnum publishingType) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/OrgInstrumentationService.cls b/.sfdx/tools/246/StandardApexLibrary/System/OrgInstrumentationService.cls new file mode 100644 index 0000000..7b2f648 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/OrgInstrumentationService.cls @@ -0,0 +1,10 @@ +global class OrgInstrumentationService { + global OrgInstrumentationService(System.OrgMetricServiceEnum service, String subServiceName, String featureGroupName, String featureName) { } + global Object clone() { } + global System.OrgInstrumentationOperation getInstrumentationOperation(String operationName, Map tags, List percentileBuckets) { } + global System.OrgInstrumentationOperation getInstrumentationOperation(String operationName, Map tags, List buckets) { } + global System.OrgInstrumentationOperation getInstrumentationOperation(String operationName, Map tags) { } + global Map getTracerContext() { } + global void propagateContext(System.HttpRequest request) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/OrgLimit.cls b/.sfdx/tools/246/StandardApexLibrary/System/OrgLimit.cls new file mode 100644 index 0000000..23b2ea6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/OrgLimit.cls @@ -0,0 +1,8 @@ +global class OrgLimit { + global Object clone() { } + global Integer getLimit() { } + global String getName() { } + global Integer getValue() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/OrgLimits.cls b/.sfdx/tools/246/StandardApexLibrary/System/OrgLimits.cls new file mode 100644 index 0000000..46bd161 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/OrgLimits.cls @@ -0,0 +1,7 @@ +global class OrgLimits { + global OrgLimits() { } + global Object clone() { } + global static List getAll() { } + global static Map getMap() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/OrgMetricPublishTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/System/OrgMetricPublishTypeEnum.cls new file mode 100644 index 0000000..bb243ca --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/OrgMetricPublishTypeEnum.cls @@ -0,0 +1,6 @@ +global enum OrgMetricPublishTypeEnum { +DURATION, +NONE, +REQUEST_COUNT, +REQUEST_COUNT_AND_DURATION +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/OrgMetricServiceEnum.cls b/.sfdx/tools/246/StandardApexLibrary/System/OrgMetricServiceEnum.cls new file mode 100644 index 0000000..af1086d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/OrgMetricServiceEnum.cls @@ -0,0 +1,9 @@ +global enum OrgMetricServiceEnum { +CRM, +GUS, +IDXR, +LEGO, +NETZEROMARKETPLACE, +TBID, +WORKDOTCOM +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/OrgMetricTypeEnum.cls b/.sfdx/tools/246/StandardApexLibrary/System/OrgMetricTypeEnum.cls new file mode 100644 index 0000000..e78b2f6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/OrgMetricTypeEnum.cls @@ -0,0 +1,5 @@ +global enum OrgMetricTypeEnum { +DURATION, +REQUEST_COUNT, +SATURATION +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/PackageOMCopyForRzoneEnvironment.cls b/.sfdx/tools/246/StandardApexLibrary/System/PackageOMCopyForRzoneEnvironment.cls new file mode 100644 index 0000000..a5d7a0d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/PackageOMCopyForRzoneEnvironment.cls @@ -0,0 +1,5 @@ +global class PackageOMCopyForRzoneEnvironment { + global PackageOMCopyForRzoneEnvironment() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Packaging.cls b/.sfdx/tools/246/StandardApexLibrary/System/Packaging.cls new file mode 100644 index 0000000..9b121cc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Packaging.cls @@ -0,0 +1,6 @@ +global class Packaging { + global Packaging() { } + global Object clone() { } + global static String getCurrentPackageId() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/PageReference.cls b/.sfdx/tools/246/StandardApexLibrary/System/PageReference.cls new file mode 100644 index 0000000..fd08f2d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/PageReference.cls @@ -0,0 +1,5 @@ +global class Pagereference { + global static System.PageReference forResource(String resourceName, String path) { } + global static System.PageReference forResource(String resourceName) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/ParentJobResult.cls b/.sfdx/tools/246/StandardApexLibrary/System/ParentJobResult.cls new file mode 100644 index 0000000..fa9a10b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/ParentJobResult.cls @@ -0,0 +1,4 @@ +global enum ParentJobResult { +SUCCESS, +UNHANDLED_EXCEPTION +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Pattern.cls b/.sfdx/tools/246/StandardApexLibrary/System/Pattern.cls new file mode 100644 index 0000000..600403d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Pattern.cls @@ -0,0 +1,11 @@ +global class Pattern { + global Object clone() { } + global static System.Pattern compile(String regex) { } + global System.Matcher matcher(String input) { } + global static Boolean matches(String regex, String input) { } + global String pattern() { } + global static String quote(String s) { } + global List split(String input, Integer n) { } + global List split(String input) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/PlatformCacheException.cls b/.sfdx/tools/246/StandardApexLibrary/System/PlatformCacheException.cls new file mode 100644 index 0000000..9376eef --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/PlatformCacheException.cls @@ -0,0 +1,15 @@ +global class PlatformCacheException extends Exception { + global PlatformCacheException(String param0, Exception param1) { } + global PlatformCacheException(Exception param0) { } + global PlatformCacheException(String param0) { } + global PlatformCacheException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/PolyglotException.cls b/.sfdx/tools/246/StandardApexLibrary/System/PolyglotException.cls new file mode 100644 index 0000000..bd16550 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/PolyglotException.cls @@ -0,0 +1,15 @@ +global class PolyglotException extends Exception { + global PolyglotException(String param0, Exception param1) { } + global PolyglotException(Exception param0) { } + global PolyglotException(String param0) { } + global PolyglotException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/ProcedureException.cls b/.sfdx/tools/246/StandardApexLibrary/System/ProcedureException.cls new file mode 100644 index 0000000..d300082 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/ProcedureException.cls @@ -0,0 +1,15 @@ +global class ProcedureException extends Exception { + global ProcedureException(String param0, Exception param1) { } + global ProcedureException(Exception param0) { } + global ProcedureException(String param0) { } + global ProcedureException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/QueryException.cls b/.sfdx/tools/246/StandardApexLibrary/System/QueryException.cls new file mode 100644 index 0000000..d277253 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/QueryException.cls @@ -0,0 +1,15 @@ +global class QueryException extends Exception { + global QueryException(String param0, Exception param1) { } + global QueryException(Exception param0) { } + global QueryException(String param0) { } + global QueryException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Queueable.cls b/.sfdx/tools/246/StandardApexLibrary/System/Queueable.cls new file mode 100644 index 0000000..fd5c0bf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Queueable.cls @@ -0,0 +1,4 @@ +global interface Queueable { + void execute(System.QueueableContext param0); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/QueueableContext.cls b/.sfdx/tools/246/StandardApexLibrary/System/QueueableContext.cls new file mode 100644 index 0000000..4f9dcce --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/QueueableContext.cls @@ -0,0 +1,4 @@ +global interface QueueableContext { + Id getJobId(); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/QueueableContextImpl.cls b/.sfdx/tools/246/StandardApexLibrary/System/QueueableContextImpl.cls new file mode 100644 index 0000000..5cbb647 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/QueueableContextImpl.cls @@ -0,0 +1,5 @@ +global class QueueableContextImpl { + global Object clone() { } + global Id getJobId() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/QuickAction.cls b/.sfdx/tools/246/StandardApexLibrary/System/QuickAction.cls new file mode 100644 index 0000000..4b69ec0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/QuickAction.cls @@ -0,0 +1,11 @@ +global class QuickAction { + global static List describeAvailableQuickActions(String parentType) { } + global static List describeQuickActions(List actions) { } + global static QuickAction.QuickActionResult performQuickAction(QuickAction.QuickActionRequest performQuickAction, Boolean allOrNothing) { } + global static QuickAction.QuickActionResult performQuickAction(QuickAction.QuickActionRequest performQuickAction) { } + global static List performQuickActions(List performQuickActions, Boolean allOrNothing) { } + global static List performQuickActions(List performQuickActions) { } + global static QuickAction.QuickActionTemplateResult retrieveQuickActionTemplate(String quickActionName, Id contextId) { } + global static List retrieveQuickActionTemplates(List quickActionNames, Id contextId) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Quiddity.cls b/.sfdx/tools/246/StandardApexLibrary/System/Quiddity.cls new file mode 100644 index 0000000..fa25125 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Quiddity.cls @@ -0,0 +1,30 @@ +global enum Quiddity { +ANONYMOUS, +AURA, +BATCH_ACS, +BATCH_APEX, +BATCH_CHUNK_PARALLEL, +BATCH_CHUNK_SERIAL, +BULK_API, +COMMERCE_INTEGRATION, +DISCOVERABLE_LOGIN, +FUNCTION_CALLBACK, +FUTURE, +INBOUND_EMAIL_SERVICE, +INVOCABLE_ACTION, +IOT, +PLATFORM_EVENT_PUBLISH_CALLBACK, +POST_INSTALL_SCRIPT, +QUEUEABLE, +QUICK_ACTION, +REMOTE_ACTION, +REST, +RUNTEST_ASYNC, +RUNTEST_DEPLOY, +RUNTEST_SYNC, +SCHEDULED, +SOAP, +SYNCHRONOUS, +TRANSACTION_FINALIZER_QUEUEABLE, +VF +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/RemoteObjectController.cls b/.sfdx/tools/246/StandardApexLibrary/System/RemoteObjectController.cls new file mode 100644 index 0000000..921221d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/RemoteObjectController.cls @@ -0,0 +1,9 @@ +global class RemoteObjectController { + global RemoteObjectController() { } + global Object clone() { } + global static Map create(String type, Map fields) { } + global static Map del(String type, List ids) { } + global static Map retrieve(String type, List fields, Map criteria) { } + global static Map updat(String type, List ids, Map fields) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Request.cls b/.sfdx/tools/246/StandardApexLibrary/System/Request.cls new file mode 100644 index 0000000..545e911 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Request.cls @@ -0,0 +1,8 @@ +global class Request { + global Request() { } + global Object clone() { } + global static System.Request getCurrent() { } + global System.Quiddity getQuiddity() { } + global String getRequestId() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/RequestImpl.cls b/.sfdx/tools/246/StandardApexLibrary/System/RequestImpl.cls new file mode 100644 index 0000000..90b3a4d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/RequestImpl.cls @@ -0,0 +1,5 @@ +global class RequestImpl { + global Object clone() { } + global static System.Request getCurrent() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/RequiredFeatureMissingException.cls b/.sfdx/tools/246/StandardApexLibrary/System/RequiredFeatureMissingException.cls new file mode 100644 index 0000000..749d139 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/RequiredFeatureMissingException.cls @@ -0,0 +1,15 @@ +global class RequiredFeatureMissingException extends Exception { + global RequiredFeatureMissingException(String param0, Exception param1) { } + global RequiredFeatureMissingException(Exception param0) { } + global RequiredFeatureMissingException(String param0) { } + global RequiredFeatureMissingException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/ResetPasswordResult.cls b/.sfdx/tools/246/StandardApexLibrary/System/ResetPasswordResult.cls new file mode 100644 index 0000000..429bda6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/ResetPasswordResult.cls @@ -0,0 +1,5 @@ +global class ResetPasswordResult { + global String password; + global String getPassword() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/RestContext.cls b/.sfdx/tools/246/StandardApexLibrary/System/RestContext.cls new file mode 100644 index 0000000..90a115f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/RestContext.cls @@ -0,0 +1,6 @@ +global class RestContext { + global System.RestRequest request; + global System.RestResponse response; + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/RestRequest.cls b/.sfdx/tools/246/StandardApexLibrary/System/RestRequest.cls new file mode 100644 index 0000000..36e455b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/RestRequest.cls @@ -0,0 +1,14 @@ +global class RestRequest { + global Map headers; + global String httpMethod; + global Map params; + global String remoteAddress; + global Blob requestBody; + global String requestURI; + global String resourcePath; + global RestRequest() { } + global void addHeader(String name, String value) { } + global void addParameter(String name, String value) { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/RestResponse.cls b/.sfdx/tools/246/StandardApexLibrary/System/RestResponse.cls new file mode 100644 index 0000000..cfde5a0 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/RestResponse.cls @@ -0,0 +1,9 @@ +global class RestResponse { + global Map headers; + global Blob responseBody; + global Integer statusCode; + global RestResponse() { } + global void addHeader(String name, String value) { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/RoundingMode.cls b/.sfdx/tools/246/StandardApexLibrary/System/RoundingMode.cls new file mode 100644 index 0000000..12252ad --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/RoundingMode.cls @@ -0,0 +1,10 @@ +global enum RoundingMode { +CEILING, +DOWN, +FLOOR, +HALF_DOWN, +HALF_EVEN, +HALF_UP, +UNNECESSARY, +UP +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/SObjectAccessDecision.cls b/.sfdx/tools/246/StandardApexLibrary/System/SObjectAccessDecision.cls new file mode 100644 index 0000000..76f90fa --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/SObjectAccessDecision.cls @@ -0,0 +1,7 @@ +global class SObjectAccessDecision { + global Object clone() { } + global Set getModifiedIndexes() { } + global List getRecords() { } + global Map> getRemovedFields() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/SObjectException.cls b/.sfdx/tools/246/StandardApexLibrary/System/SObjectException.cls new file mode 100644 index 0000000..64fa5b9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/SObjectException.cls @@ -0,0 +1,15 @@ +global class SObjectException extends Exception { + global SObjectException(String param0, Exception param1) { } + global SObjectException(Exception param0) { } + global SObjectException(String param0) { } + global SObjectException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/SandboxContext.cls b/.sfdx/tools/246/StandardApexLibrary/System/SandboxContext.cls new file mode 100644 index 0000000..54637ad --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/SandboxContext.cls @@ -0,0 +1,6 @@ +global interface SandboxContext { + Id organizationId(); + Id sandboxId(); + String sandboxName(); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/SandboxPostCopy.cls b/.sfdx/tools/246/StandardApexLibrary/System/SandboxPostCopy.cls new file mode 100644 index 0000000..7103fae --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/SandboxPostCopy.cls @@ -0,0 +1,4 @@ +global interface SandboxPostCopy { + void runApexClass(System.SandboxContext param0); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Schedulable.cls b/.sfdx/tools/246/StandardApexLibrary/System/Schedulable.cls new file mode 100644 index 0000000..8d811c8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Schedulable.cls @@ -0,0 +1,4 @@ +global interface Schedulable { + void execute(System.SchedulableContext param0); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/SchedulableContext.cls b/.sfdx/tools/246/StandardApexLibrary/System/SchedulableContext.cls new file mode 100644 index 0000000..3165a1d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/SchedulableContext.cls @@ -0,0 +1,4 @@ +global interface SchedulableContext { + Id getTriggerId(); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/SchedulableContextImpl.cls b/.sfdx/tools/246/StandardApexLibrary/System/SchedulableContextImpl.cls new file mode 100644 index 0000000..5d06781 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/SchedulableContextImpl.cls @@ -0,0 +1,4 @@ +global class SchedulableContextImpl { + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Schema.cls b/.sfdx/tools/246/StandardApexLibrary/System/Schema.cls new file mode 100644 index 0000000..022851e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Schema.cls @@ -0,0 +1,12 @@ +global class Schema { + global static List describeDataCategoryGroupStructures(List pairs, Boolean topCategoriesOnly) { } + global static List describeDataCategoryGroups(List sobjects) { } + global static List describeSObjects(List types, Object options) { } + global static List describeSObjects(List types) { } + global static List describeTabs() { } + global static Map getAppDescribe(String appName) { } + global static Map getGlobalDescribe() { } + global static Map getModuleDescribe(String moduleName) { } + global static Map getModuleDescribe() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Search.cls b/.sfdx/tools/246/StandardApexLibrary/System/Search.cls new file mode 100644 index 0000000..300445a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Search.cls @@ -0,0 +1,9 @@ +global class Search { + global static Search.SearchResults find(String searchQuery, Object accessLevel) { } + global static Search.SearchResults find(String searchQuery) { } + global static List> query(String searchQuery, Object accessLevel) { } + global static List> query(String searchQuery) { } + global static Search.SuggestionResults suggest(String searchQuery, String sObjectType, Object options, Object accessLevel) { } + global static Search.SuggestionResults suggest(String searchQuery, String sObjectType, Object options) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/SearchException.cls b/.sfdx/tools/246/StandardApexLibrary/System/SearchException.cls new file mode 100644 index 0000000..c8bd9c5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/SearchException.cls @@ -0,0 +1,15 @@ +global class SearchException extends Exception { + global SearchException(String param0, Exception param1) { } + global SearchException(Exception param0) { } + global SearchException(String param0) { } + global SearchException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Security.cls b/.sfdx/tools/246/StandardApexLibrary/System/Security.cls new file mode 100644 index 0000000..0a987e6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Security.cls @@ -0,0 +1,7 @@ +global class Security { + global Security() { } + global Object clone() { } + global static System.SObjectAccessDecision stripInaccessible(System.AccessType accessCheckType, List sourceRecords, Boolean enforceRootObjectCRUD) { } + global static System.SObjectAccessDecision stripInaccessible(System.AccessType accessCheckType, List sourceRecords) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/SecurityException.cls b/.sfdx/tools/246/StandardApexLibrary/System/SecurityException.cls new file mode 100644 index 0000000..0d24136 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/SecurityException.cls @@ -0,0 +1,15 @@ +global class SecurityException extends Exception { + global SecurityException(String param0, Exception param1) { } + global SecurityException(Exception param0) { } + global SecurityException(String param0) { } + global SecurityException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/SelectOption.cls b/.sfdx/tools/246/StandardApexLibrary/System/SelectOption.cls new file mode 100644 index 0000000..7c147bf --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/SelectOption.cls @@ -0,0 +1,13 @@ +global class SelectOption { + global SelectOption(String value, String label, Boolean disabled) { } + global SelectOption(String value, String label) { } + global Boolean getDisabled() { } + global Boolean getEscapeItem() { } + global String getLabel() { } + global String getValue() { } + global void setDisabled(Boolean disabled) { } + global void setEscapeItem(Boolean disabled) { } + global void setLabel(String label) { } + global void setValue(String value) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/SerializationException.cls b/.sfdx/tools/246/StandardApexLibrary/System/SerializationException.cls new file mode 100644 index 0000000..b77e650 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/SerializationException.cls @@ -0,0 +1,15 @@ +global class SerializationException extends Exception { + global SerializationException(String param0, Exception param1) { } + global SerializationException(Exception param0) { } + global SerializationException(String param0) { } + global SerializationException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/SetupScope.cls b/.sfdx/tools/246/StandardApexLibrary/System/SetupScope.cls new file mode 100644 index 0000000..6b10021 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/SetupScope.cls @@ -0,0 +1,5 @@ +global enum SetupScope { +ORGANIZATION, +PROFILE, +USER +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Site.cls b/.sfdx/tools/246/StandardApexLibrary/System/Site.cls new file mode 100644 index 0000000..8e86d44 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Site.cls @@ -0,0 +1,50 @@ +global class Site { + global Site() { } + global static System.PageReference changePassword(String newPassword, String verifyNewPassword, String oldPassword) { } + global static System.PageReference changePassword(String newPassword, String verifyNewPassword) { } + global Object clone() { } + global static Id createExternalUser(SObject user, String accountId, String password, Boolean sendEmailConfirmation) { } + global static Id createExternalUser(SObject user, String accountId, String password) { } + global static Id createExternalUser(SObject user, String accountId) { } + global static Id createPersonAccountPortalUser(SObject user, String ownerId, String recordTypeId, String password) { } + global static Id createPersonAccountPortalUser(SObject user, String ownerId, String password) { } + global static Id createPortalUser(SObject user, String accountId, String password, Boolean sendEmailConfirmation) { } + global static Id createPortalUser(SObject user, String accountId, String password) { } + global static Id createPortalUser(SObject user, String accountId) { } + global static Boolean forgotPassword(String username, String emailTemplateName) { } + global static Boolean forgotPassword(String username) { } + global static String getAdminEmail() { } + global static Id getAdminId() { } + global static String getAnalyticsTrackingCode() { } + global static String getBaseCustomUrl() { } + global static String getBaseInsecureUrl() { } + global static String getBaseRequestUrl() { } + global static String getBaseSecureUrl() { } + global static String getBaseUrl() { } + global static String getCurrentSiteUrl() { } + global static String getCustomWebAddress() { } + global static String getDomain() { } + global static String getErrorDescription() { } + global static String getErrorMessage() { } + global static String getExperienceId() { } + global static String getMasterLabel() { } + global static String getName() { } + global static String getOriginalUrl() { } + global static String getPasswordPolicyStatement() { } + global static String getPathPrefix() { } + global static String getPrefix() { } + global static Id getSiteId() { } + global static String getSiteType() { } + global static String getSiteTypeLabel() { } + global static System.PageReference getTemplate() { } + global static Boolean isLoginEnabled() { } + global static Boolean isPasswordExpired() { } + global static Boolean isRegistrationEnabled() { } + global static Boolean isValidUsername(String username) { } + global static System.PageReference login(String username, String password, String startUrl) { } + global static System.PageReference passwordlessLogin(Id userId, List methods, String startUrl) { } + global static void setExperienceId(String expIdValue) { } + global static void setPortalUserAsAuthProvider(SObject user, String accountId) { } + global static void validatePassword(SObject user, String password, String confirmPassword) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/StaticResourceCalloutMock.cls b/.sfdx/tools/246/StandardApexLibrary/System/StaticResourceCalloutMock.cls new file mode 100644 index 0000000..b366ffc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/StaticResourceCalloutMock.cls @@ -0,0 +1,10 @@ +global class StaticResourceCalloutMock { + global StaticResourceCalloutMock() { } + global Object clone() { } + global System.HttpResponse respond(System.HttpRequest request) { } + global void setHeader(String key, String val) { } + global void setStaticResource(String staticResourceName) { } + global void setStatus(String status) { } + global void setStatusCode(Integer code) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/StatusCode.cls b/.sfdx/tools/246/StandardApexLibrary/System/StatusCode.cls new file mode 100644 index 0000000..3725f79 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/StatusCode.cls @@ -0,0 +1,524 @@ +global enum StatusCode { +ALERT_NOTIFICATION_LIMIT_EXCEEDED, +ALL_OR_NONE_OPERATION_ROLLED_BACK, +ALREADY_APPLIED, +ALREADY_IN_PROCESS, +ALREADY_REDEEMED_VOUCHER, +APEX_DATA_ACCESS_RESTRICTION, +APEX_FAILED, +APPLICATION_ALREADY_EXISTS, +ASSIGNEE_TYPE_REQUIRED, +ATTRIBUTE_DEFINITION_LIMIT_EXCEEDED, +AURA_COMPILE_ERROR, +AUTH_PROVIDER_NEEDS_AUTH, +AUTH_PROVIDER_NOT_FOUND, +B2B_SEARCH_ADMIN_ERROR, +BAD_CUSTOM_ENTITY_PARENT_DOMAIN, +BCC_NOT_ALLOWED_IF_BCC_COMPLIANCE_ENABLED, +BLOCKED_EXCLUSIVE, +CANNOT_CASCADE_PRODUCT_ACTIVE, +CANNOT_CHANGE_FIELD_TYPE_OF_APEX_REFERENCED_FIELD, +CANNOT_CHANGE_FIELD_TYPE_OF_REFERENCED_FIELD, +CANNOT_CREATE_ANOTHER_MANAGED_PACKAGE, +CANNOT_DEACTIVATE_DIVISION, +CANNOT_DELETE_GLOBAL_ACTION_LIST, +CANNOT_DELETE_LAST_DATED_CONVERSION_RATE, +CANNOT_DELETE_MANAGED_OBJECT, +CANNOT_DISABLE_LAST_ADMIN, +CANNOT_ENABLE_IP_RESTRICT_REQUESTS, +CANNOT_EXECUTE_FLOW_TRIGGER, +CANNOT_FREEZE_SELF, +CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, +CANNOT_MODIFY_MANAGED_OBJECT, +CANNOT_PASSWORD_LOCKOUT, +CANNOT_POST_TO_ARCHIVED_GROUP, +CANNOT_RENAME_APEX_REFERENCED_FIELD, +CANNOT_RENAME_APEX_REFERENCED_OBJECT, +CANNOT_RENAME_REFERENCED_FIELD, +CANNOT_RENAME_REFERENCED_OBJECT, +CANNOT_REPARENT_RECORD, +CANNOT_UPDATE_CONVERTED_LEAD, +CANNOT_UPDATE_IS_THIRD_PARTY, +CANNOT_UPDATE_PAYMENT_METHOD_SET, +CANT_DISABLE_CORP_CURRENCY, +CANT_UNSET_CORP_CURRENCY, +CART_ITEM_NOT_FOUND, +CART_NOT_FOUND, +CHECKOUT_CONFLICT, +CHECKOUT_EXPIRED, +CHECKOUT_INVALIDATED, +CHECKOUT_LOCKED, +CHECKOUT_NOT_FOUND, +CHECKOUT_UNAUTHORIZED, +CHILD_SHARE_FAILS_PARENT, +CIRCULAR_DEPENDENCY, +CLEAN_SERVICE_ERROR, +CLONE_FIELD_INTEGRITY_EXCEPTION, +CLONE_NOT_SUPPORTED, +CMS_FOLDER_ITEM_MOVE_FAILED, +COLLISION_DETECTED, +COMMERCE_SEARCH_INDEXING_SYSTEM_ERROR, +COMMERCE_SEARCH_MQ_ERROR, +COMMERCE_SEARCH_PROVIDER_LIMIT_EXCEEDED, +COMMERCE_SEARCH_RESOURCE_NOT_FOUND, +COMMERCIAL_CONTROL_ERROR, +COMMUNITY_NOT_ACCESSIBLE, +CONFLICT, +CONFLICTING_ENVIRONMENT_HUB_MEMBER, +CONFLICTING_SSO_USER_MAPPING, +CONTENT_NOT_FOUND, +CONTENT_SEARCH_NOT_ENABLED, +CONTENT_TYPE_DISABLED_FOR_API, +CONTENT_TYPE_NOT_FOUND, +COUPON_REDEMPTION_LIMIT_EXCEEDED, +CUSTOM_APEX_ERROR, +CUSTOM_CLOB_FIELD_LIMIT_EXCEEDED, +CUSTOM_ENTITY_OR_FIELD_LIMIT, +CUSTOM_FIELD_INDEX_LIMIT_EXCEEDED, +CUSTOM_INDEX_EXISTS, +CUSTOM_LINK_LIMIT_EXCEEDED, +CUSTOM_METADATA_LIMIT_EXCEEDED, +CUSTOM_METADATA_REL_FIELD_MANAGEABILITY, +CUSTOM_SETTINGS_LIMIT_EXCEEDED, +CUSTOM_TAB_LIMIT_EXCEEDED, +DATAASSESSMENT_CONFIG_ASSESSMENT_IN_PROGRESS_ERROR, +DATAASSESSMENT_CONFIG_SERVICE_ERROR, +DATACLOUDADDRESS_NO_RECORDS_FOUND, +DATACLOUDADDRESS_PROCESSING_ERROR, +DATACLOUDADDRESS_SERVER_ERROR, +DATA_MAPPING_NOT_FOUND, +DATA_MAPPING_SCHEMA_NOT_FOUND, +DATA_TRANSFER_RECORD_LIMIT_EXCEEDED, +DATA_TYPE_NOT_SUPPORTED, +DATE_OUT_OF_RANGE, +DELETE_FAILED, +DELETE_NOT_ALLOWED, +DELETE_OPERATION_TOO_LARGE, +DELETE_REQUIRED_ON_CASCADE, +DEPENDENCY_EXISTS, +DUPLICATES_DETECTED, +DUPLICATE_CASE_SOLUTION, +DUPLICATE_COMM_NICKNAME, +DUPLICATE_CUSTOM_ENTITY_DEFINITION, +DUPLICATE_CUSTOM_TAB_MOTIF, +DUPLICATE_DEVELOPER_NAME, +DUPLICATE_EXTERNAL_ID, +DUPLICATE_MASTER_LABEL, +DUPLICATE_SENDER_DISPLAY_NAME, +DUPLICATE_USERNAME, +DUPLICATE_VALUE, +EMAIL_ADDRESS_BOUNCED, +EMAIL_EXTERNAL_TRANSPORT_CONNECTION_ERROR, +EMAIL_EXTERNAL_TRANSPORT_PERMISSION_ERROR, +EMAIL_EXTERNAL_TRANSPORT_TOKEN_ERROR, +EMAIL_EXTERNAL_TRANSPORT_TOO_LARGE_ERROR, +EMAIL_EXTERNAL_TRANSPORT_TOO_MANY_REQUESTS_ERROR, +EMAIL_EXTERNAL_TRANSPORT_UNKNOWN_ERROR, +EMAIL_NOT_PROCESSED_DUE_TO_PRIOR_ERROR, +EMAIL_OPTED_OUT, +EMAIL_TEMPLATE_FORMULA_ERROR, +EMAIL_TEMPLATE_MERGEFIELD_ACCESS_ERROR, +EMAIL_TEMPLATE_MERGEFIELD_ERROR, +EMAIL_TEMPLATE_MERGEFIELD_VALUE_ERROR, +EMAIL_TEMPLATE_PROCESSING_ERROR, +EMPTY_CATALOG, +EMPTY_INGESTION_JOB, +EMPTY_SCONTROL_FILE_NAME, +ENHANCED_EMAIL_TEMPLATE_COMPILATION_ERROR, +ENTITY_FAILED_IFLASTMODIFIED_ON_UPDATE, +ENTITY_IS_ARCHIVED, +ENTITY_IS_DELETED, +ENTITY_IS_LOCKED, +ENTITY_SAVE_ERROR, +ENTITY_SAVE_VALIDATION_ERROR, +ENVIRONMENT_HUB_MEMBERSHIP_CONFLICT, +ENVIRONMENT_HUB_MEMBERSHIP_ERROR_JOINING_HUB, +ENVIRONMENT_HUB_MEMBERSHIP_USER_ALREADY_IN_HUB, +ENVIRONMENT_HUB_MEMBERSHIP_USER_NOT_ORG_ADMIN, +ERROR_CALCULATING_EXPIRY_DATE, +ERROR_IN_MAILER, +EXCEEDED_MAX_SEMIJOIN_SUBSELECTS_WRITE, +EXCHANGE_WEB_SERVICES_URL_INVALID, +EXTERNAL_RESOURCE_FORBIDDEN, +FAILED_ACTIVATION, +FAILED_DUE_TO_OTHER_INPUTS, +FAILED_TO_RESOLVE_MAPPING, +FAILED_TO_RESOLVE_SCHEMA_INFORMATION, +FIELD_CUSTOM_VALIDATION_EXCEPTION, +FIELD_FILTER_VALIDATION_EXCEPTION, +FIELD_INTEGRITY_EXCEPTION, +FIELD_KEYWORD_LIST_MATCH_LIMIT, +FIELD_MAPPING_ERROR, +FIELD_MODERATION_RULE_BLOCK, +FIELD_NOT_UPDATABLE, +FILE_EXTENSION_NOT_ALLOWED, +FILE_SIZE_LIMIT_EXCEEDED, +FILTERED_LOOKUP_LIMIT_EXCEEDED, +FIND_DUPLICATES_ERROR, +FLOW_EXCEPTION, +FUNCTIONALITY_NOT_ENABLED, +GET_EINSTEIN_TENANT_ERROR, +GUEST_INSUFFICIENT_ACCESS, +HAS_PUBLIC_REFERENCES, +HTML_FILE_UPLOAD_NOT_ALLOWED, +IAS_AM_AUTH_BAD_REQUEST, +IAS_AM_AUTH_UNAUTHORIZED, +IAS_INVALID_AUTH, +IAS_INVALID_REQUEST_PARAMETER, +IAS_RECORD_DOES_NOT_EXIST, +IAS_TENANT_NOT_PROVISIONED, +IAS_UNCOMMITTED_WORK, +IMAGE_TOO_LARGE, +INACTIVE_OWNER_OR_USER, +INACTIVE_RULE_ERROR, +INDEX_ITEM_LIMIT_EXCEEDED, +INDEX_PAYLOAD_NOT_FOUND, +INGESTION_JOB_RECORDS_LIMIT_EXCEEDED, +INGESTION_TOTAL_FILE_SIZE_LIMIT_EXCEEDED, +INPUTPARAM_INCOMPATIBLE_DATATYPE, +INSERT_UPDATE_DELETE_NOT_ALLOWED_DURING_MAINTENANCE, +INSUFFICIENT_ACCESS, +INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY, +INSUFFICIENT_ACCESS_OR_READONLY, +INSUFFICIENT_ACCESS_TO_INSIGHTSEXTERNALDATA, +INSUFFICIENT_BALANCE, +INSUFFICIENT_BENEFIT_REMAINING, +INSUFFICIENT_CREDITS, +INTEGRATION_CANCELLED, +INTERNAL_ERROR, +INVALID_ACCESS_LEVEL, +INVALID_ACCESS_TOKEN, +INVALID_ACCOUNT, +INVALID_ACTION_VERSION, +INVALID_API_INPUT, +INVALID_ARGUMENT_TYPE, +INVALID_ASSIGNEE_TYPE, +INVALID_ASSIGNMENT_RULE, +INVALID_AUTH_HEADER, +INVALID_BATCH_OPERATION, +INVALID_BUSINESS_HOURS_NAME, +INVALID_CHECKOUT_INPUT, +INVALID_CONTACT, +INVALID_CONTENT_TYPE, +INVALID_CREDIT_CARD_INFO, +INVALID_CROSS_REFERENCE_KEY, +INVALID_CROSS_REFERENCE_TYPE_FOR_FIELD, +INVALID_CURRENCY_CONV_RATE, +INVALID_CURRENCY_CORP_RATE, +INVALID_CURRENCY_ISO, +INVALID_DATASET_REFERENCE_INPUT, +INVALID_DATA_CATEGORY_GROUP_REFERENCE, +INVALID_DATA_URI, +INVALID_EBV_OPERATION, +INVALID_EMAIL_ADDRESS, +INVALID_EMPTY_KEY_OWNER, +INVALID_ENTITY_FOR_MATCH_ENGINE_ERROR, +INVALID_ENTITY_FOR_MATCH_OPERATION_ERROR, +INVALID_ENTITY_FOR_UPSERT, +INVALID_ENVIRONMENT_HUB_MEMBER, +INVALID_EVENT_DELIVERY, +INVALID_EVENT_INPUT, +INVALID_EVENT_SUBSCRIPTION, +INVALID_EXTENSION_ID, +INVALID_EXTERNAL_ID_FIELD_NAME, +INVALID_FIELD, +INVALID_FIELD_FOR_INSERT_UPDATE, +INVALID_FIELD_WHEN_USING_TEMPLATE, +INVALID_FILTER_ACTION, +INVALID_GOOGLE_DOCS_URL, +INVALID_ID_FIELD, +INVALID_INET_ADDRESS, +INVALID_INPUT, +INVALID_INPUT_FORMAT, +INVALID_KEY_FIELD_INPUT, +INVALID_LINEITEM_CLONE_STATE, +INVALID_MARKUP, +INVALID_MASTER_OR_TRANSLATED_SOLUTION, +INVALID_MERCHANT_ACCOUNT_MODE, +INVALID_MERCHANT_ACCOUNT_MODE_OR_STATUS, +INVALID_MERGE_RECORD, +INVALID_MESSAGE_ID_REFERENCE, +INVALID_NAMESPACE_PREFIX, +INVALID_OAUTH_URL, +INVALID_OPERATION, +INVALID_OPERATOR, +INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST, +INVALID_OWNER, +INVALID_PACKAGE_LICENSE, +INVALID_PACKAGE_VERSION, +INVALID_PARTNER_NETWORK_STATUS, +INVALID_PAYLOAD_VERSION, +INVALID_PERSON_ACCOUNT_OPERATION, +INVALID_PROFILE, +INVALID_PROMOTION, +INVALID_PROVIDER_TYPE, +INVALID_QUERY_KEY, +INVALID_QUERY_LOCATOR, +INVALID_QUERY_VALUE, +INVALID_READ_ONLY_USER_DML, +INVALID_RECEIVEDDOCUMENTID_ATTACHMENT, +INVALID_RECORD_ATTRIBUTE_VALUE, +INVALID_RECORD_TYPE, +INVALID_REFRESH_TOKEN, +INVALID_REQUEST_STATE, +INVALID_RUNTIME_VALUE, +INVALID_SAVE_AS_ACTIVITY_FLAG, +INVALID_SCS_INBOUND_USER, +INVALID_SEARCH_PROVIDER_REQUEST, +INVALID_SESSION_ID, +INVALID_SETUP_OWNER, +INVALID_SIGNUP_COUNTRY, +INVALID_SIGNUP_OPTION, +INVALID_SITE_DELETE_EXCEPTION, +INVALID_SITE_FILE_IMPORTED_EXCEPTION, +INVALID_SITE_FILE_TYPE_EXCEPTION, +INVALID_SOURCE_OBJECT_ID, +INVALID_STATUS, +INVALID_SUBDOMAIN, +INVALID_TARGET_OBJECT_NAME, +INVALID_TEXT_REPRESENTATION, +INVALID_TYPE, +INVALID_TYPE_FOR_OPERATION, +INVALID_TYPE_ON_FIELD_IN_RECORD, +INVALID_UNMERGE_RECORD, +INVALID_USERID, +INVALID_USER_OBJECT, +IP_RANGE_LIMIT_EXCEEDED, +ITEM_NOT_FOUND, +JIGSAW_IMPORT_LIMIT_EXCEEDED, +LICENSE_LIMIT_EXCEEDED, +LIGHT_PORTAL_USER_EXCEPTION, +LIMIT_EXCEEDED, +LIST_PRICE_NOT_FOUND, +MALFORMED_ID, +MANAGER_NOT_DEFINED, +MASSMAIL_RETRY_LIMIT_EXCEEDED, +MASS_MAIL_LIMIT_EXCEEDED, +MATCH_DEFINITION_ERROR, +MATCH_OPERATION_ERROR, +MATCH_OPERATION_INVALID_ENGINE_ERROR, +MATCH_OPERATION_INVALID_RULE_ERROR, +MATCH_OPERATION_MISSING_ENGINE_ERROR, +MATCH_OPERATION_MISSING_OBJECT_TYPE_ERROR, +MATCH_OPERATION_MISSING_OPTIONS_ERROR, +MATCH_OPERATION_MISSING_RULE_ERROR, +MATCH_OPERATION_UNKNOWN_RULE_ERROR, +MATCH_OPERATION_UNSUPPORTED_VERSION_ERROR, +MATCH_PRECONDITION_FAILED, +MATCH_PRECONDITION_REQUIRED, +MATCH_RUNTIME_ERROR, +MATCH_SERVICE_ERROR, +MATCH_SERVICE_TIMED_OUT, +MATCH_SERVICE_UNAVAILABLE_ERROR, +MAXIMUM_CCEMAILS_EXCEEDED, +MAXIMUM_DASHBOARD_COMPONENTS_EXCEEDED, +MAXIMUM_HIERARCHY_CHILDREN_REACHED, +MAXIMUM_HIERARCHY_LEVELS_REACHED, +MAXIMUM_HIERARCHY_TREE_SIZE_REACHED, +MAXIMUM_SIZE_OF_ATTACHMENT, +MAXIMUM_SIZE_OF_DOCUMENT, +MAX_ACTIONS_PER_RULE_EXCEEDED, +MAX_ACTIVE_RULES_EXCEEDED, +MAX_APPROVAL_STEPS_EXCEEDED, +MAX_DEPTH_IN_FLOW_EXECUTION, +MAX_FORMULAS_PER_RULE_EXCEEDED, +MAX_LIMIT_EXCEEDED, +MAX_RULES_EXCEEDED, +MAX_RULE_ENTRIES_EXCEEDED, +MAX_TASK_DESCRIPTION_EXCEEEDED, +MAX_TM_RULES_EXCEEDED, +MAX_TM_RULE_ITEMS_EXCEEDED, +MAX_TRIGGERS_EXCEEDED, +MERGE_FAILED, +METADATA_FIELD_UPDATE_ERROR, +METHOD_NOT_ALLOWED, +MISMATCHING_TYPES, +MISSING_ARGUMENT, +MISSING_OMNI_PROCESS_ID, +MISSING_RECEIVEDDOCUMENTID_ATTACHMENT, +MISSING_RECORD, +MIXED_DML_OPERATION, +MODEL_NOT_ACTIVE, +MULTIPLE_CONTENT_FOUND, +MULTIPLE_VOUCHERS, +NONUNIQUE_SHIPPING_ADDRESS, +NOT_FOUND, +NOT_RECOVERABLE_SEARCH_PROVIDER_ERROR, +NO_ACCESS_TOKEN, +NO_ACCESS_TOKEN_FROM_REFRESH, +NO_APPLICABLE_PROCESS, +NO_ATTACHMENT_PERMISSION, +NO_AUTH_PROVIDER, +NO_BUSINESS_HOURS_FOUND, +NO_INACTIVE_DIVISION_MEMBERS, +NO_MASS_MAIL_PERMISSION, +NO_MESSAGE_TYPE_MESSAGES, +NO_PARTNER_PERMISSION, +NO_REFRESH_TOKEN, +NO_SEARCH_ATTRIBUTES, +NO_SINGLE_MAIL_PERMISSION, +NO_SORT_PRICEBOOK_ASSOCIATED_ERROR, +NO_SUCH_USER_EXISTS, +NO_TOKEN_ENDPOINT, +NUMBER_OUTSIDE_VALID_RANGE, +NUM_HISTORY_FIELDS_BY_SOBJECT_EXCEEDED, +OCR_INVALID_REQUEST, +OPERATION_ENQUEUED, +OPERATION_WITH_CALLBACK_ENQUEUED, +OPTED_OUT_OF_MASS_MAIL, +OP_WITH_INVALID_USER_TYPE_EXCEPTION, +ORCHESTRATION_INVALID, +ORDER_MANAGEMENT_ACTION_NOT_ALLOWED, +ORDER_MANAGEMENT_INVALID_RECORD, +ORDER_MANAGEMENT_RECORD_EXISTS, +ORDER_MANAGEMENT_RECORD_NOT_FOUND, +ORG_SETTING_REQUIRED, +PACKAGE_DISABLED, +PACKAGE_LICENSE_REQUIRED, +PACKAGING_API_INSTALL_FAILED, +PACKAGING_API_UNINSTALL_FAILED, +PALI_INVALID_ACTION_ID, +PALI_INVALID_ACTION_NAME, +PALI_INVALID_ACTION_TYPE, +PAL_INVALID_ASSISTANT_RECOMMENDATION_TYPE_ID, +PAL_INVALID_ENTITY_ID, +PAL_INVALID_FLEXIPAGE_ID, +PAL_INVALID_LAYOUT_ID, +PAL_INVALID_PARAMETERS, +PARAMETER_TOO_LARGE, +PARTICIPANT_RELATIONSHIP_EXISTS, +PAYLOAD_SIZE_EXCEEDED, +PA_API_EXCEPTION, +PA_AXIS_FAULT, +PA_INVALID_ID_EXCEPTION, +PA_NO_ACCESS_EXCEPTION, +PA_NO_DATA_FOUND_EXCEPTION, +PA_URI_SYNTAX_EXCEPTION, +PA_VISIBLE_ACTIONS_FILTER_ORDERING_EXCEPTION, +PENDING_COMMIT, +PICKLIST_INACTIVE_VALUES_EXCEEDED, +PLATFORM_EVENT_ENCRYPTION_ERROR, +PLATFORM_EVENT_PUBLISHING_UNAVAILABLE, +PLATFORM_EVENT_PUBLISH_FAILED, +PORTAL_NO_ACCESS, +PORTAL_USER_ALREADY_EXISTS_FOR_CONTACT, +PORTAL_USER_CREATION_RESTRICTED_WITH_ENCRYPTION, +PRICE_NOT_FOUND, +PRIVATE_CONTACT_ON_ASSET, +PROCESSING_HALTED, +PROGRAM_PROGRESS_NOT_ACTIVE, +QA_INVALID_CREATE_FEED_ITEM, +QA_INVALID_SUCCESS_MESSAGE, +QUERY_REFINEMENT_VALUE_LIMIT_EXCEEDED, +QUERY_TIMEOUT, +QUICK_ACTION_LIST_ITEM_NOT_ALLOWED, +QUICK_ACTION_LIST_NOT_ALLOWED, +RECORD_CREATION_FAILED, +RECORD_IN_USE_BY_WORKFLOW, +RECORD_MISSING_REQUIRED_FIELD, +RECORD_UPDATE_FAILED, +RECOVERABLE_SEARCH_PROVIDER_ERROR, +REFRESH_FAILED, +RELATED_ENTITY_FILTER_VALIDATION_EXCEPTION, +REL_FIELD_BAD_ACCESSIBILITY, +REPUTATION_MINIMUM_NUMBER_NOT_REACHED, +REQUEST_RUNNING_TOO_LONG, +REQUIRED_FEATURE_MISSING, +REQUIRED_FIELD_MISSING, +REQUIRE_CONNECTED_APP_SCS, +REQUIRE_CONNECTED_APP_SESSION_SCS, +REQUIRE_RUNAS_USER, +RETRIEVE_EXCHANGE_ATTACHMENT_FAILED, +RETRIEVE_EXCHANGE_EMAIL_FAILED, +RETRIEVE_EXCHANGE_EVENT_FAILED, +RETRIEVE_GOOGLE_EMAIL_FAILED, +RETRIEVE_GOOGLE_EVENT_FAILED, +RETRIEVE_USER_CONFIG_ERROR, +ROUTES_EVALUATION_LIMIT_EXCEEDED, +SALESFORCE_INBOX_TRANSPORT_CONNECTION_ERROR, +SALESFORCE_INBOX_TRANSPORT_INVALID_INPUT_ERROR, +SALESFORCE_INBOX_TRANSPORT_TOKEN_ERROR, +SALESFORCE_INBOX_TRANSPORT_UNKNOWN_ERROR, +SCHEMA_OBJECT_NOT_FOUND, +SCREEN_POP_REQUIRED_INPUT_MISSING, +SEARCH_INCLUDE_RULES_MAX_RULE_DEFINITION_LIMIT_EXCEEDED, +SEARCH_INCLUDE_RULES_MIN_RULE_DEFINITION_NOT_MET, +SEARCH_PROVIDER_REQUEST_RATE_EXCEEDED, +SEGMENT_COUNT_LIMIT_EXCEEDED, +SELF_REFERENCE_FROM_FLOW, +SELF_REFERENCE_FROM_TRIGGER, +SERVICE_UNAVAILABLE, +SESSION_EXPIRED, +SESSION_INVALIDATED, +SHARE_NEEDED_FOR_CHILD_OWNER, +SINGLE_EMAIL_LIMIT_EXCEEDED, +SLACK_API_ERROR, +SOCIAL_ACCOUNT_NOT_FOUND, +SOCIAL_ACTION_INVALID, +SOCIAL_PERSONA_NOT_FOUND, +SOCIAL_POST_INVALID, +SOCIAL_POST_NOT_FOUND, +SPECIFICATION_GENERATION_EXCEPTION, +STANDARD_PRICE_NOT_DEFINED, +STORAGE_LIMIT_EXCEEDED, +STRING_TOO_LONG, +SUBDOMAIN_IN_USE, +TABSET_LIMIT_EXCEEDED, +TEMPLATE_NOT_ACTIVE, +TEMPLATE_NOT_FOUND, +TERMS_OF_SERVICE_UNREAD, +TERRITORY_REALIGN_IN_PROGRESS, +TEXT_DATA_OUTSIDE_SUPPORTED_CHARSET, +TEXT_TO_PICKLIST_VALUES_EXCEEDED, +TOO_MANY_APEX_REQUESTS, +TOO_MANY_ENUM_VALUE, +TOO_MANY_JOBS, +TOO_MANY_POSSIBLE_USERS_EXIST, +TRANSFER_REQUIRES_READ, +TXN_SECURITY_NO_ACCESS, +UISF_ENTITY_QUERY_FAILED, +UISF_NO_MAPPINGS_FOUND, +UISF_TOKEN_NOT_FOUND, +UISF_UNKNOWN_EXCEPTION, +UISF_USER_MAPPING_FAILED, +UNABLE_TO_LOCK_ROW, +UNAUTHORIZED_SEARCH_PROVIDER_REQUEST, +UNAVAILABLE_RECORDTYPE_EXCEPTION, +UNAVAILABLE_REF, +UNDEFINED_MAPPING_DEFINITION, +UNDELETE_FAILED, +UNKNOWN_EXCEPTION, +UNKNOWN_TOKEN_ERROR, +UNPROCESSABLE_REQUEST, +UNQUALIFIED_CART, +UNSAFE_HTML_CONTENT, +UNSPECIFIED_EMAIL_ADDRESS, +UNSUPPORTED_APEX_TRIGGER_OPERATON, +UNSUPPORTED_MODE, +UNSUPPORTED_PAYMENT_GATEWAY_TYPE, +UNSUPPORTED_PAYMENT_REQUEST_TYPE, +UNSUPPORTED_SITE, +UNSUPPORTED_SITE_FILE_IMPORTED_EXCEPTION, +UNSUPPORTED_SOCIAL_PROVIDER, +UNVERIFIED_SENDER_ADDRESS, +UPDATE_GOOGLE_EMAIL_LABEL_FAILED, +USER_OWNS_PORTAL_ACCOUNT_EXCEPTION, +USER_WITHOUT_WEM_PERMISSION, +USER_WITH_APEX_SHARES_EXCEPTION, +VARIANT_NOT_FOUND, +VF_COMPILE_ERROR, +VOICE_CAPACITY_ERROR, +WEBLINK_SIZE_LIMIT_EXCEEDED, +WEBLINK_URL_INVALID, +WEM_SEGMENTS_CAN_NOT_HAVE_NON_ACTIVE_SEGMENT_TYPE, +WEM_SHIFT_SEGMENT_TIME_IS_OUTSIDE_OF_THE_SHIFT_DURATION, +WEM_USER_NOT_ORG_ADMIN, +WORKSPACE_NOT_FOUND, +WRONG_CONTROLLER_TYPE, +XCLEAN_DJ_MATCH_IGNORABLE_ERROR, +XCLEAN_DJ_MATCH_INTERNAL_DJ_ERROR, +XCLEAN_DJ_MATCH_NON_RETRIABLE_ERROR, +XCLEAN_DJ_MATCH_RETRIABLE_ERROR, +XCLEAN_DJ_MATCH_UNKNOWN_ERROR, +XCLEAN_UNEXPECTED_ERROR +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/StringException.cls b/.sfdx/tools/246/StandardApexLibrary/System/StringException.cls new file mode 100644 index 0000000..d93686a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/StringException.cls @@ -0,0 +1,15 @@ +global class StringException extends Exception { + global StringException(String param0, Exception param1) { } + global StringException(Exception param0) { } + global StringException(String param0) { } + global StringException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/StubProvider.cls b/.sfdx/tools/246/StandardApexLibrary/System/StubProvider.cls new file mode 100644 index 0000000..40e6f82 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/StubProvider.cls @@ -0,0 +1,4 @@ +global interface StubProvider { + Object handleMethodCall(Object param0, String param1, System.Type param2, List param3, List param4, List param5); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/SupportPredictiveService.cls b/.sfdx/tools/246/StandardApexLibrary/System/SupportPredictiveService.cls new file mode 100644 index 0000000..f97de60 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/SupportPredictiveService.cls @@ -0,0 +1,6 @@ +global class SupportPredictiveService { + global SupportPredictiveService() { } + global Object clone() { } + global static List findSimilarCases(String caseId) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/System.cls b/.sfdx/tools/246/StandardApexLibrary/System/System.cls new file mode 100644 index 0000000..27472cc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/System.cls @@ -0,0 +1,148 @@ +/** + * Contains methods for system operations, such as writing debug messages and scheduling jobs. + */ +global class System { + /** + * Stops the specified job. The stopped job is still visible in the job queue in the Salesforce user interface. + */ + global static void abortJob(String jobId) { } + /** + * Asserts that the specified condition is true. If it is not, a fatal error is returned that causes code execution to halt. + */ + global static void assert(Boolean condition, Object msg) { } + /** + * Asserts that the specified condition is true. If it is not, a fatal error is returned that causes code execution to halt. + */ + global static void assert(Boolean condition) { } + /** + * Asserts that the first two arguments are the same. If they are not, a fatal error is returned that causes code execution to halt. + */ + global static void assertEquals(Object expected, Object actual, Object msg) { } + /** + * Asserts that the first two arguments are the same. If they are not, a fatal error is returned that causes code execution to halt. + */ + global static void assertEquals(Object expected, Object actual) { } + /** + * Asserts that the first two arguments are different. If they are the same, a fatal error is returned that causes code execution to halt. + */ + global static void assertNotEquals(Object expected, Object actual, Object msg) { } + /** + * Asserts that the first two arguments are different. If they are the same, a fatal error is returned that causes code execution to halt. + */ + global static void assertNotEquals(Object expected, Object actual) { } + global static void attachFinalizer(Object finalizer) { } + global static void changeOwnPassword(String oldPassword, String newPassword) { } + /** + * Returns a reference to the current page. This is used with Visualforce pages. + */ + global static System.PageReference currentPageReference() { } + /** + * Returns the current time in milliseconds, which is expressed as the difference between the current time and midnight, January 1, 1970 UTC. + */ + global static Long currentTimeMillis() { } + /** + * Writes the specified message, in string format, to the execution debug log with the specified log level. + */ + global static void debug(Object logLevel, Object o) { } + /** + * Writes the specified message, in string format, to the execution debug log. The `DEBUG` log level is used. + */ + global static void debug(Object o) { } + /** + * Adds a job to the Apex job queue that corresponds to the specified queueable class and returns the job ID. + */ + global static Id enqueueJob(Object queueable) { } + /** + * Returns `true` if both arguments are equal. Otherwise, returns `false`. + */ + global static Boolean equals(Object left, Object right) { } + /** + * Returns the read write mode set for an organization during Salesforce.com upgrades and downtimes. + */ + global static System.ApplicationReadWriteMode getApplicationReadWriteMode() { } + global static String getQuiddityShortCode(Object Quiddity) { } + /** + * Returns the hash code of the specified object. + */ + global static Integer hashCode(Object obj) { } + /** + * Returns `true` if a batch Apex job invoked the executing code, or `false` if not. In API version 35.0 and earlier, also returns `true` if a queueable Apex job invoked the code. + */ + global static Boolean isBatch() { } + global static Boolean isFunctionCallback() { } + /** + * Returns `true` if the currently executing code is invoked by code contained in a method annotated with future; `false` otherwise. + */ + global static Boolean isFuture() { } + /** + * Returns `true` if a queueable Apex job invoked the executing code. Returns `false` if not, including if a batch Apex job or a future method invoked the code. + */ + global static Boolean isQueueable() { } + global static Boolean isRunningElasticCompute() { } + /** + * Returns `true` if the currently executing code is invoked by a scheduled Apex job; `false` otherwise. + */ + global static Boolean isScheduled() { } + /** + * Moves the specified user’s password to a different user. + */ + global static void movePassword(Id targetUserId, Id sourceUserId) { } + /** + * Returns the current date and time in the GMT time zone. + */ + global static Datetime now() { } + global static void pragmaFailInCompiler(Boolean failInOld, Boolean failInNew) { } + /** + * Processes the list of work item IDs. + */ + global static List process(List workitemIds, String action, String commments, String nextApprover) { } + /** + * Deletes asynchronous Apex job records for jobs that have finished execution before the specified date with a Completed, Aborted, or Failed status, and returns the number of records deleted. + */ + global static Integer purgeOldAsyncJobs(Date date) { } + /** + * Returns a two-part version that contains the major and minor version numbers of a package. + */ + global static System.Version requestVersion() { } + /** + * Resets the password for the specified user. + */ + global static System.ResetPasswordResult resetPassword(Id userId, Boolean sendUserEmail) { } + /** + * Resets the user's password and sends an email to the user with their new password. You specify the email template that is sent to the specified user. Use this method for external users of communities. + */ + global static System.ResetPasswordResult resetPasswordWithEmailTemplate(Id userId, Boolean sendUserEmail, String emailTemplateName) { } + /** + * Changes the current user to the specified user. + */ + global static void runAs(SObject user, Object block) { } + /** + * Changes the current package version to the package version specified in the argument. + */ + global static void runAs(Package.Version version) { } + /** + * Use `schedule` with an Apex class that implements the Schedulable interface to schedule the class to run at the time specified by a Cron expression. + */ + global static String schedule(String jobName, String cronExp, Object schedulable) { } + /** + * Schedules a batch job to run once in the future after the specified the time interval, with the specified job name and scope size. Returns the scheduled job ID (CronTrigger ID). + */ + global static String scheduleBatch(Object batchable, String jobName, Integer minutesFromNow, Integer scopeSize) { } + /** + * Schedules a batch job to run once in the future after the specified time interval and with the specified job name. + */ + global static String scheduleBatch(Object batchable, String jobName, Integer minutesFromNow) { } + /** + * Sets the password for the specified user. + */ + global static void setPassword(Id userId, String password) { } + /** + * Submits the processed approvals. The current user is the submitter and the entry criteria is evaluated for all processes applicable to the current user. + */ + global static List submit(List ids, String commments, String nextApprover) { } + /** + * Returns the current date in the current user's time zone. + */ + global static Date today() { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Test.cls b/.sfdx/tools/246/StandardApexLibrary/System/Test.cls new file mode 100644 index 0000000..77910fa --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Test.cls @@ -0,0 +1,35 @@ +global class Test { + global Test() { } + global static void calculatePermissionSetGroup(List psgIds) { } + global static void calculatePermissionSetGroup(String psgId) { } + global static void clearApexPageMessages() { } + global Object clone() { } + global static Object createStub(System.Type parentType, System.StubProvider stubProvider) { } + global static void enableChangeDataCapture() { } + global static List enqueueBatchJobs(Integer n) { } + global static eventbus.TestBroker getEventBus() { } + global static List getFlexQueueOrder() { } + global static Id getStandardPricebookId() { } + global static Object invokeContinuationMethod(Object controller, System.Continuation continuation) { } + global static Component.apex.page invokePage(System.PageReference p) { } + global static Boolean isRunningTest() { } + global static List loadData(Schema.SObjectType sobjectType, String staticResourceName) { } + global static QuickAction.SendEmailQuickActionDefaults newSendEmailQuickActionDefaults(Id contextId, Id replyToId) { } + global static void setContinuationResponse(String label, System.HttpResponse response) { } + global static void setCreatedDate(Id id, Datetime dt) { } + global static void setCurrentPage(Object pageReference) { } + global static void setCurrentPageReference(Object pageReference) { } + global static void setFixedSearchResults(List searchResultsIds) { } + global static void setMock(System.Type interfaceType, Object mock) { } + global static void setReadOnlyApplicationMode(Boolean readOnlyApplicationMode) { } + global static void startTest() { } + global static void stopTest() { } + global static void testInstall(System.InstallHandler script, System.Version version, Boolean isPush, Boolean isRunAsInstallUser) { } + global static void testInstall(System.InstallHandler script, System.Version version, Boolean isPush) { } + global static void testInstall(System.InstallHandler script, System.Version version) { } + global static void testSandboxPostCopyScript(System.SandboxPostCopy script, Id organizationId, Id sandboxId, String sandboxName, Boolean isRunAsAutoProcUser) { } + global static void testSandboxPostCopyScript(System.SandboxPostCopy script, Id organizationId, Id sandboxId, String sandboxName) { } + global static void testUninstall(System.UninstallHandler script, Boolean isRunAsInstallUser) { } + global static void testUninstall(System.UninstallHandler script) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Time.cls b/.sfdx/tools/246/StandardApexLibrary/System/Time.cls new file mode 100644 index 0000000..fb817d5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Time.cls @@ -0,0 +1,4 @@ +global class Time { + global static Time newInstance(Integer hour, Integer minute, Integer second, Integer millisecond) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/TimeZone.cls b/.sfdx/tools/246/StandardApexLibrary/System/TimeZone.cls new file mode 100644 index 0000000..ded0b2b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/TimeZone.cls @@ -0,0 +1,9 @@ +global class TimeZone { + global Object clone() { } + global String getDisplayName() { } + global String getID() { } + global Integer getOffset(Datetime dt) { } + global static System.TimeZone getTimeZone(String id) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/TouchHandledException.cls b/.sfdx/tools/246/StandardApexLibrary/System/TouchHandledException.cls new file mode 100644 index 0000000..c77fd55 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/TouchHandledException.cls @@ -0,0 +1,12 @@ +global class TouchHandledException extends Exception { + global TouchHandledException(String param0) { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/TrailblazerIdentity.cls b/.sfdx/tools/246/StandardApexLibrary/System/TrailblazerIdentity.cls new file mode 100644 index 0000000..3674bc7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/TrailblazerIdentity.cls @@ -0,0 +1,8 @@ +global class TrailblazerIdentity { + global TrailblazerIdentity() { } + global Object clone() { } + global static String generateUserEmailVerificationToken(String orgId, String userId, String email) { } + global static List getUserOrgInfo(List emailList) { } + global static void splunkLog(String source, String message) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/TriggerOperation.cls b/.sfdx/tools/246/StandardApexLibrary/System/TriggerOperation.cls new file mode 100644 index 0000000..dfaef6a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/TriggerOperation.cls @@ -0,0 +1,9 @@ +global enum TriggerOperation { +AFTER_DELETE, +AFTER_INSERT, +AFTER_UNDELETE, +AFTER_UPDATE, +BEFORE_DELETE, +BEFORE_INSERT, +BEFORE_UPDATE +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Type.cls b/.sfdx/tools/246/StandardApexLibrary/System/Type.cls new file mode 100644 index 0000000..f720c82 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Type.cls @@ -0,0 +1,12 @@ +global class Type { + global Object clone() { } + global Boolean equals(Object o) { } + global static System.Type forName(String namespace, String clsName) { } + global static System.Type forName(String clsName) { } + global String getName() { } + global Integer hashCode() { } + global Boolean isAssignableFrom(System.Type comparableType) { } + global Object newInstance() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/TypeException.cls b/.sfdx/tools/246/StandardApexLibrary/System/TypeException.cls new file mode 100644 index 0000000..b5c88fa --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/TypeException.cls @@ -0,0 +1,15 @@ +global class TypeException extends Exception { + global TypeException(String param0, Exception param1) { } + global TypeException(Exception param0) { } + global TypeException(String param0) { } + global TypeException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/UnexpectedException.cls b/.sfdx/tools/246/StandardApexLibrary/System/UnexpectedException.cls new file mode 100644 index 0000000..d8f2d19 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/UnexpectedException.cls @@ -0,0 +1,15 @@ +global class UnexpectedException extends Exception { + global UnexpectedException(String param0, Exception param1) { } + global UnexpectedException(Exception param0) { } + global UnexpectedException(String param0) { } + global UnexpectedException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/UnsupportedOperationException.cls b/.sfdx/tools/246/StandardApexLibrary/System/UnsupportedOperationException.cls new file mode 100644 index 0000000..a0a69e7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/UnsupportedOperationException.cls @@ -0,0 +1,9 @@ +global class UnsupportedOperationException extends Exception { + global UnsupportedOperationException(String param0, Exception param1) { } + global UnsupportedOperationException(Exception param0) { } + global UnsupportedOperationException(String param0) { } + global UnsupportedOperationException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Url.cls b/.sfdx/tools/246/StandardApexLibrary/System/Url.cls new file mode 100644 index 0000000..4c655be --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Url.cls @@ -0,0 +1,25 @@ +global class Url { + global Url(String protocol, String host, Integer port, String file) { } + global Url(String protocol, String host, String file) { } + global Url(System.Url context, String spec) { } + global Url(String spec) { } + global Object clone() { } + global String getAuthority() { } + global static System.Url getCurrentRequestUrl() { } + global Integer getDefaultPort() { } + global String getFile() { } + global static String getFileFieldURL(String objectId, String fieldName) { } + global String getHost() { } + global static System.Url getOrgDomainUrl() { } + global String getPath() { } + global Integer getPort() { } + global String getProtocol() { } + global String getQuery() { } + global String getRef() { } + global static System.Url getSalesforceBaseUrl() { } + global String getUserInfo() { } + global Boolean sameFile(System.Url other) { } + global String toExternalForm() { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/UserInfo.cls b/.sfdx/tools/246/StandardApexLibrary/System/UserInfo.cls new file mode 100644 index 0000000..00f7e86 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/UserInfo.cls @@ -0,0 +1,27 @@ +global class UserInfo { + global UserInfo() { } + global Object clone() { } + global static String getDefaultCurrency() { } + global static String getFirstName() { } + global static String getLanguage() { } + global static String getLastName() { } + global static String getLocale() { } + global static String getName() { } + global static String getOrganizationId() { } + global static String getOrganizationName() { } + global static String getProfileId() { } + global static String getSessionId() { } + global static System.TimeZone getTimeZone() { } + global static String getUiTheme() { } + global static String getUiThemeDisplayed() { } + global static String getUserEmail() { } + global static String getUserId() { } + global static String getUserName() { } + global static String getUserRoleId() { } + global static String getUserType() { } + global static Boolean hasPackageLicense(Id packageId) { } + global static Boolean isCurrentUserLicensed(String namespacePrefix) { } + global static Boolean isCurrentUserLicensedForPackage(Id packageId) { } + global static Boolean isMultiCurrencyOrganization() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/UserManagement.cls b/.sfdx/tools/246/StandardApexLibrary/System/UserManagement.cls new file mode 100644 index 0000000..a57ebc6 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/UserManagement.cls @@ -0,0 +1,20 @@ +global class UserManagement { + global UserManagement() { } + global Object clone() { } + global static void deregisterVerificationMethod(Id userId, Auth.VerificationMethod method) { } + global static String formatPhoneNumber(String countryCode, String phoneNumber) { } + global static String initPasswordlessLogin(Id userId, Auth.VerificationMethod method) { } + global static String initRegisterVerificationMethod(Auth.VerificationMethod method) { } + global static String initSelfRegistration(Auth.VerificationMethod method, User u) { } + global static String initVerificationMethod(Auth.VerificationMethod method, String actionName, Map extras) { } + global static String initVerificationMethod(Auth.VerificationMethod method) { } + global static void obfuscateUser(Id userId, String username) { } + global static void obfuscateUser(Id userId) { } + global static System.PageReference registerVerificationMethod(Auth.VerificationMethod method, String startUrl) { } + global static Boolean sendAsyncEmailConfirmation(String userId, String emailTemplateId, String networkId, String startUrl) { } + global static Auth.VerificationResult verifyPasswordlessLogin(Id userId, Auth.VerificationMethod method, String identifier, String code, String startUrl) { } + global static String verifyRegisterVerificationMethod(String code, Auth.VerificationMethod method) { } + global static Auth.VerificationResult verifySelfRegistration(Auth.VerificationMethod method, String identifier, String code, String startUrl) { } + global static Auth.VerificationResult verifyVerificationMethod(String identifier, String code, Auth.VerificationMethod method) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/Version.cls b/.sfdx/tools/246/StandardApexLibrary/System/Version.cls new file mode 100644 index 0000000..4a256d5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/Version.cls @@ -0,0 +1,9 @@ +global class Version { + global Version(Integer major, Integer minor, Integer patch) { } + global Version(Integer major, Integer minor) { } + global Integer compareTo(System.Version other) { } + global Integer major() { } + global Integer minor() { } + global Integer patch() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/VisualforceException.cls b/.sfdx/tools/246/StandardApexLibrary/System/VisualforceException.cls new file mode 100644 index 0000000..47e8394 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/VisualforceException.cls @@ -0,0 +1,15 @@ +global class VisualforceException extends Exception { + global VisualforceException(String param0, Exception param1) { } + global VisualforceException(Exception param0) { } + global VisualforceException(String param0) { } + global VisualforceException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/WaveTemplateException.cls b/.sfdx/tools/246/StandardApexLibrary/System/WaveTemplateException.cls new file mode 100644 index 0000000..e6a0c3b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/WaveTemplateException.cls @@ -0,0 +1,15 @@ +global class WaveTemplateException extends Exception { + global WaveTemplateException(String param0, Exception param1) { } + global WaveTemplateException(Exception param0) { } + global WaveTemplateException(String param0) { } + global WaveTemplateException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/WebServiceCallout.cls b/.sfdx/tools/246/StandardApexLibrary/System/WebServiceCallout.cls new file mode 100644 index 0000000..cbae6b8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/WebServiceCallout.cls @@ -0,0 +1,6 @@ +global class Webservicecallout { + global static Object beginInvoke(Object stub, Object request, Object returnType, Object continuation, List info) { } + global static Object endInvoke(Object future) { } + global static void invoke(Object stub, Object request, Map response, List info) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/WebServiceCalloutFuture.cls b/.sfdx/tools/246/StandardApexLibrary/System/WebServiceCalloutFuture.cls new file mode 100644 index 0000000..f6c11a7 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/WebServiceCalloutFuture.cls @@ -0,0 +1,5 @@ +global class WebServiceCalloutFuture { + global WebServiceCalloutFuture() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/WebServiceMock.cls b/.sfdx/tools/246/StandardApexLibrary/System/WebServiceMock.cls new file mode 100644 index 0000000..2c692d5 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/WebServiceMock.cls @@ -0,0 +1,4 @@ +global interface WebServiceMock { + void doInvoke(Object param0, Object param1, Map param2, String param3, String param4, String param5, String param6, String param7, String param8); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/WebStoreContext.cls b/.sfdx/tools/246/StandardApexLibrary/System/WebStoreContext.cls new file mode 100644 index 0000000..a82e19a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/WebStoreContext.cls @@ -0,0 +1,6 @@ +global class WebStoreContext { + global WebStoreContext() { } + global Object clone() { } + global static Map getCommerceContext() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/XmlException.cls b/.sfdx/tools/246/StandardApexLibrary/System/XmlException.cls new file mode 100644 index 0000000..1b689e1 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/XmlException.cls @@ -0,0 +1,15 @@ +global class XmlException extends Exception { + global XmlException(String param0, Exception param1) { } + global XmlException(Exception param0) { } + global XmlException(String param0) { } + global XmlException() { } + global Exception getCause() { } + global Map> getInaccessibleFields() { } + global Integer getLineNumber() { } + global String getMessage() { } + global String getStackTraceString() { } + global String getTypeName() { } + global void initCause(Exception cause) { } + global void setMessage(String message) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/System/XmlStreamReader.cls b/.sfdx/tools/246/StandardApexLibrary/System/XmlStreamReader.cls new file mode 100644 index 0000000..41cc05f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/XmlStreamReader.cls @@ -0,0 +1,36 @@ +global class XmlStreamReader { + global XmlStreamReader(String xml) { } + global Integer getAttributeCount() { } + global String getAttributeLocalName(Integer index) { } + global String getAttributeNamespace(Integer index) { } + global String getAttributePrefix(Integer index) { } + global String getAttributeType(Integer index) { } + global String getAttributeValue(String namespaceURI, String localName) { } + global String getAttributeValueAt(Integer index) { } + global System.XmlTag getEventType() { } + global String getLocalName() { } + global String getLocation() { } + global String getNamespace() { } + global Integer getNamespaceCount() { } + global String getNamespacePrefix(Integer index) { } + global String getNamespaceURI(String prefix) { } + global String getNamespaceURIAt(Integer index) { } + global String getPIData() { } + global String getPITarget() { } + global String getPrefix() { } + global String getText() { } + global String getVersion() { } + global Boolean hasName() { } + global Boolean hasNext() { } + global Boolean hasText() { } + global Boolean isCharacters() { } + global Boolean isEndElement() { } + global Boolean isStartElement() { } + global Boolean isWhitespace() { } + global Integer next() { } + global Integer nextTag() { } + global void setCoalescing(Boolean flag) { } + global void setNamespaceAware(Boolean flag) { } + global String toString() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/XmlStreamWriter.cls b/.sfdx/tools/246/StandardApexLibrary/System/XmlStreamWriter.cls new file mode 100644 index 0000000..e457f33 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/XmlStreamWriter.cls @@ -0,0 +1,19 @@ +global class XmlStreamWriter { + global XmlStreamWriter() { } + global void close() { } + global String getXmlString() { } + global void setDefaultNamespace(String uri) { } + global void writeAttribute(String prefix, String namespaceURI, String localName, String value) { } + global void writeCData(String data) { } + global void writeCharacters(String text) { } + global void writeComment(String data) { } + global void writeDefaultNamespace(String namesapceURI) { } + global void writeEmptyElement(String prefix, String localName, String namesapceURI) { } + global void writeEndDocument() { } + global void writeEndElement() { } + global void writeNamespace(String prefix, String namesapceURI) { } + global void writeProcessingInstruction(String target, String data) { } + global void writeStartDocument(String encoding, String version) { } + global void writeStartElement(String prefix, String localName, String namesapceURI) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/XmlTag.cls b/.sfdx/tools/246/StandardApexLibrary/System/XmlTag.cls new file mode 100644 index 0000000..8c2f061 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/XmlTag.cls @@ -0,0 +1,17 @@ +global enum XmlTag { +ATTRIBUTE, +CDATA, +CHARACTERS, +COMMENT, +DTD, +END_DOCUMENT, +END_ELEMENT, +ENTITY_DECLARATION, +ENTITY_REFERENCE, +NAMESPACE, +NOTATION_DECLARATION, +PROCESSING_INSTRUCTION, +SPACE, +START_DOCUMENT, +START_ELEMENT +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/System/YubiAuthForAloha.cls b/.sfdx/tools/246/StandardApexLibrary/System/YubiAuthForAloha.cls new file mode 100644 index 0000000..ff4d592 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/System/YubiAuthForAloha.cls @@ -0,0 +1,6 @@ +global class YubiAuthForAloha { + global YubiAuthForAloha() { } + global Object clone() { } + global static Boolean validateYubiKeyLogin(String username, String password) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/TerritoryMgmt/OpportunityTerritory2AssignmentFilter.cls b/.sfdx/tools/246/StandardApexLibrary/TerritoryMgmt/OpportunityTerritory2AssignmentFilter.cls new file mode 100644 index 0000000..c30eb1a --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/TerritoryMgmt/OpportunityTerritory2AssignmentFilter.cls @@ -0,0 +1,4 @@ +global interface OpportunityTerritory2AssignmentFilter { + Map getOpportunityTerritory2Assignments(List param0); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/TxnSecurity/Event.cls b/.sfdx/tools/246/StandardApexLibrary/TxnSecurity/Event.cls new file mode 100644 index 0000000..1321d0d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/TxnSecurity/Event.cls @@ -0,0 +1,13 @@ +global class Event { + global String action; + global Map data; + global String entityId; + global String entityName; + global String organizationId; + global String resourceType; + global Datetime timeStamp; + global String userId; + global Event(String organizationId, String userId, String entityName, String action, String resourceType, String entityId, Datetime timeStamp, Map data) { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/TxnSecurity/EventCondition.cls b/.sfdx/tools/246/StandardApexLibrary/TxnSecurity/EventCondition.cls new file mode 100644 index 0000000..a2ce6ef --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/TxnSecurity/EventCondition.cls @@ -0,0 +1,4 @@ +global interface EventCondition { + Boolean evaluate(SObject param0); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/TxnSecurity/PolicyCondition.cls b/.sfdx/tools/246/StandardApexLibrary/TxnSecurity/PolicyCondition.cls new file mode 100644 index 0000000..6a8233c --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/TxnSecurity/PolicyCondition.cls @@ -0,0 +1,4 @@ +global interface PolicyCondition { + Boolean evaluate(TxnSecurity.Event param0); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/CollectingBatchable.cls b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/CollectingBatchable.cls new file mode 100644 index 0000000..9b06ef3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/CollectingBatchable.cls @@ -0,0 +1,22 @@ +global class CollectingBatchable { + global String nextReconOffset; + global String reconOffset; + global String status; + global CollectingBatchable(String reconOffset, String uprId, String connectedAppId) { } + global Object clone() { } + global void execute(Database.BatchableContext BC, List scope) { } + global void finish(Database.BatchableContext BC) { } + global Map flowInputPreprocessing(Map myMap) { } + global void flowPostProcessing(UserProvisioning.ProvisioningProcessHandlerOutput provOutput, SObject thisUPR) { } + global String getEventPrefix() { } + global String getFlowName() { } + global String getFlowNamespace() { } + global List getPerBatchUPL() { } + global List getPerBatchUPR() { } + global Map getUprToNewUplMap() { } + global Boolean hasFlow() { } + global Boolean hasFlowOrApex() { } + global void postBatchProcessing() { } + global Database.QueryLocator start(Database.BatchableContext BC) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/CommittingBatchable.cls b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/CommittingBatchable.cls new file mode 100644 index 0000000..0894444 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/CommittingBatchable.cls @@ -0,0 +1,8 @@ +global class CommittingBatchable { + global CommittingBatchable(String uprId) { } + global Object clone() { } + global void execute(Database.BatchableContext BC, List scope) { } + global void finish(Database.BatchableContext BC) { } + global Database.QueryLocator start(Database.BatchableContext BC) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/ConnectorTestUtil.cls b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/ConnectorTestUtil.cls new file mode 100644 index 0000000..66677d8 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/ConnectorTestUtil.cls @@ -0,0 +1,6 @@ +global class ConnectorTestUtil { + global ConnectorTestUtil() { } + global Object clone() { } + global static ConnectedApplication createConnectedApp(String connectedAppName) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/DeletingBatchable.cls b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/DeletingBatchable.cls new file mode 100644 index 0000000..0b0cf67 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/DeletingBatchable.cls @@ -0,0 +1,8 @@ +global class DeletingBatchable { + global DeletingBatchable(String uprId) { } + global Object clone() { } + global void execute(Database.BatchableContext BC, List scope) { } + global void finish(Database.BatchableContext BC) { } + global Database.QueryLocator start(Database.BatchableContext BC) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/DummyConnectorApexHandler.cls b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/DummyConnectorApexHandler.cls new file mode 100644 index 0000000..52b2176 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/DummyConnectorApexHandler.cls @@ -0,0 +1,6 @@ +global class DummyConnectorApexHandler { + global DummyConnectorApexHandler() { } + global Object clone() { } + global UserProvisioning.ProvisioningProcessHandlerOutput invoke(UserProvisioning.ProvisioningProcessHandlerInput input) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/FlowProvisionBase.cls b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/FlowProvisionBase.cls new file mode 100644 index 0000000..2e634c9 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/FlowProvisionBase.cls @@ -0,0 +1,9 @@ +global class FlowProvisionBase { + global FlowProvisionBase(String uprId) { } + global Object clone() { } + global String getFlowName() { } + global String getFlowNamespace() { } + global Boolean hasFlow() { } + global Boolean hasFlowOrApex() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/LinkingBatchable.cls b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/LinkingBatchable.cls new file mode 100644 index 0000000..8a2ad96 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/LinkingBatchable.cls @@ -0,0 +1,12 @@ +global class LinkingBatchable { + global LinkingBatchable(String uprId) { } + global Object clone() { } + global void execute(Database.BatchableContext BC, List scope) { } + global void finish(Database.BatchableContext BC) { } + global String getFlowName() { } + global String getFlowNamespace() { } + global Boolean hasFlow() { } + global Boolean hasFlowOrApex() { } + global Database.QueryLocator start(Database.BatchableContext BC) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/PluginBatchable.cls b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/PluginBatchable.cls new file mode 100644 index 0000000..798285f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/PluginBatchable.cls @@ -0,0 +1,18 @@ +global class PluginBatchable { + global PluginBatchable(List newRows) { } + global Object clone() { } + global void execute(Database.BatchableContext BC, List scope) { } + global Map flowInputPreprocessing(Map param0) { } + global void flowPostProcessing(UserProvisioning.ProvisioningProcessHandlerOutput param0, SObject param1) { } + global String getEventPrefix() { } + global String getFlowName() { } + global String getFlowNamespace() { } + global List getPerBatchUPL() { } + global List getPerBatchUPR() { } + global Map getUprToNewUplMap() { } + global Boolean hasFlow() { } + global Boolean hasFlowOrApex() { } + global void postBatchProcessing() { } + global Database.QueryLocator start(Database.BatchableContext BC) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/ProvisioningBatchable.cls b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/ProvisioningBatchable.cls new file mode 100644 index 0000000..572b470 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/ProvisioningBatchable.cls @@ -0,0 +1,19 @@ +global class ProvisioningBatchable { + global ProvisioningBatchable(List newRows) { } + global Object clone() { } + global void execute(Database.BatchableContext BC, List scope) { } + global void finish(Database.BatchableContext BC) { } + global Map flowInputPreprocessing(Map myMap) { } + global void flowPostProcessing(UserProvisioning.ProvisioningProcessHandlerOutput provOutput, SObject thisUPR) { } + global String getEventPrefix() { } + global String getFlowName() { } + global String getFlowNamespace() { } + global List getPerBatchUPL() { } + global List getPerBatchUPR() { } + global Map getUprToNewUplMap() { } + global Boolean hasFlow() { } + global Boolean hasFlowOrApex() { } + global void postBatchProcessing() { } + global Database.QueryLocator start(Database.BatchableContext BC) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/ProvisioningProcessHandlerInput.cls b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/ProvisioningProcessHandlerInput.cls new file mode 100644 index 0000000..29b1240 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/ProvisioningProcessHandlerInput.cls @@ -0,0 +1,20 @@ +global class ProvisioningProcessHandlerInput { + global String namedCredDevName; + global String reconFilter; + global String reconOffset; + global String userId; + global String userProvisioningRequestId; + global ProvisioningProcessHandlerInput(String userProvisioningRequestId, String userId, String namedCredDevName, String reconFilter, String reconOffset) { } + global Object clone() { } + global String getNamedCredDevName() { } + global String getReconFilter() { } + global String getReconOffset() { } + global String getUserId() { } + global String getUserProvisioningRequestId() { } + global void setNamedCredDevName(String namedCredDevName) { } + global void setReconFilter(String reconFilter) { } + global void setReconOffset(String reconOffset) { } + global void setUserId(String userId) { } + global void setUserProvisioningRequestId(String userProvisioningRequestId) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/ProvisioningProcessHandlerOutput.cls b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/ProvisioningProcessHandlerOutput.cls new file mode 100644 index 0000000..36e722b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/ProvisioningProcessHandlerOutput.cls @@ -0,0 +1,36 @@ +global class ProvisioningProcessHandlerOutput { + global String UPAStatus; + global String details; + global String externalEmail; + global String externalFirstName; + global String externalLastName; + global String externalUserId; + global String externalUsername; + global String nextReconOffset; + global String reconState; + global String status; + global ProvisioningProcessHandlerOutput(String status, String details, String externalUserId, String externalUsername, String externalEmail, String externalFirstName, String externalLastName, String UPAStatus, String nextReconOffset) { } + global ProvisioningProcessHandlerOutput() { } + global Object clone() { } + global String getDetails() { } + global String getExternalEmail() { } + global String getExternalFirstName() { } + global String getExternalLastName() { } + global String getExternalUserId() { } + global String getExternalUsername() { } + global String getNextReconOffset() { } + global String getReconState() { } + global String getStatus() { } + global String getUPAStatus() { } + global void setDetails(String details) { } + global void setExternalEmail(String externalEmail) { } + global void setExternalFirstName(String externalFirstName) { } + global void setExternalLastName(String externalLastName) { } + global void setExternalUserId(String externalUserId) { } + global void setExternalUsername(String externalUsername) { } + global void setNextReconOffset(String nextReconOffset) { } + global void setReconState(String reconState) { } + global void setStatus(String status) { } + global void setUPAStatus(String UPAStatus) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/RequestingBatchable.cls b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/RequestingBatchable.cls new file mode 100644 index 0000000..39532f3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/RequestingBatchable.cls @@ -0,0 +1,8 @@ +global class RequestingBatchable { + global RequestingBatchable(List newRows) { } + global Object clone() { } + global void execute(Database.BatchableContext BC, List scope) { } + global void finish(Database.BatchableContext BC) { } + global Database.QueryLocator start(Database.BatchableContext BC) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/UPASCleaningBatchable.cls b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/UPASCleaningBatchable.cls new file mode 100644 index 0000000..5397368 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/UPASCleaningBatchable.cls @@ -0,0 +1,8 @@ +global class UPASCleaningBatchable { + global UPASCleaningBatchable(String uprId) { } + global Object clone() { } + global void execute(Database.BatchableContext BC, List scope) { } + global void finish(Database.BatchableContext BC) { } + global Database.QueryLocator start(Database.BatchableContext BC) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/UserProvisioningLog.cls b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/UserProvisioningLog.cls new file mode 100644 index 0000000..fe1bbda --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/UserProvisioningLog.cls @@ -0,0 +1,8 @@ +global class UserProvisioningLog { + global UserProvisioningLog() { } + global Object clone() { } + global static void log(String userProvisioningRequestId, String externalUserId, String externalUserName, String userId, String details) { } + global static void log(String userProvisioningRequestId, String status, String details) { } + global static void log(String userProvisioningRequestId, String details) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/UserProvisioningPlugin.cls b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/UserProvisioningPlugin.cls new file mode 100644 index 0000000..ccb943f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/UserProvisioningPlugin.cls @@ -0,0 +1,9 @@ +global class UserProvisioningPlugin { + global UserProvisioningPlugin() { } + global Process.PluginDescribeResult buildDescribeCall() { } + global Object clone() { } + global Process.PluginDescribeResult describe() { } + global String getPluginClassName() { } + global Process.PluginResult invoke(Process.PluginRequest param0) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/UserProvisioningProcessHandler.cls b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/UserProvisioningProcessHandler.cls new file mode 100644 index 0000000..2bfe64d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/UserProvisioning/UserProvisioningProcessHandler.cls @@ -0,0 +1,6 @@ +global class UserProvisioningProcessHandler { + global UserProvisioningProcessHandler() { } + global Object clone() { } + global UserProvisioning.ProvisioningProcessHandlerOutput invoke(UserProvisioning.ProvisioningProcessHandlerInput input) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/VisualEditor/DataRow.cls b/.sfdx/tools/246/StandardApexLibrary/VisualEditor/DataRow.cls new file mode 100644 index 0000000..0a8110d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/VisualEditor/DataRow.cls @@ -0,0 +1,10 @@ +global class DataRow { + global DataRow(String label, Object value, Boolean selected) { } + global DataRow(String label, Object value) { } + global Object clone() { } + global Integer compareTo(VisualEditor.DataRow o) { } + global String getLabel() { } + global Object getValue() { } + global Boolean isSelected() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/VisualEditor/DesignTimePageContext.cls b/.sfdx/tools/246/StandardApexLibrary/VisualEditor/DesignTimePageContext.cls new file mode 100644 index 0000000..514c027 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/VisualEditor/DesignTimePageContext.cls @@ -0,0 +1,7 @@ +global class DesignTimePageContext { + global String entityName; + global String pageType; + global DesignTimePageContext() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/VisualEditor/DynamicPickList.cls b/.sfdx/tools/246/StandardApexLibrary/VisualEditor/DynamicPickList.cls new file mode 100644 index 0000000..c85d71f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/VisualEditor/DynamicPickList.cls @@ -0,0 +1,9 @@ +global class DynamicPickList { + global DynamicPickList() { } + global Object clone() { } + global VisualEditor.DataRow getDefaultValue() { } + global String getLabel(Object attributeValue) { } + global VisualEditor.DynamicPickListRows getValues() { } + global Boolean isValid(Object attributeValue) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/VisualEditor/DynamicPickListRows.cls b/.sfdx/tools/246/StandardApexLibrary/VisualEditor/DynamicPickListRows.cls new file mode 100644 index 0000000..82049cb --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/VisualEditor/DynamicPickListRows.cls @@ -0,0 +1,15 @@ +global class DynamicPickListRows { + global DynamicPickListRows(List rows, Boolean containsAllRows) { } + global DynamicPickListRows(List rows) { } + global DynamicPickListRows() { } + global void addAllRows(List rows) { } + global void addRow(VisualEditor.DataRow row) { } + global Object clone() { } + global Boolean containsAllRows() { } + global VisualEditor.DataRow get(Integer i) { } + global List getDataRows() { } + global void setContainsAllRows(Boolean containsAllRows) { } + global Integer size() { } + global void sort() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Wave/Dags.cls b/.sfdx/tools/246/StandardApexLibrary/Wave/Dags.cls new file mode 100644 index 0000000..91382d3 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Wave/Dags.cls @@ -0,0 +1,7 @@ +global class Dags { + global Dags() { } + global Object clone() { } + global static void deleteDag(String id) { } + global static Map getDags(Wave.DagsSearchOptions options) { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Wave/DagsSearchOptions.cls b/.sfdx/tools/246/StandardApexLibrary/Wave/DagsSearchOptions.cls new file mode 100644 index 0000000..df01211 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Wave/DagsSearchOptions.cls @@ -0,0 +1,14 @@ +global class DagsSearchOptions { + global String filterGroup; + global String lastModifiedAfter; + global String lastModifiedBefore; + global String orderBy; + global String page; + global Integer pageSize; + global String q; + global String sortParam; + global List status; + global DagsSearchOptions() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Wave/InvalidParameterException.cls b/.sfdx/tools/246/StandardApexLibrary/Wave/InvalidParameterException.cls new file mode 100644 index 0000000..5d92451 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Wave/InvalidParameterException.cls @@ -0,0 +1,8 @@ +global class InvalidParameterException extends Exception { + global InvalidParameterException(String param0, Exception param1) { } + global InvalidParameterException(Exception param0) { } + global InvalidParameterException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Wave/Lenses.cls b/.sfdx/tools/246/StandardApexLibrary/Wave/Lenses.cls new file mode 100644 index 0000000..aae4adc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Wave/Lenses.cls @@ -0,0 +1,9 @@ +global class Lenses { + global Lenses() { } + global Object clone() { } + global static Map getLens(String lensIdOrApiName, String filterGroup) { } + global static Map getLens(String lensIdOrApiName) { } + global static Map getLenses(Wave.LensesSearchOptions options) { } + global static Map getLenses() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Wave/LensesSearchOptions.cls b/.sfdx/tools/246/StandardApexLibrary/Wave/LensesSearchOptions.cls new file mode 100644 index 0000000..2d4f93d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Wave/LensesSearchOptions.cls @@ -0,0 +1,12 @@ +global class LensesSearchOptions { + global String filterGroup; + global String folderId; + global String page; + global Integer pageSize; + global String q; + global String scope; + global String sortParam; + global LensesSearchOptions() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Wave/NodeType.cls b/.sfdx/tools/246/StandardApexLibrary/Wave/NodeType.cls new file mode 100644 index 0000000..8bd1efa --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Wave/NodeType.cls @@ -0,0 +1,3 @@ +global enum NodeType { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Wave/ProjectionNode.cls b/.sfdx/tools/246/StandardApexLibrary/Wave/ProjectionNode.cls new file mode 100644 index 0000000..30d6f59 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Wave/ProjectionNode.cls @@ -0,0 +1,12 @@ +global class ProjectionNode { + global Wave.ProjectionNode alias(String name) { } + global Wave.ProjectionNode avg() { } + global String build() { } + global Object clone() { } + global Wave.ProjectionNode count() { } + global Wave.ProjectionNode max() { } + global Wave.ProjectionNode min() { } + global Wave.ProjectionNode sum() { } + global Wave.ProjectionNode unique() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Wave/ProjectionType.cls b/.sfdx/tools/246/StandardApexLibrary/Wave/ProjectionType.cls new file mode 100644 index 0000000..3e11b9f --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Wave/ProjectionType.cls @@ -0,0 +1,3 @@ +global enum ProjectionType { + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Wave/QueryBuilder.cls b/.sfdx/tools/246/StandardApexLibrary/Wave/QueryBuilder.cls new file mode 100644 index 0000000..3c92c02 --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Wave/QueryBuilder.cls @@ -0,0 +1,11 @@ +global class QueryBuilder { + global QueryBuilder() { } + global Object clone() { } + global static Wave.QueryNode cogroup(List cogroupNodes, List> groups) { } + global static Wave.ProjectionNode count() { } + global static Wave.ProjectionNode get(String projection) { } + global static Wave.QueryNode load(String datasetId, String datasetVersionId) { } + global static Wave.QueryNode loadByDeveloperName(String fullyQualifiedName) { } + global static Wave.QueryNode union(List unionNodes) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/Wave/QueryBuilderValidationUtil.cls b/.sfdx/tools/246/StandardApexLibrary/Wave/QueryBuilderValidationUtil.cls new file mode 100644 index 0000000..9ca5d4e --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Wave/QueryBuilderValidationUtil.cls @@ -0,0 +1,5 @@ +global class QueryBuilderValidationUtil { + global QueryBuilderValidationUtil() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Wave/QueryNode.cls b/.sfdx/tools/246/StandardApexLibrary/Wave/QueryNode.cls new file mode 100644 index 0000000..21c7fae --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Wave/QueryNode.cls @@ -0,0 +1,13 @@ +global class QueryNode { + global String build(String streamName) { } + global Wave.QueryNode cap(Integer cap) { } + global Object clone() { } + global ConnectApi.LiteralJson execute(String streamName) { } + global Wave.QueryNode filter(List filterConditions) { } + global Wave.QueryNode filter(String filterCondition) { } + global Wave.QueryNode foreach(List projections) { } + global Wave.QueryNode group(List groups) { } + global Wave.QueryNode group() { } + global Wave.QueryNode order(List> orders) { } + +} diff --git a/.sfdx/tools/246/StandardApexLibrary/Wave/Templates.cls b/.sfdx/tools/246/StandardApexLibrary/Wave/Templates.cls new file mode 100644 index 0000000..40dccdc --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Wave/Templates.cls @@ -0,0 +1,13 @@ +global class Templates { + global Templates() { } + global Object clone() { } + global static Map getSObject(String apiName) { } + global static List> getSObjects() { } + global static Map getTemplate(String templateIdOrApiName, String filterGroup, String options) { } + global static Map getTemplate(String templateIdOrApiName) { } + global static Map getTemplateConfig(String templateIdOrApiName, String filterGroup, Boolean disableApex, String options) { } + global static Map getTemplateConfig(String templateIdOrApiName) { } + global static Map getTemplates(Wave.TemplatesSearchOptions options) { } + global static Map getTemplates() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Wave/TemplatesSearchOptions.cls b/.sfdx/tools/246/StandardApexLibrary/Wave/TemplatesSearchOptions.cls new file mode 100644 index 0000000..ff17a0b --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Wave/TemplatesSearchOptions.cls @@ -0,0 +1,8 @@ +global class TemplatesSearchOptions { + global String filterGroup; + global String options; + global String type; + global TemplatesSearchOptions() { } + global Object clone() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Wave/TrendedDatasetProcessor.cls b/.sfdx/tools/246/StandardApexLibrary/Wave/TrendedDatasetProcessor.cls new file mode 100644 index 0000000..3719f9d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Wave/TrendedDatasetProcessor.cls @@ -0,0 +1,6 @@ +global interface TrendedDatasetProcessor { + String getDescription(); + String getLabel(); + void processTrendedDataset(Id param0, Id param1); + +} \ No newline at end of file diff --git a/.sfdx/tools/246/StandardApexLibrary/Wave/WaveQueryException.cls b/.sfdx/tools/246/StandardApexLibrary/Wave/WaveQueryException.cls new file mode 100644 index 0000000..c23ff3d --- /dev/null +++ b/.sfdx/tools/246/StandardApexLibrary/Wave/WaveQueryException.cls @@ -0,0 +1,8 @@ +global class WaveQueryException extends Exception { + global WaveQueryException(String param0, Exception param1) { } + global WaveQueryException(Exception param0) { } + global WaveQueryException() { } + global Object clone() { } + global String getTypeName() { } + +} \ No newline at end of file diff --git a/.sfdx/tools/246/apex.db b/.sfdx/tools/246/apex.db new file mode 100644 index 0000000000000000000000000000000000000000..e364c0f1d84ca6ae7bceb4396a68efa8ec3af735 GIT binary patch literal 10153984 zcmeFa349$@^}v7gvaik7rsz%8cg{qLBno!&N8%eI-SQ?{C_#am3(!p)}Ym`$c?$y>%e-eSzl zD~)-j$C!-+rtAxI%zrCXeemA@R@VQ=_x~jDKMDL#0{@f1|0M9rj)gEpy^ubz8di<}5dA=Nq&q_t9&!V)mT&t8`m4_0p_t+q35m zy3PBI$+DD9$^P0?_U{X_^6WXKr|UL0xjxIyRq>Se4wRi5+ zyM9fayCnjH{oFk{(3lOUa0lfG+Eh!get|nFKQiXc1;%Va3jdyH%!`+>y+ua6w=j5* z)M>HB;E5nIj-6vnPQ5YN#iN;Na3kw{_sG^Y?qppLYkTEEu%ETmu(lUyL+#byu&xcP z>jKt=#QwcxG&5v&j>`R?ZC$J9^|W@xdscLHx5bfu`@9vcJ-zdyd-5%+`W5Y+tyqwN+Qr)ok65s5nce@bRN^us09mO(>~gy`u^U{& zKvIEyOQ)@)t23@ggZ+4Gx83hI=Kc2=bI5#Smi)|^!)F+C)tkk_t)l4j8TsWB1vk;voVt>cH3&(u&ySBeD;l@3eNW z#4hys0Q>)nuUpg6-qzmR)7#n`U(G7w>*8&Fz47IN-kygZ(JJ;5`KHm79F%1W@QJdM z`Yjdr8JnM^OUv)kr=JmT(YXU45oBYJgLE_$o-m`f1nqINl zr1{i8JpT;sHJ91vf<#$?>;}6v*^RD|w61qYvd`?PcBt|$vf2^cS^9kY%%1J|%)~w= z&i-eKiwXgQ(6RaZ73LvkXCD|I$w{au>`QKCWT(ErhH@ltWG@5BR07$D+pWny(lwIg z_%?EMOG(n#fS5$~B0E&&h^1s74^p2Dk>k;0kfYjz7cYm}hsra1SLRy@o=Lq~Y4T^R zHQ5DUH~EJ!<4P&#zq_pi{t3M?m@SH!2Nh840YEiE`P zXdY92u5In;vlVvI`sMgLN3{32M3Yh)2A#bbvBz6&-6|xU< zjYvF{xc(OMJ7|4xysc}wIxXi74yfFow?lMYxzNHUvbRWILQZ3qn=cn^BM0dzUD%0i zLp}oeO1yuQ5%42?jv&VYPC_Gsk{z?LgltxoqtQGfw-S0Mqr;mxTkP%>wgTB7v|CPg zz`m7FPN_YVxL%n8jcL;7=i8iW*=KAf`BwZzWCH4V(bKkWuIJYVDw1jZH~=p>UUdOmoH!3-QC5Yq~l>6D`TC@F&~LzBHIQ>Hs?bD{gL(ItW^Dve4Mia zTqVOJ`Z#S2`Uv@)VA;vJ(rtU}*5q8_8WFo!JML*e+gagYzcD35o7q1$S@U)wgYQ8m zr(&4(q{%CNJs`0Cwle>RpEBm9Vw3f56&HP%o4lqSO#W$ECcodUY`EEDEb_|JP1f{N zxGFf;#D4h$lRxu}QUi@A@e?lCo~t7XL_JYlrI3s}IWUj5+t(ZMM_1$^LS{if@N&=p(*+u1sqW|A5Z3AepCpZxj1UmdU;dn<&Z(NT%D`_!3Ze_Tbfn!I9MVz%{_? z)?T6Q*+ZqBOZ}bsb6#_E=e*$>$?IFy+Ouk*76(c3PV&+lHjmWHZH@LerQ*$3#l7}i ztmst^ke7094Cd2BFFU^drOr#vdNdBA_grFOuGYPN9L!}k%3mgVR`o9T|IKW^12~ND z0^rpY(I!_ZpHI!lVg5{o?~Ag! z+!{MD&)I(N9Qt;UzK9%VvM>CN`o5@q7b1}R{&0?5&HK{1w;toeU%%*St6t|Ey+RHR z-A`v11Ck4Kcd{e{AIn`p-$Ln&tmA!-ZYKH^K9chDP(RT1iabvRMW)i;-ST8|k9Up8 zdeiB9_;ns`NvYjpueqfD+|#5lvd)vnuukPCT$h~(I%?0lK736;Wi0Cpj4$_Cdw`Q2 zu%G1DD#!ND-V@|fmg6$tmT*5oBAie3dXAe<{QL!XPVUDNCwub^FSkBBB(V3~^Pqjc z^hM$cZ61ILT<8GHepO4&cIX*Ix zr|9wR?ykPh<-zQ__2iak59GRPDmTc}xeo;+e7W_rsOOFO9ucmLcG-2Ncs zNmVCow5yPnlyf&qSQj1=+tBWVoG0rR-Uj46AonV}wS(Ni!Q1GhUNz;MK(@&x66d0W zTp~;EW#IMTUEnj^0b}kws-iryY2HELnc$@XQM>izPaMyyXQc2U{`UiSW?rppMB>1( z@|IZzRNm0aYXBRi$Cq~=cNDB0W$=AcC^u@EyuA?FO^}s2<_UcuZx_3b$}MI74C|ah zjVB^0fgrc!?E^Wo^$@=C+l={s0U|MrdFU+f6rl>8a6QHJ;&-|pVsh>w_6(C3B)EwD zhsI&cKUx-0{+TWB7;u^NB=~j0N$k&;qZ}W=z(%@nmsEcw$xr6T>a-@NnRhh!;nC5z zBW1Kay<+uIc$JKG>mffB65k7Nm!1Uw!FobDa=$BYt&<~Ta&-Md#TdMiO z>lXYg_->*=Vi1t`Gw>2=rM*s3I~5BT$a~oNio~z`ZJ){ey=z45RQ;X%bHVcnvi~mo z?p&3xUzb_A++z=Goi6e6PvE1{7qROc7>J!gu({k$o@{2WuzTW2OLzQh#2@2jTx@eQW% zO;+<>K^plzZs`a2nDX9ceeX(NM1F6LL4K-FKYk*YSC*~s;rWT3<@WB9-gtLwuiT1N zu>9HM(qZ$4+7Wh`Kgr3Tc$YVz1L!Pwjfnh{=9S!;Pwp28>^Xljecbbpt}~ykp77(* z+KJ5PKSvPS4f6_UzRPF6X1j0lTU;ZFZ@xE5JfAdl9U)z8P(as$ZDtSXE{$hgBZ;o> zH$rzydqVh0cHzYnxks44gC*+e10Cca>hwWe&HkyIHeZsX0#hiklSF?&^`SKfG^ooB zbwU1N;1M#`x4ZmBW6(z^CwR+0&G9MnKT+rd`5&-bhE|EXi(U-;N;zb^{8fKIqBS<8C2t^(SD3+2Ozh0(0b>cQ0ofi2~K6nY;Q zB9V3UjeQ;RSXlBp^u8VbSBl=Xma1Uhiyil+7?*{i>v+4pC;VpGof66gSqLaS{5^k$ z-8cEWx<*9b;W*|N(Cc!s?W^s+DF_l)WSr*B@V=@$*Vm7WHTgH%WBI}Tsr=x^T!h{| z@*Hix#Ha^B+5yb|PtY1}JJ`>P_cyV_&NY=EzK!p2_A&WCy^rs9?l4)6&l>Y5V%qiu zng7LKnC$rzOziLl#{7AIV}A2BV;-c^{J|c^+{U6W{eF55Vu$d2@1ITfu6vs7Ilt%G z-s6q=-C4#wNiew=jo$ekW3J+^NjlKyN1hz+dxB`95q@_)i7WztqH(zzlqe+M_Ranv zeJ&%Wn{T}RGC$8UXE)1we~zqh+DCq3%-vKkceNVxC8FRBSM$AABDqCpj1g0|>}Ile z_?W4@8+pG1?|(T4I#tlP*_a=mVa#{$G+A}DQ-Q{_E#2|fyz z@4E2?GXp}tKWcsozt@&Sa#~{BZ{;fyQe-Mu$|7r#yWXh}Xl|#i$XUJ(FS*nhaqyk6 zs{^MRb3AMA+;QYdW1UDNiwM!q9d3b&uw|g2U{In(t&CCxfR*Ut}H2#<~u# z-rWdM>_@Pv8+ze7xGpVNJ#&x6-;>)zSrIQwt3^j z`$71t-aBVh;d6F;A#@Azu_1J}Ilf2zJ+}OoPoQwJn**AK&W}xD!qk%V>VGdMe(HU% zEpkisy@l$#kZVH$t@c<~;S_M1^!V~9takFqBz|hVSk=|neaLDF$VqlA$2W5w)4Dpo zsCB)I7rK6@Bjrifj~yx$?&KPgcrnzD|Csn47Hd-)jGEzSmha1b+5H1DvbAwa=Oqv3 za?PV-xc?< z__g5kD{_i_Pt3j_zcsF?9FTb~(NpQ-v$=sE7Ph6M>(jAz^^`qT?+=SzZ3OWu)<3-5 zPO#%tZsJpv0)=GnG008k@%+Hjjp!R47xohqZsHhMScOa6IfZ8@PIdxhKgoXWI(zJ? z30wU%bk3E&i2rK< zu0woin_EXQyog^36n@ZdncM;U`u#T6Bw1OqP~mKF5Abl1C{T!J`8E`gNViR_YZrS) zVt>BdAC-$VIPd)N8!v!Wy1e9T?6dobU@31ZA4z`ojvH=pkNd2{HzHhyrmBcSm^ z^mG)sRC*$MIn>e5#IM8n#5$Bd-dJ=J_#I0hzJ=bdvIqTe-S|Zj-l;YtGT6tSVTxK^ zBT1kBI_^poiWa#>L_R8y;vMZF&GY1g;{Cz*OJ7=fj88t2mjd|| zz~jXrH3Rdd^NW$>6Rsa0FTs}7->aZ|gU|(v|8BQT;(-0M^~V4Qk)HhSsqh}CTn;7* zTgHu^AF;3JK(<1y=t{N%MZdAzC_nui*a^h*#EK+?7v09atMmCKE8E?X+8$pI2EO;( zB)hWy!ps6{&(sJ-4}sJSur78femXvT5c+{V6hoUzq3B7aFZSTY0qGMMQT`#{L43h3 ziXI2W0~yZ;+E9($PcPL<5q(83(+6ZgA1hJ0NdDXi+Utx!F1wAA-q83f`+T2me}(Vl z?8mXt-ia^8_^jHy@Nl-B(G*ekyU9I!w{oEx7Ephe@%T$Ia+i7dKof$+tSq75`Eqm= zatZm8I6@9rzRGA%vJ_15WY>uJp{#ef_@;aZ6};A&Xs@^)Y!Gr0zNd_V?~&%0m+^^AL73WDSQYJ@F1aMzH8SdKXG>MtT=pYIpJ| zr+vJoV2Xnaw}?DOlDp-Xx^w{uB%SKpyC@m`jG@4yEtOqnHcM z;<)sVRvrx^J?IH2?`(_D(p?(sT_af@*vG=wz8>b%{PgMOnO2|rdyQhErEmX@ ztVHGF*TW)bKYplO8j;c7Z)QVw?{Bl=xPBpR-G@a|(5xP$|ASm~Um&rtd=xcll0c+1*Btvzw?VN?J3yi~{4 zuD$!@DeYYD00|Vo;y{i3wTtv9>=x1hI`x--jU?a^;yGY&LaH@$AM_9ZXq`#7An z+S&b2UEeFw_i-HD9`9K0PSWQpo=90lzDs6;v!rL-`V>Fg;N@HUI+g>hoOIqmPO`2#P;FY{^roJ8@6r1FbP(=FmXpd~ z=?4Bu{3}5x_I=6BoAA#P?uwMm1^1AZTF5{TWsD@xX+1`KE!o+TC^VwJ+xC_QOSp(cRIMjnDsp-Hj%5Kl0Hj8{fO14 zg0ly$A1!L_Z9Sa;vh$)NkBBNFdVF5;aq){S!FabGZz}KpgUja$8GOW@RuU>*r5MU_ z6M4|FlO)%TjK-n_OU_{4&~KcL%abz##k<+9Dc;L9lIn&eeevrr1@#l^@siJg8jHs5 zCu$E$AI^h&F(qW?GO7{QVdElxUvd?Az2!qbOTHPl)3@}!6nCYFd%=4kc`Zfw>jYaH zH#WA(0KSZDi_Z&R+@vq3Q2X?zi`Xj_nJ0JrPk<-)?Do5MYf5f+jfmVO4!)eKp0_6_ z>D$`*PoV#E@V5a;+P@3i>07oQl=!q{`HptkdOa{2d8HOkTe29tQ`o<6r#D9AMJ-jr zwR*|(mg|x~IqpmT5-h{HgT@t&ugGgr`-&BD`OUwkuAU@0*?9ASC8733v*c-TK>8y3 zdrbD3MDp5vIm-S>`AN>-#Cv<(t#fOyB^#js8n{J?#J<16T=I+5s=eTh4#6oatf&nxmyich7~xB^=5 zmO+mz_tI(7dW*0QoKaz`TjHX z{LoI^eV@`(taM6GbW$pFeMvpUZ80SkPnN{pHLv7Qu?D8BW*pHc;S)C*_(2(pXfp6kZ33?p0EnM7JMB0 z`IUF#c513#lHS9o-xpDLmr_e;ETxJs)j9w+N-qj{8S1Z6w*>KVsD7>eeaa41|D`S} z{Q~$!>5JIkXUAZFq5TkJN^f#}6VghraqN~}=Nb|F5k5!e`zkwB>muT1>9@ddOJ9WV zZ;XrYT4)ke^xkkeZLX{pN)t(csJy-3RfrwQ^M#dvAh>2d7Y})vgww9+C8ze47)4a zMf!ZZFKZdYdeolwYwv9D4N69x%BxeDyX+Y3Tk0%gRT=i6Q1*V;NY?$u zlJczV5RmG{<5ySX?a#L(My#Vl`p8^)BnOu*29HzvFYt*+3zjVaj~pf4P_Hu>g?f}W zF{kXqmVzm3b&aI;`}UDCZ7hpIlwDP`^8nbMc=)A7ke=m+wc0PU6FTBYyHg9@gs zOM01i0LvWie%b&hp?$eeyC)vD=Xb#S*mvOD;hqmeFO**$vs~%&XFl=h2sflu1FP&f zw~)XwX!Y4I-AqQ+BG(sXp94QHJ@1ix`XPmUv=(7ob}^`N!@u8Hc0Ro>$c-o;jqCXH zF@5cAXUdmrU7h-US}2ElsF9g;PGVolbMPQg@(H_*$l*U5>BOJSfsCjJi7Z3ElMkLL zl&2@;8zlKQMeelA-Bh`wC;z-A_jF3Qzff``_yG708Yl*5flI+pfmeaIlJC!Dy9F-A z2Al@u`-~%lRPC&wm zxHn&pvM+KRE?%n~ca@li?M*n)UHwUWFBuO^*vD=m=74>j=j}DE-SXwH?5ESe<==6m zHh#7-yWt|cxje?;fdBm*zr*QA=}ANpP`7dAzf@$K(4rTi#OTE3fD-ci@m0!tM_RqtbtxHNMsM- z;~(bFDT&O(gWAW-`o87hONE_vssrq}vA%aXAU02lC2m8Ae--TZaWmnsALA#~6{ZqD z%elLo_Xy82MSmzVW%Wg-==@hr$;aoKk~dB^<+(wW7=9U}KC1TNovn5(zpv?QYm4`w zw*k%f*pxuo?xM)!)s~z6HDu zyi-p!6B6Oy?x+4#dRrDAf9$b~k6MU@>i4iuao=clSLZw~A6K-moY&UZ-5u|2TR(51 zYlw0jxg>dnzuzLBPPo>dRzA&cC;W)MpGrF-2jXPJ|5vpyUmow&A$Gk(-?t?H!6q=_ z)o_jpzp;I0!tY!o$q$Cco3}dSXD#XEZM2x|RIly*D#4Wca+Y#h$0@qoyb)FO*MEdLEzU zWY2_t=i3pPth25nvQDlL1$0g*m$Pn#@_N^ZtaE@)5dbLKm;lFef4J7zpB0wxVMmzq|8tEb z`kUSFCB44~^6gHjT0ZP`{mB2*rhG74`7w?U>bLSk13nH*#fSK%_j@(#H>3R>XZiar zNwrb2*Ja@G(&w+E{7Bhno=p5-?RRYv@!~pSn)woA9DrXA$#KohX#2%=<#m zTcJblk37FWI+?2^8W*Q4=c?->luGiL8kTDs+D(f(+H-c~}ByXEMu z6aOeb->s8)P~K+8n(}_vNV2O`*9|&<`FcAIuIq zzs~VrLi;MqgDICHS%IMn>||(vmstY(yG@bPH^3XDFS4Gmjb%L$kw^qKEOg`j=PI@S z)b(K(x$nC55ibkZ$oxR=HoIl8x4v}o_XSRN^HqE(7|2kox9{4X;G3j!B47DE(wDIv zYF;gWfbkE4f97pG*O=JD2XI9;mn*YHcAoT~c0LLoS0E(nBmeP>p03t4^W>bPdB@F( z-K}fZ#Je3y)r&{o(mSqQzuczZv-@25Bf4umEu;N+H>~`%V7xEap>eDqP2gz~p~Q>D z^2@Q7awJ*)SU_O=Z6ozta$Ip7R5%98F_rRnWG7;`Z;n;J7387{VqyjMxKknj6UM6N z-DN5U#KMLJ)rUL}74KD@=sGrN-PG6H-Z5_>|IXUEytO-}9=-VL=@Bhd%yfFBmZ+HQ z7^s*Ma57Ynn_T|kC;Y?9vBC*ZH>|B<7T6?YeK}TeUoB%l5kGxrdBV;UtcHG1tx~bC zTUR-4t&=#fVzJyD}+HCA9uDr!S!Xu>8x+L^kuAfug=}Eo$;ak3ZcoGbd8m?KjOHk z=yi?cIPdH@__Gn=C*69j9M7<%bdDP4_&BJwLd2e_8Zus2xDJU6$W`ayK1{_$!8)!^ zwGPee62a|@>bc*b_q^qPx7_QlISqW8t23_3W_&9ku>H0p$PfD#(6td~DyRi2Zjzpa zympa2Z-2hqAHc4MyRT>UBlL+gO1~D`-vGa_^dx^%fe2Py1Abe2nP()rpEIN!I|*XiXf?H|crRnL{!XC?8ea)u7dt~ig!Hi}He zvmdim(toO)-c&uiC+zLH`n=?WqtX%xmlGLm^m_)n94XfNS z7%xH;U|;#%5btSgT@zo%)2bcuWBR&yW@LChS2kEuI>%Jz;2uEbUef3DRXI=gnJ1I$ z;cy+)!j&hxb%+iQvU8fsMDebRaO=={&gg3Iv}cXL|NHD&!TYHykA(iw(wE?Otnt&! ztCfd9Pwlf(<_qE}aia2Y@Kl}8vrjp{Qtv9rIMy|cKY03{z$kLG>VjNQxl-r?l`hFb z%mJM$m)G=rMY+|xv^&0{eO=I>_IkSVG)@63ZSXafJ+%9zC!+7wvd>(Z=-c|)r=a&m z@T)@83|Cos#@l#`ddl&D7ebbl+K9h2)j5;&)^WXvhq<<^F#jDr!t{j6`_5RZ9xPyXw5CzBITt-FO-w` z;$?2mV%ov=fBEO_sZ8R4ef7h)cuuHyN#Y&6%Ae)`96LniGYeXmgIDNrFAi6I&Xd=C zJ7UCjg#1#w3FsVzj;d>Qmqx-3llblJI-={Wc=tkn66#J)(r-u~ngU9H3S_@y_f6HU zu8}N{-mc^2p7!YI3(b2S{i(F6rWC4vG7S9@`M2`F-I7q=iGNkU1n-l+NE{@VWo)0J ze1zx69sfksDk6zO)t_8rO!Be(bN@j=`EP>u-@vD&C&K@uy_WgB)`lWuVu6B7EU#oVp*;I3(XtJRNvy;hfxOFq;s)jK-A@!@LXk3uyHvEcJ9`Dmkk5A~9jon75=>%2*E z!SavI2&jIWq0Rl}>iNF5i0HT9m|C*W^s9}jA$nII z&GuW=m8(s~p~sjB7jHHdcYetfk^3udxt438UkR!A4l;<>3%DACJM}l}{^}DP7gdJ_ z>RNu8}0~EqpnlR^aAMjz?0n0?Ky_ zG;aoPk)DYBuOAoR)jtsWK=qw=3-KX#vL*OET3WupXNM}^b0Kv%c(3$D z`2Nwj_$KdGKZjkfw{ulLV7I0kBeF1*@3(u_bhP*CvB7?#*zG2-sLz-kAK_KSx%}Mq zMU%JUNxp#I-4vI6$yEICCR6gYEsoZEyh-D4_t|MwZac8P=fM}GFCw>rG008w-4?k| z$k#4Cj1TRWv@;RkQ#s;`)o)oIO!a2hNYcMA$JBXrgB_~tAlFq7G6%FhzIU-_s2nnm z8`VNTh#R@ke;4|i|NZX=s<+b1QGpTjfaF=v|LmxUoXDpF!FN#AFWY@HksxGYsJ(gg zeEm(ViqItEi##SFnFl+CHNed-Aokv zVmCsc+Gye;aGBB%}h8|~Rj_c%tM0%~4L@U2x?M)U$c zk2hxOJJ4ID{P=vHNN=m1c|<-#y|sJ19s~uVfx^T-*GSUa7G6%XCQaQr)c<8aV}GuI zkAz;3RK>CI^%-Hu_vebE=>4Q+GK2LJMxPKAD;|6QT|W$>|s-?BIPPiXDvi@TGPszx|D)Pi--g+^;b4Ue}1w7x`{#J^l3V_}X@! zT1uj8T{6!upuw8{JNPMd$;y6#o_wu>yN~Uu0K=lK?N!8#a>GADqQkkc(%wPTi%$82IKHLobO9)hK3xr>eD4lPGR7qQ zV~9Qv_2iVfK1Ck5j`B~PHHloWFzG|C5wXJv|MFb1Jt+j5HFPfI@&!#ADEOjUWET|ocKZ{4gVdMl=8nPB#9!E`lT!2}(GqyJsMt~z8ZM{cnr$IRCN<0YErFvEk);L#MyzWffo zko_DPWJSv^}wW`+e4}+;?ktwgMW}df1XMA$v$HhBQr`Hp$fk|n$Cw(W z7SYR=ap`4WXjVJ_$G&Td9lJFcj|HD^(aVP5KHEtCUxW1uDE~6gByh6y`25$DkBk5J zL6cmq_CA4jPzKbbyxy0*`fu*r91&j|@9bIC8*lGi)J{NfKXpygulh&LG~wB;L*}D4 ztIG0`ni>p z(3d*rO16}dHF##t@k(E!5D`1AHg$LQ*uPumendnVt2Y_t1j`a7->kx%HC z=P=t}nD{16!+B~}y3=dgQ;m~#5BL6QIqu(w(sfs<44qu}XAWwBnm!>Pv5(cBoHMVJ z4uIx`PPWwTHT{nL8Wv~)))d&Y&&`C-T^!WctLLP#@AZ~|+J($>G59&@i|~KmxcGlR zG_P~~SJA%8&S`4C>KYOKNt_A353=uyl`v`TG)eyQO_+f4FY|l@yg_;*{BuVkVdt64 z|3GNI?f55N*1RtCftt7M7UB-rxA}M{iGMrV!}8DP0yTHqt*QBuYedGW-`U?>$>Ah@ z>GAdP)^0o4n}--Ep!48^HNUd^rsmhKku=X%nJ3Nvql)~urF$=#u4`vYR{e1S^Zmq4 zvrEePYB#<~0g1^ZQhC)d>c)6QvX{^c4;av09v zE#FVup=w_zLi1JTP`69iQxG>rZXVx>DSdkm(`K@M?R?+z<~xx2-lgI>T>2t%+MGg8 zOt0q!TaAPJTtZ&~-R9#j!0UU<&PZv zzK_Be{u99a65%}PNwrmZKAU*IjJ;TKOdcEW>FaQ>6V!P<0!j9&@g#%yW~+V5QwNDW zUkd*V!DD3_|2nApWO~(V=^sg7VZNq15YX%CSy1?(-8Yj@bB&1qieJ6n-osZQkw>MH z;$}!6UImnXBlLqZU~-2&0J9F*SNpT{BaeCwLw}Jaqx74guXO-@lg~;;U*ym8&I>x$ ztZJ3{WZ%zkA>WHVy0anI@5oI~7)(mOq1)NFnpds2$@#<3r&beCz6k-7KWq2RWN{P) zpT6kx700)uzf4}F8l0Mb9f#OcbRO}~FS{X=2{RV_c|^Z&x_P__hFQmg2mzBT2s-q2JTi-oBLg(enoq9V}vy=Wlmm;ge4XJHhqfdEggJ_P#$dxqLg9cg2M! z@3D&lqVMf?nDs5OGwJ%~!qL5M=E=VdSn%a1df+`wM>!K1hOVn&mF^DEeITIwP%664 z?;PEPW`?2fB7xGEm`v_hnEbbN^wGP2?JuVdL;nb9Zgut9B-+n8vXfKhec?aV^Q=Sd zR^#2|rz|ba|HP-s$}hH>LazPgy{Xp{eI^Mx)@JJoIxssr|w?n~ZtzFw^&r{fnnQ$A&KSMzN96CXF( z%T}1|n=Ugs)Bn%peqxo$JG-5B!VrTA-n(s*{#AapZUWWMLY6iQY?4kt@77M2{S5UJ z%JC>@5+hYd)Rnc=6biMjpn`Y?a!hGwwZtm{T?cujminNU>oJe-aoL&D5A19Lw5hOa zHJrI&d|FON?^?~9Ii zEN}Y7mV%jniEAXu!_WK5-^Azbsk;6OxPWGDzw|}czitfc5A}u&YOis6+lh9-XYJ?g zS3~;;;IEXvFOS>l{h9P;B#&iwgvxpz6dtnsruGrnh{!|h0-mepb$dK!I-0tG zI8nRJ$s6yj4a$Mqr&7^Z`|IMBza6dXIiAM;{%nUT&&2H7e}Y;DyhrjD`hmPBLi<_p zb(vGI7sS4IwHySWBgPGz$Am7KUiC-~Q~N4!JZ2u~O0|>?=Ft0h@Fj4Q9EpN>s`Mnb z1GGjLzmI3GYNrRRaY~7!JcWY9f)Ev8&&s_!z8Y1?!PI(~l4}R59;o}Lu%;>GPC1_s zSs6Hm$ez&4XybPnzeq1rc5r+n^(o|jg(*$05wTCPpUsx<#k|TS4d2u3Q04njXc8Bv zVEaS(ZXOrkCqnZ$$Mh}`T$dPpks2r&?riiY{)-f~T*6{&oUhUSgC+#l= z>-bWtb%-BsER*yY()}Q`2ArHF0zDSceZn=8=)T?EzH*f{-6Xo2FQ+_g zhpHTEq4^B>ob*Nf^T~192iF`^HaotF(NoCD3R7NljU>LeDBt=(U>d$fOMvn{1)5vI zx1}e-_Z#El`@=lv%>5y?!S~V56Z*hZ490>Bi-YVbpFZFHJo&hXiM8W(JWU*HpKtQk z-E8uHu$w7AV2ddq{EI1k-zBEvSLB$NUNjXi*ISbB)n^*H39Eq0Z7NHt2OFeE&mX^E z34QUa$JrhU?HS-sO5gLVsc3BKZ0Tj*0facZ`sy?tV1E}vjW-qFQkc4*Yeeiw=)SDK zuQ_PF{KllUjVCXUTfauDEw|ptbq43l`~8=6wzkO|*W0;`Y5zJ;se8`{wc6?Q_bF7A zQ}z0vzKN7!7JR#q_f9>VijRf-5oJf>m(L#k)1is&>3u$AHR-|r1c zXI8I~bxIXH)s;x9C)!h4(^Sp-zW+=;#j}gd>q_WNJpTi@A%)J_GcX1Q#JAHWKPjCukgPi%Ks7k z+CQ})PW_~%rTkO9O}z}fTuE-^6Au!cdhxjU$I_>gGj)ywXp{RDrrz!v5jzt8UrX?R zP@GqGi>nOwo7gAMF|j{AWMZfM7<|-}Expy0eCbM4e8pb^LfdbfMt)b?8Fg*Pu(lt8 zKaswO{>kczxR$y7QvOc;qm$qJY5&@-a_a9~BO*VEH?ItlpBR8UH_bZkwuf~c$1=ww z;Gd;0vW^GFwGMn`D$!TxIFR<=?VM&R$=-r9<3aY+jyHPi=shbgf0>Yme^-Mj?PbvZ zH~6v;jqp!JF%CVfBD7+PI>!R&Z?;UEsoPv5q6e|#(eN+ldHK#KC2bLjZngfp>Sweo zWS_SYJ{?U4@6o36$2XhUHP`8o_w*y<^$$p1npS3+P+guRLqF`dkC?J~eoGTGRk2uM6Sx zFuQLip5+=zcKK#sXZQFB*-->Z0hXM0pN7{D zT;mHU{l(BfO?PQfa99wd7hq56Y_jwZYhBwq4Bgdsu+lvka&8@FnmYh72Lav9mhQry zwRRrAJ_-4CmaKFSf$my6kC{fYx8T!NzqfQ3x2mKk zyGDe6y>DmvKWTNxaB}bV=pGK;8v?pFr=lxzd9AP0QVuO~7`}Tv`dr&jyFH-)f9dGs zHFWe!8%v7q#+ZKpjN(09o;ng2He`k`eGL*IobrN0#V#6X2S5u?+jU5^}Y)a~;{~XZ3$l>GrF9WJkhar2|lobC9ZLVLQUV5Zl*Mw0wrOYk4o{d%7+c&bq5 zm;5|^k|m-1Lw7nQ$@IC>7vZ0}L)Skx{yzpy;#qKyV)`DA?df~FMiT$8C-`3&{KHUc z`A^^3l2F<+nCC$7An8l+yNf*|u|Hb*Tlolmw5as!pnU*H41)d(e8enH-M--3G>`Cn1Ni%0=x` zpLfpV6$j|HLdeqIX`3{F>HWIl!}lvXr?+z!9VLTl_m?7w>M|$7F3h&&1YE zpznfU@O!(}>!7snD;CZKR9*|<^g`CQOnOF?m(~&PcLj1^N(KR`^&)So63}_@s_9<> zuacgKzg_ChJ6d}U}`}X^v(ef{E*%DCxXF>9N;BC?~ zqMQashIf0bV59ZBAyy?lyMuRFQa z(|%D2(0JK3lI&&la(Tv*P`Pk?lk`RGeS;^b(b~J@vn~7&>MDtaj2A!jt_ytD zbv_Qu_U(;)oNrTey8l3uf6tMBo+&5#SDXQ!1O5EFM~ILw}Tj&ydAM>i~X%;H4$IlUR~V|o(oc)RO3z6_kqYm-r*x} z*^xKO$lFUMUIgL|6Y*?$tJ%cO{Q5B)q#~HKA9x(t0YaFaOW&1hso8YfO=uAOgQ_#lLT|m|*cdz9R@YGL&$YCnh zKJ_sWT}@<7(-wlvH|=C_IoJh$6hx2HE(hUr+ASbDn)VCuLGTF>{-$Bs)Bc0iO#*iY zkAY9dOC%Goo&F4RfNl-?{D1TRS`g#^;Qt2_7%@(2UJ}cY_^aRHP~X?!RWmLT_We4r z=0$q3N$nqf{5_9R*FpOx#^GKwzHBL&8DDjcNc`2f*SdVU{@<~Sn_k=-RDR`OhXnFI zAs^8E26%(?_;Gi}*WCEA)%Bl&CLXVR6NP5nCiHF>h#UC#&H4|=n*pxhUpsD!loBZketEQ~?8B_eo9j0`Es`_<+p!-sEwmAJ`EQeg;uw_pDH5+W^8qH2o<3yFoO_lVW__S|Gg8t_4g%T zr>)0l{L2#5{}&~r%y=7oSNbCM`vHUQ`rQLrylx^`BYg=w8|`{5y+bU$faf|gdfiD%FI*REsUrjG zIWlLl9b@XmEEI<7Z(I03v#I^1uFekBdpFEi2iJAGN}sQ%y18RmSI9TK3Mk*mt!{t2 zZ|dIf8WDYnoxR(7dXGDn#J3(_({)zb;~Wryfb~RUdp}?8Lgqfs@qta&&2}W}=D0=@ zAAVfcxXm3U_mZ<@zQTFyrj9{g)(-kD6|J|a(&|1BUQ3_94&i;hTL-zJ{A4)})UC8z zPIkb45}$US)9k4UTcV<>`-t@E`QG<%iT%v%S?HqyT?gW=TMd3p=~Fuf_g(7R>FtwV z<{g0N5$~s|9$9nU&2Ig~%)0X}1ygsSYb39KL_g@aLlZW78FZ;k-vfC_9C^+CU*bXQ zd*gCzOz5VIFVZjaS1+_&DIX)rC$t~pgub7g7+6PzP{&n=$d?cCMDc=)!BfF+vhN@R z`6F`yjqMVX?zH=+j!O*-&in@1v-c;KclGi3&am$X)cnHtriaJZi|?!5ZDOAvqFX7jnbS2J?JXb@8=p3dsMqx(;aVX z?~#WT2K!C+_jfQkJMLw2esR9Z-Ss;r|7;@11^1Y&+T%^^r++qC^{*Q9nW-kWiS2t0 zN%j}6Yl59i{e{?HkE|8y4{?p8bq(k5A>DFx^^kjhMDoaQ9J#vtQ_)>RXT3$KZlwa0 z>Zxu|5Ju`w1N*_-zh}0_sPN$mnvrZ|bjbjbwY{ z?=K`A8*loF591h4=BAC_@rtPtp5>spY$@%NOZk%b-(wtI4lvGaSg!(7!zNx>+ zH6n77e6&Ho2S2X6wY>vx`arz9%dc~|rmTP2$-RvBa{;~QQ_&Oq-okT&z4BzWlbe72 zV&y`V5l|lUpt%9uC_NE-VXX;0j8^WU9Jo^}p!L~t(0|+Ro0%-a0<0>qXY1hJuB9Ek zzjc}YuShwGcoMxAj8*G>;^$55haZtMwl5_4Te!X&qA`(Q@0(4f&A!6S+JGg0eX5s{ z?)OR57f_j<49%G!*&?c!nanm0y%5`H9_09*Mtf(W56pBbhPVSdbsqnIpT^Ij&mTyp z5>UQB0I9vfeWfSC=eYb>>Epk8-xmLxNw%G-`QN|aHgi{c$*Vf=NPZmZ5p~TZ=cyj2 z(_U&Rn3>1A#u(&5))vtFj|I>anVc#;zJJZcD-!a_$iL~CI zH6naVoOz4uDEX;H;;BsL59Kfg8lQA>pr$UK?Z_0*NkvcNh*Ty5y3Rtza}_`HEa}O3 zT_L?d&&0jrxzPKx(jyiH@p>kHKl7u~%RHmkv-s#0F6L27&itIEU}k>aH6rp7JAW5{ zb;oo)NpV!FG69XF`Ov%){Ic{!^nBSEGvy|B!l1i9L2RB$wid{m zgek=YNvir>I0tS1d8aMj-XZ6N;Q5Edh8G>r#OXTGhd|v|>^7>0e(pH`i-UNnTp!H( zr!kFqNF&j_WnC~}`)voUKRsw?&=_$F{J#XgB7G4#!&}Dws@Ku(dk6o$)3(0A!UXi* z5cS2(ZCtS==dm|a%$x4|91|CcV(GdS|FC+lGqIC?;pQT4HDFH)4MlXG2oijaOs;xX zzh2!Ms37C#;f24!^>zmDbFiQ9!h89i`y!Kn!30xze!eOC(Oi@F#rsXxvwt<_o&C6G ze!`T#dKf=c_yZBsNhlyOz3ry)Rzi2AIc8{s-+=t&K?r&n3-(+I@Ofp$N zyWf;KKi;4GZo0@~J*^JT%DC3JoW?MnpbhPn)I57A9fb~Lo5n$PNk_dK_E#PU(y2X~h`y6v~Y&DFMw>v!Q>Q?$Y?UYb42Sv%RmoNS}M>B=HH6#!p72 zr)*1B*Mw>s&Ue!^TOJOPBL8gc&Kc}CW;WIH z-bBj%@_7e8F>Ap$s0&^*=HyEPLfdbf*8i-Xe%;QjGTweHq7(&@Rb84Uam1 zCLJ_9;8xe*l4DeF;?MH`cOtjt!|2QMd!NTI;j@8A-|)EQm(ReSA08L~XsKa?5IgNe~)V&#N}DVJY^?-Be~)V zJEv*5$~7YExQ$M#EWw7uK_XZ~H`otirwv$21JZAR^M*}Ot_2r>*z+tZ`&oB_zv2pF zjU_&4*U6azy3YBWQ3`S`5MAdiB%ZOo{ShLpP;l*C;QiocW6pxsSu;WM|5+=+^JO;Z zhxSQTC@^c5-A+BgZq2NE*NDg^U7XPSy0dnG4*Hw5e=yX*~A}{FZhe;~E<~&fr%-^Ez5PSI)CE z8XMcv4S;&e0o{#_C|Ty)sGG!x>ch{gq5LTGW|1>zNtp-CI@E5>EX>Bj(6}tW%M9W& zFfDh?!4^i)6a;v^=i^NfcIU)&t2)%Amh+Oio=%JJfE1VCZ%5dcp2&iU!QfJ zi(7c_EOM8^tWN~X8mgB!tX^E{q-Tww7rb3S^|C8-;9avWlpa5B&HB_B^b)S41e#w1 zUA~?5MWGMO`jXv3+yVOuJH@`_R?7(d6R8B0|J@*Y4S1dOMEL*m82Gn#^?7)W@s5}) zpmiHQJL~6m-^{w#H6rqqc$ezFRk}DB>a7gge|B|sJ?-BI^ZX&zJmR;T+dJEP7q<5C z#-9=NMrIMv>kNrMe*qtpo`~Ma2^q%&<$ni}QLfM<5QyJU>+bNj?lRG{t`U)w@bBNB z3h7Y)%z6tFA7&Ue`mC1&IusQaocRv2r~G=)!Kob5KHn#IH3U?b?a(IU&DttG5jjv> zW-JF;kIx6YN;lYs*L&no^&bv5u99=uvgYD`X(|7yo{v=dG>U}+jZ+LTn}q%+}*8bF70xm4>ay%w-9&0 zzRG7C>3p?)Us>Xm;n(466@9)4F*WW9?k!^@>zF^Tbp+Rwk3;qp=(84u#zR~qvJTP1 zaNkp;^bgfPzST&6Qk`&Z+_*HDhoZuQFE6DN%4>N4Xk20msC}Z7Mp*}XA0j92GGy!@ zp}wi5rD)Ro2Qz6ev~!xq#jX*N6EP{MQ-k}Fjnt;XX=5vRHh497haGI|W;r6DGWrll zd%?BR6VZ3)xYj|uYvh_h*U>=xQ$inTJjZS!?%C}~`W}#&DXS4szKMU07lWUZo`k%q z<|6yptnLpm*NERQEB!2Zew8tkpnV~Dm5zUbPqARI@jUP{>1E!L=!SYFhBbcM$zvAn zZ&(VZ@dnozgFMizfaWdgv&Qd&w@Ob$k2iVp8Ld1*zVo5^wBx&x_K$@=&=_2J56gEy zcO;uZ>`}g5N@bHuZ99FaUHEy_+L7}Hl^gY7?1<>!_z3t9rSIF( zgY-Tjy`!+BFh5eC$ujBjz>XA4B;6kL<%|Cf8rqZe<R7eC1SXq1}nr0Idh+K#!FwG@a)f5r5S9)YcLFfn1WEg>;dD zfZCe){3UkZG+pW%sptlOD4j%C;-wd_5+uU;$cIhWvkr;3I~$XIO)#HJ#t6v)2a@Pp z`CehisDG0mn!X9%D18zC__`ZEw)lsK2&i1d=YzP`L|JFS=Tp}GI`?bb9ire3o=NHU#95ZFB;SFA7k!*%$R$ewFM;JtL>oG-`$p;+CVKlKM6{# zj_Qw!Lgg?v{gGp4W6y~g`l4Gy(@U-qk;_m&mVM8T9pBH`q009Zczy#Uih6to`jPRO z@NMNH^d)bJZ*UFX^crg*UOD=H9D=;|2iq6e!%794UIDktQN|5$!f<&_@_|@7m~%7Z z&IfM+(NGiI%r4`;^>RJ@v%E@qkXM@ z2Nb*GLE7k#?}TD^@VxotzXk-~yKPc@vU0;x1hlTBJ)3%AHaTDP%LkegoPEp~^sV=A zXU7@65=4F1##Z{t(%;dMBmEMr5KgtUeN9bKW)$FGmzuiW00fp@h;D22r&;lzs5&rU&TL! zN(K-g56XbqK?02WHS}J@E)Q<+?g^5gw?^mp7uu=xzQbwI{0gY)K4KT-AC*TYaWmA% z1ZaNW@h!e}lUv^G@3=;UZ++kO5WbJ@mR~@5+^5ygwU(r=r5B#C@Mb`7ZajmD^ z&Y}0aiAB6cz(Ny~S@7*EWxkq&jSA%K%Lg=O-w*y?dLn%OatwTGUP=5f>FKRK@tv2o zu8jx(N$S~C1#=F#n6LwHagl5zF#8F+WpW4Xr}2kB*;BRNo6OK>z~`hdvJR?KhMRh*YvLEXcFI{T~^t_`BI-soY-df&FptvBWe9x+7p+G zNpxRe5SkRszXoblAOfDet8I^7C$w-q0lXH&2%yUyseqoUtAUAQI$d$vi~RU^b;6u4@uU z4q!Z{C?+@oZqkx+Yvd*GtWVH=ith2|0{UEu&^#E*f$NRtJCK9K_4%~F9nk%5I=b6<&bGCqM-C_PYwi7;cBuNP z#IhfNciQv$#8L&DZ}se-nFTViOX6em@16cc9>1^@O!IxN5s|a_>#N*{J+AB6c!xd~ z+_S2EO*;O6Vo7MNCvoQw;6u_EiO0Vg7yn#8H9zb4mx%R*W4rk&*BA%?f3hUBz7a|P z6a1I-Mfm^w82A@Cdhsp6YG_Yf`8AWm)vxB!e#@PcL-?`a=SQLU#_HDYGY{_SUKH<$ z_u9Z=>*MAPc7W=EE6X{oWsYPsu2c93>}ZQUOZy=g*=jt>;61zp5O_)c_g+gk`>*!4 zc+*ML-nRtD;UipkJvkGL&~;Ae+~yVyOU{uwuD0+=K|4 zJ_eo-5S6Y^;EzExJ{y@x-P0@@hn{51=EdMD@Eq_G@XH|H*^GrZ zGe#sV)o^exW6p=*>Hh=pIWhITlMwXJq`xC?FTP&8HsjQH}i`8s`G(|8_O#hgA%Von$2 zJ|b;Dp3G^NeTZjrovQaQ=6oD_{UBBgUgt{{eZDIOZaY+8|66Ji~|dMc0de`oAkJcpc8^)AQ`QuA=8^#uK6D++dFcpPC!( zPX2>RJ2)a+&4Vwy=js-$iLX0|E6IhtpSH)IUj9QZZUITYDdj^+HG&5?-prC z^mnbS2mPgb{#)dh^u6vJMg*X7k9vF#xn6}e=QqKjq4t(k@9ZZJ)N$>>{QX>+6%zAo zEX<$tmdR>7)MVE`ZL()p(#D$S9TyOO@3(2!ul}X$b-L2}j%YdO4#&luKL_mi>(zW2 z)=P;~(#biTC&n)Tk%ZP|;>QoWu`L|1;LkHam&6)y&Ue7yfq#WUg*&z16ij^5l;+Pc z*>{|2axOj`eBR`A&NJEftT1^;{>9{c?&l`wl6~#@LqGGLHN}@-YRU_CfzFF2=d~Z3 z+}ECG+?^)pqFnEAK9ny>!y~_Js<$b#PZr96s;`~zZE@NJxTG-x@RkO}cPiHT} z&nBrymUZ>l<_a$yUP;WWXPSL`504*)jj;xD{Ev$ob!7{&MxkY)YeeQ7li%q);&&%GzhjP;10DI6 zV^YmCK&SJ&mK`{IAMjxCG<$MdxvJgCnF4BeT+g(80Mv3Mq95Yj*z8W%7Sgqap?ccp#p85(3GEC&(HI4-mX|HT7P3^!T4_ht(c$cD)XxpIFhZc^A~%Qd z|0&yNT3oS^!p^wP^WT^2KZh&pN&DPw@QZ8J#|-BBEJ)QnWF4Q8eduHy2Xs9m`s-N_ zIoRMcEuRe5L!n^7*N5=yJ+GQLMdtUe!v?KAeZd}ApFADf-vn=zzK9;aJ}&;nKS=G$ z{~oltqEKkj#4k;sfA#Yr`tbQqy$-ESaID9n*2Ww^1MgPSf!xW6k$tYXbbo-!hx=aF z%1P*>2en&bSqoP~Ex*(8a$U&^1zYX}e<{5zX(YNfPKmwZZ!J$b`49?Q9#sM~T$0I5 zK9=7HEe(CH5Pxg=JNOUji|7?;jl(X9VspuGs@J`se|x}pP~b%L`bUm(wtPP>Ueki* zwIJ0NIBof-8|iJFeYzvMjxx^N0&bJj5`3rAt9&mtj9!DO#PpP2u(k4&c>{gdGv_AO z3g^u0>-%+jIZOLT(znvRiE9O+D|VXIWXw(Y^V}*O@6o*p+nigXWJhU7-?)IY$p<%G zZuOBh2@1p`g}F14{J+4>>|(t3{|Y5eY~+1~?aO&XB5%NSFVD>Qy#>0ixixkw^^XPc z@d>bB`ZS-tduDvSJt6Ta^<4#fTdy(shn{Eh58usXl|Eqdcm12mfB*ILO-P)&T^cff z@hc{4hhLejopu0UH(B#O1YTmY_W0p;nKDAutGlr4;y>7fbHz)5xyOSiNz3Zf}{m-whgI5#d00fs6_Q{$_b&xh`(%kLV`bUy5RF6!3#_MzP> zQ%GmGGz9$lgq~MF*b|0Xr?t0L_B@UE%OU+y@Z(B)BcDvB6ZX0FWSn<(9YplG&Yuid zDRa4pVabx@E%@sY|4(rpoH#X|-0XTjWzW+%hvm<`0=!cCBKrUQxYk3SnR}&&pzj@wf5R;ueJ6* z!v%k2^aHyke&TVMilKPxTr_H+^ zfVBL?v)KL<{EyCb(7A)P*v}A|aH5(+OuCzIFAz^>(vn%X#%B%O)~%D;I2nRu#7EQL zOv+DruBSg8v(L1vtlx)Js|BVnT6+2mppXAl`+hi`IGnPxLc1W#xM}hq=B_XvP#jHr z3`VOv3^L`{bEocg&Yu0T#=G7-&itNAG7n;$+q;vn7<0N~H2Qe>TPzL7z24e1zn}Fy z$lmjW7gsZ% ze~<(M)89rUVdg%1xoT4O+*5v=mESb_=+E-96QNxV)*JoZ{0??F8ZS5+pCic5Z(6@_ z_2_NBU*=H83mJ^w;tOg0V(}zd*X*JXJKjY<^p3#B=CSa=6^}koHEH(M7U(Od@o()Q zE{^_;Z$~lZ4~af7`XaZ5xCi#L92efAOm6b~(M0aimy29K^{eQ|{mQr={c+Hi1H$>q z=!>Z(lMrOruWO|}^dT_6aRC%=&>qZ26LcdclF=SePSWC`?C_~%JuyA%!B_LJU48v8 zI_FvbX#AO13gR`DwW?UKc@x8B zEoWj4Z+q2U5enZDYN(Q4J`vpv63??z=twula z_hXKvcBB)sPyHqBWrU3>!wxksL8{S@I||Y0Cw(EUy*E**@qh%Gv34}Q{WgqOUwM$k zVVm*>BjeZI~3yp55M@GY#5@Xl59VU9jZ6349w}G)Wrp8f-#*jdHV#p?7&&KoK zZvIzd2UoIAQ9xf7AmM~VK%_3FhZcO&(;2{xlgq{HQSE%MrK!QVdHvCw0vpfoLekA( zt7>u{zve$O*CQI++FIM%Q}p&XwbyKIXy8kUq2D?}$Gr^o@TWfw#-J((PRmZuJ9ts( z{UFvI{J-STt-p(ge7`*!@&oQy-ZDKp^v_pDhm~C$4S9TMbl5L%j1If=ThU>6O^ylX zzwNwTE_}?@;Ag=vfZvXWf1@%QI)Q&PD8bM44o_nTVy zh-6!VPOz0e^Q!^LU_FWvJLWQXXbgT>Fy=ep_f+bt=ZV3jB>~ z(%NxHo^~ES=V1QA+K1hadBnF*5x}VRJb{(%iOR{!p ztjaS#rfbvM^xa3;E28RHPc|Cs8PXUJ9C70(cn;b8PB0%y=IzJ0m1~hJL{EaT zM7puVRSNZ`v5}iS>k7fxwjL}U?hyE&0-maxwD!C;)>978M?M1)d0uerHm*0jwsxwf!naf9DdGo=wScZt*v{VC zm3w==F^sqaF5+DRmKw`k^R8aUmHx@z=+}uhJYEkjQz@LMjb(La>>|}tzl%oqa^K3u zi4pg5#hGBeT{L*>kD@`3ZnttDKSqDIKFr6rhWONC`#JR+3)*>Sx}dgcGsa^59neU{ zYeta3>}XG5Ukf&OSbfs33@`4e*xeniFpMQjG8k(C+fMc!OWEYpbv$)uiMu)Sl+Nb5SMqhR=JJgm8aqO3j{%(HJob?o| z6l1m04)keWEGNftZsnVU0z1DqeJ1@jgvZSe_x(nB z><2x|v6c`Rv7q02_kX+Gwbs7b&>|X)-D4zTJ3cVG7X7$i=0KZFU>y6tU%K%tss8u< zrIy(F@wPAj>-udM*Tnr+4BuDbdz8`9k+|QU;K)9Xpv4&a>^JL&uPK)xR*b`UY8`IS zTcYS2FM1l|Mq(B30a@mXP5^as*6T`U7dD?Xa;A^q{(PVES^LLnP@`vCqpLv9H-lqD z(8lGyZT#uqI{tLZUg>mvveK*3MX#6Z8fGiEpDb@ABxH5Fg06bI!`wgJ!)%?34K!7!=uOC(9v;)^(VgR%^B&9wJ$`NfC2kG=3l+~;c=Hb zQYPmDcw7g5S#>ErACMn5`my~jg!Z-IjYeN`F2ky~*uIV-e4RH$MeRvzL85pSiTDWot)cyX^<-4V@-e!Drls zW^a|OP(rHUd#VfPlj9y|Kam3g3eb|t!Ou7%r$K@Iu|X(@>}tQ{Xl?1(l$u$D^ziWo z^o7x*Jl6CAow0xQ-8zE1`AAn^6dihhJsP5Nt1u%0m;u=M**YG^s4e`(FY1rD=c9@z5dfU#oot6b`MMg;^62buEk^Xu=-b$g$86a?{J|9@Lh z0al4q+hx{rU&T zyU1;R`ckqcH*g3$%uf`13clgVUA8rf4k-s^Ovi&d!N!a3M=xz^Z?E=$#;$tHA2*>S zcH;feF70>@>x_&xd$@TN4xZL(Vj^-Ho&R zH4CTr3{387=u=mS%_bm{+DmPpVFxLM1uq>?dl&+RBfZXwC}Widg>;I8%=Yy5+=SUr z;oBBZA?IXJcdExJYVR-FZ55zc%zR6MrR^)mb(3@u+kU0(xLtF zy1DexJzaD!FuIeVyVC7Pg{ys`3*G(Dt=ymy(N*t>yx5Gu=%V97atVXNZN893S9*Ld zMb}GBzwY2lJi$asb_UyGoaL9)MR}(G(QDirMk57Ow2MlHIFWI zSL86?U~R7OW-m8+UEy_(LR9!=Ur6h3Ykx2LaB_dvU21Z-L6aPy@LQ@&$vNJgk=oBz z?u0(x%;@9Y3%>^5V)S?Oi{}#-UJuG+0XgV{IZ@%SJ?#yYf9@zmg}?BHF8bK-^daMS z_7dC|cJkipE;V^Op!r+ycdAS4$2$Z4WUG(FuHPE)*a-cni?|C8K7yKXAW-lP24hx-E< zjRy_{{N6?jIK`gJ#0wve<_yNa$rsYD%k*nzx6+#682uaqJ!p)7yLLjm9nXl#c^oJ0 z^Kx1Hra|9(hG@LZ$RKQ=;?47$o0|E5Udu@1Q!?dG=%39R9ly9c`X=XQTO8BjUdG+2?sB6$6S}pY-1z0bkS4e2?ss&% z^+Sn1P7COwi}7n?y7fKLeR;DM(d=k1^7=f_-X8gTzZtd+`g4IB#PQ@ z_vFT3!(gQE220Pl#z+Y!dD0={>Y~9vJTn?PsXiJy>jTlyxnGT=CDwX3XU>tK~tcdMM%-y79V+SASZ@+L=@?-=L_^B8PwZG!IkzNYAX@geoGfPJI$BCm8bwbV-y zu6-@_dd5-EBY(3iJa=VObcrvdjsM+L#^aATQFMVjsYgD^^Tfw_+l{HR zExHoCS`}$}yVT2_&3nKJea2n9RyT32V^VY-^#7|1eWJa|n+<)ZC$5OWc*y&F+t(C* zCqCqQCFvKQzmHb{U4IArvWsq>Q*-_4@54bi)XM}$yqg!<8wm7U(Jy_QnbQ<0oC}J6 z;O%fSKhr)mbBRxh{-m=9eZGMIDxB_kMnzh{ zG6?0he4z(DU`ZxN5a&8wJMM9Wtd9+D*xT6NvAnUZ-GA}a z{1`ofmmB==4F2$iSpPT{;Z?yI2OKzjT3 z=h41IUg_;VZ&xb+*^4>B0=zNHu&d{>^7ir;dqlyX+@rnq+CIJAC9w99eouHkc!Fwj zw!3cQG?|`(`MTAt<{kxFULK6AA+-7XzWpkH&s`Huhz&MvTwr}A#b66Ooc z7WKbK#fS5LT9dzW05?7A+3ZDc$_eZ_gHh#K#K8%>??%V8R)w_K)Db?7jgcVR7wv zHF$1uC${-OU+-ZjZw5KPF`>pdIJ^4~{BcRw;3c3hdwn^1j?|r(hyIfBHIz1e+S`}P z+dRz)7`%f_f6(3Yy}gg4R!7L}oVHE45d5I(QvE*Ov&z+g*~i>y!cLtrKdu7MGo@Q-xL1r$DeHBpN>K_L8>vx zl>f!Po-3O0pu5oIUIk60ov=rBVcs#}i35`RHN+~=avSvlvEN|An|+~+-h<}`)g+yk z+S+(%e~2ns1JM3Ezuo7yQAe>aq|ue%>FzsbVgJ1KfZBN^?L5i1lfIfLS1*|OCbxBs z@C`9L=cp9z+(Z_q9Y_}f_Dmmr-XAx4kA_y2_k#;5L)&2DB46mz@0RDyZR|Lw zv9ZOUWBfvY=k#6d4x6o#Lrts(i4&5KA3T$ABKgt*jN=iahy3`6h)iq3S8SKUSA8K( z{w-9#5gbKE$C*WV+af$y5gB#-O@X5eDYt^xf_Ng0YGsVFo{6V}lfYsS&oq%tXyS$7 zXTh7npMt*y?+5XWla2vTgI^C2U{kuHbiNEfN{@xV*6^)JWva@=j|2jv;{NiHh|0$+_Z+GB0(Y<%y03@U zV~m>{IFmeXBBRw{;zPdBrN8@J$JOW+m``~RG#>|_R85+lGCMK3@>>TPiDx*%%dI%E zPxOI_FSu=2JMCL;JdVKR#uwnIqDdClQ*w^C6LOc^`5Vz6?;-SC<=eM95I*5>t%ZEM#S6iu95fKP8(U*EP~e`~X( zXc^ZTufN>9z5m z_5TwImvI3Xos)Syl){eN{4crQ-A9>3d=^ZyoQ3U9rjl=G`)TlVIuiO@Swq(M+r_WT zeU;FjY%Odkd=xhXlfK3e30R~&LGEh==;BVscN|}CXy%Iv9L+%iN2il9Qc&ceR+O) z*^+s7hV8$wxv`_3XSeHfXqVY{|on>^C>=^*iZ^6?x`>=pSZ;~XZR1Wu$L$cb-g zAIj5%|0i@%hc`7&y9F;de>F=4O!}xqRfhFb|MFSJZCx0yAa4?rFj&F^Q zeGc0&h__MaW$5)PeR@uDyk$ds!KT*DjqL>;+v?k?+*UBJvHe{gty>Csq_L^3qkaSb z)V-~~tzcaHhV|zbbhNfMxAz#^3Fa-04IL$nI(@09T~Xb|^T|7~g%5!r1uyq9`HjW% zlzi#OyuCgg*g;AA_Lc_s2cxC+&CToT8{VaB%+7-I3VJ%v##2Ji#rMhN#e&J_y6y1u z+;;LOsk>U`&@aeJaODx}={150bqnZ4# zC_49+C|Y)XH2Aphh%W#Brx^YYD|Yka;*9Ls{^!>9L?A%=aYncPnKwKxy9)mYH*Nz6is1~ zW%78oex@8tX5+ng|NBVdFUNJ|W`t}U1?Ls?c%G&#llMCAQ%>{SD!(m3z6C0W{#I6D z|9^CE&-cljm`Ap4U6~)}Cf|LI_o(`H?Hz6P4IQI;lvjBru5=0%1yeTqZ9U}% zmDBjH(Z2ki{uOsKeaXK3e=qACF78fggcNa$B|&sgI7LO>k8I+ z;PPtwuKZGF8hk9>9m;_pdNh8_38uUXze-Us`CrNSt~B5IPU$QA_TUX{-Qx^s&jME% z{p_!2Dq`24$+gT^rdkW_|5KEJ45Ow1#Db?T0Bb<)BTan1C&qTdf#D#m*0({+y?%P1IK|33KwTzX=rR}W+#9?`PsZ^ z>P68182DfA(y4e^H7zV3_BQLnG*Rn!AIX#OUk5c(h4N4P%+ zOAY)vdjhjP*@2&LMpM7b7$uYqlEcJLI{#??B={fmZ2hIp^Ua@W$_-fFEqWk9Y7+m4z<+|L8vp%C9E_Wpb^E&GAFSJUChd>?qPk!YNOw>DyYuUt zm3lQ|KF&{u?a5aUJ**=H@?ej)1_W1}T{Ml}pL&1(?S=#`6P7(jJCb%|hnj&1rX5FF z*7ff+e@p&0^)KKP;47SUI7oD#cB;EdzuC*h$zBf83FM%CHuh-uv{B$G;9E@pK^)AU zPlnwk?PcT`AKE=_ELa4N?h^m7U(|31phhOsg2lg!i!2`d!V z0h?d>*x_ozUyJKc2J1x$7dwr38I_aI%;tX7?C&vO{2|*mm*uWIjsHj;0e%H;g;6x; z3vjOBxdVKDeCIvnl}|ZSzJg5o?ESoH(;e+;Ep9uKC?uH18p^cKsuadmSzm7BH1mEy zXulR8Y4x=0#RmhJb_3g!z%d|ByZieA^85Re#$+vz#b@L1ZO!I1N5J;Wuo6uBK0kB8 z1)w^fE^>L@KEK}GdX7ScK^}Z*(zM@!|8f+jVQU7{e#u7j!}ozo9^`(VKjE#mw(abt z_rvtk9QwiLBh&uJh(y!w_gnISX@AP3JMGuLy?b4I(Xt*|u}iYcW2fzc?mxiYSo+0m zi7YYLcse@X%iJ3M-NATrEBGl9GLQQe{^YpXMRI+b-Kt%dXHR>MktS1nG2uV$<)qwm z$@=?|%se~1%`n?8HogIwG&$%6>(_nFts7U=x3x6!T_ixKr?$$|@60|=4<#T?_j#|` zIVL>)9X=1Oq|M9;4W^G`a|`%0kl^g@5AERlln=Y_`JeEPXh`*sqeJ<}vO|AX6AdXk zmy-q&qg+4({v)|+KZeN>o0LzlW$~K$y|-`57$5K zL6~G|Kl8YIP$oFuoqXXsUScN+c@f3Mp{(=p6Jbkrawfp%Z_?QG3X_B5LxuemGxI1o@!7;yFwuy_6`8Lw`A#Nvcp z7!W@@H~r6UKbn3Ywu>PQ!Vt7Pk@&e+^lXYdD{K1={qjA?my92L%=Bk{oT{SyXv}{% zyuSnfgbEqlaM1kSo{mj;inPCa&RPx^KmP7`Sp3)l&%NODstfyj`cvA+FXa+Hb}91M z`_fRec_L}#jKQGV$+KQmD=L7~U-a#HZfVKNwY9ZN*4C7j)^H5Sx;>IFShtAIijHkx z8x5LKd0_LW8rDTN*V|*vrF`U;zfat5vnLzBPr0MxWKQu>C$`hqOYXR}V<+)$ZhcT!Wo|a8}Ci;}T+r2(trEGnw$}Q-U!Ft%S5PU0W`V>D73O`@Y)`RJ*|Mgn$$XmO~J!jyx zKkxMR3`e{iGq$3~+v(RF^7%TKK{mE;ZRSZ{eMdQ=r)+Xy)|F=b+Neu(Rl)?1W(i~ybg>96-X%${k@4E(UIwNIzK3pRoo1pDZ>;2%MP za`L=okl#~nkhLD1KYZL>Wo>>NI!1<>hp4VI@J};daA#RP?jda}edc^0-P((%ok^^V z`*=n?24>?(L)CnB5#%*U3?q-fs+4#NO z?rze@`ys!+;)3+@LfN*)mX5jl4rZt6+xVelyT5ceyxs(kHGX!VeSH%zENC|c*~K-Z zi$0Gf{%BOpB(}|*CL-{4i*$_OnIl0abu)>eGmEJQ`lN4iCC@jztJ2zoz1aUBaA@W{ zaAAt>lYH-@se=@%zPY@`efz|J?y7IT=9gyHLT?4_`j+t>bRw%f4_*}w|JH4>96fC< z@Ba7F`YkhSI@(yb8sj#zJ8z<2ZtZEF!uh<8l6=L_U3Buv4PC3+9A{@Iq@Mmpdgzzb zD{kIk_HN_K=h);OGn>8aGh67hi^0pOz$p6RzOM1}KHKuUW$@E<#Ej!I6$GflK*gQ> z3;`K%GadjR=L+PX*$AeaBqwqH4p%?t&D;;*+IbgpKkqZdt77gW$XN|AflG*QH7y#Db4u?dVicw{uc3F!}4O(J2N8 zb;0u2bGRFHwQmM}>ESHyAD+hj!jtlSSM1@EyH`1jc4*Rr|q*)7q2sC3Vf&itDrrMs?zSw9E&f<>Usk;6D6Ys$@UWUdE< z_Gs~<8a{KynGT&rP>F#}_Z2d*T7cVi3SZsOs49Zoo5zK1fM>+qkAfd4PxU4u3JQtL8yDcA_ zwGy&`wfSUNk_yb)qMEe+-Q@M1bDnK_#m~dhp*@wwx0yQq!Mu}vYYIOQu6`u6QGRJL!WuH<+HPHrQs$BrvF1%s^(9gS1Q*F-rp}19BKIlGMk| zRR8>mIQp)24orSD zdtS`%;NHgh(Y#-DX~$W-yZZzB=Foo2k8I^lFKQ@9>NI~ddnVaTG5OJpY#E6mSj@qO zx(D+o{|fv~in=>L^SE2r6L){y*70V`!vK1!%(e>Q!0g2!bJBFbqh7aobHMKt#`ZJ& zZ1}W^58E@`Hky4Fg;}8T3Mt@3(B&`od@XzID_%UI|6$c5w`DCGn_3!c8ap~zN@%y^ zJ2{^7dxf*b60mVg6q!xlF`Jm5p@$7#o}Aw+oP8ejh)lCT#a(BmEWm7wi~c@1c~$pd zej#{I->u_z)9xKnbOxSg!>73)xQ?eU9&t~L%zKn|(L1`Q-Ji9Yayq-~M$TU1oqEB= zH?tFLboMvh-Fo@n*{i+0v%f^)eDDHL4*3Kym{&%kGy7^PRiB?d_^b8ArC>I>!0ek; z3ghwYuWBEA%iSJsh2HHTJu?+5vwtbt4s3p;bh=wG`wyR&v2l=kEW(YC;JE9D;COHP zS9^BDR)Y`J`vWOGYTW%(e#hQ#<#WIK7S%RArDXS*1}5HEyzN#G2Un$!H^=Vzjh7pH z_OL06ma{kI=KhU0zQ^NfIr)XAXtRIkxW;xp=VWr1DsUJQxOqUfd5F!^!v3+ibriH- z=UX;sB!wG525~Y!wDFR0zaa1LZW({COPe1v^5+~c{#4E(k#~UU8n74I_Z&(4W`9by z?N0JQF0|a6ta=XjOXf@mi@MC4l&}4pkHf^{bVJkn#+HW0tn)qTD_lQI_|rs-SBJv4 z6kG@vTHgE8hNi~m_3f@@IkvA`e)Gs<Qy4&SohgFl2{g|#>ReI3M-YB)LuoJmZ7 zlI=SWP>#SaEhP>wC87#C6MYa0tUs{xIb=IC2@`YHnLeK7dr+o-=c}ZcZ1q1tevP^2 z{{=|-wKKc42EVr8wd5gV`pvJ|lb}1Gz7&>Aeq@5jiK9A6Xq3j zunuRR{`(j`e-^{#AFq^E)GZYiu5*4lurKqAweY#yoe|CXwJ+FYQI1j9b?28~nAyrAGWUH8)o+wqqY{RjQ1Y!E1Z zqub88&uyb(3$)r1bAgJoqs;#+3)X`>@8b9$`?Bj%8}xT)DWeiyn>QD~4LPQQC1UHK zxHK;Hwzcu}VCM6(nS*_{-9Ob6*rl79KTV7ddE>U|kdrn>hrD%nH0a6GxT8W(9rL?r zaN+l(p>Ob3&>P=ek9FRHetzE5eQ?R2{$0k*7T80(Fg1S?Fc1Ap@!=d#{DkaoB^Dd| zrX~Ke;)?isL^3eClwLGDsU!@$`Bl!(cNCX7(l$;%1b^ms#b>B4O-{U)+0&~zjMHZz zLLUjmC1|Iz62NiI8zMlP* zxA<0OOl@RAD$KPKG^_K z&$)gdR*}k5dp4$5{8sU&L?0;j3mg#lK&AC(@ZDP%=laqc*SS1T{D73Lei=4j2d{H> zQWJ+k$LHnJ%DM`S2*}&-Wah)#f2E?b0y{9eiCkEm$tBCfgB0HiUTgVhkiWaD`cWRm z%~yHuJ0|S6fxhtHCKub{yFqkV{7t8?rRDJ$xBWoQy!Dmn1G_f9Y>Qta6O>+F2;{;( z?YQjpevqhHd|TdpGy5r#Lo*TiHnzn?<< zAaA(>KhhJQ+O~v|>z9({3w%}Hd^7c-{op>+z|3n(rX?*om`ka7O*}lXT@RbErpxth z_x_#NbiZCx!q^eS@9UMk$TKqI8B4{Wd7#jbOZ!>-Q?rlE=MBRCv%Gyde5xb?3MgT5 zB~n1S08}s~9C|++JZ~U>^qgfS$)cmq%QkLVUSe{1om=c04*R$-N;F(p=8irGN$_5UBSe~ztEKhk~AC;0B#PV779 ze7EGwkOJa&<4SHph99ZM+OaSAUb*@&{I2{i_IsN@>iqC}r$_N){8&!*PIwXXN^IJ1 z<75x3_|4olYfc`sq^xq~u!Ll)QD{IP`iU&5M1$=)bx#EY-T4g_;Y`}=Swxc#obPQGBB z$X=98RG4|(y$2i|w|+{l?>cVbDUS!rS}Z@2b0a?~AsLXr(&*5!xf=KxfE9GADz)9g zxW`fG=^{OqVc!qIacbq?vZ0LY`+L{TyKKCv*8#JMYFh9n8^$Z<~9elkQ;uwY=@z=-9pFEe0A<4#?XU zvI@KO&Ha|QC4;%Hqp8{7Y3npUGxuD2oay`A9Uvwig5BShxpxbhe#G95b^qQWF5XWj ztb;!Ya>q0MjIBS zL*^=PBe+KsL4rlkdE}m?oz^(c&04NR4sQdNQydNZPeVp9_Z$2y0xLm+N|Hwg-&LX7 zAP>GYZ7%W2+K>01`&CbB?*C9|09j(RkVtYXf8uuVmUAxyuLExae?vWxHGhkfx>8_% z>BCU@C3u%=()#&!?c?Wic`rTDD=M2y?6vl-qU>X7H1}TkTmq`Y6~e52nim}K`}VOm ztX+(&xetMlz#_d}Vikvm5 z{JnIJkC>?WSIo8aOz?7D8O}%4_oWpeUSHRi zW@I>aeqa4-am2W~Ds>(L+PIM&>I$834_gmrX9qHV5_x3h zfaMD#;4;bWN2QqkAPjrZLMjdeIq2d{Z|g7F&NqyI!+c1pWyEV+|5-w&u!1^4=}-CD z555XY7jmA~?w9R*-|QujwLc5=*>GVV*W37?tds^Yot=uPe*jrY_xj2C{TQu1 zeF;9hQgR`K`3r``yw{`Ao7f&7&VP0OyraCFwm#g|Z)dBIfyt}pt#i^H?7wkd^_+%8 zI&6xL+)kugvZ>$lD*a7uZDV_fCTVe6<)71-w~`(|13U}d=meR!!)~)kKN~kp*^K|ZWkY5 z-h12@CLY)~IxqFZbFpDNwm{e7ipk@Bg~eI*%{dZ7&HY$+@+dAS5`y!fGw(uoQnq>- zpmD13_kRH5ar*3^ePevzu(yes<{kWBPIJGF)9_PJ$vEAC?Oic2|7)47+9Your5O7L zEB@}C9vyPppy=4!X#K-q;XAUY^FPUCTR;9F_qcxQPwZhccx-gsnco37gTtcZ&bSb) zj*eUNICujXuK@ONeW&H`^Pa-8p9M)N=Dp%hExXEX%}@21$7lMXaiNwWka@fy^LY1u z>T<_hZ|w-m7jJSR4|?_cO!0;4HqAvYy>~&gBO5G zt+em_RC1ry(GBkZW}9C)za;*&r0g`G?=rI}JCZs<*<1O!8vFuCa*^b_FK*zoE?f0C zJt@dq50qx{Wvc_)2$Uo4yLP-t4!}`*B8}{xkX? zg?25t!szej*T;{t5^9&K7QUAM0EC_JY5ew3|FiTP;`QU$8PhlAFSJ1NLm5ul7gBTJK(G{-0-+t9aoLXaQaa5Hx! zKN}5R^9i@6p2Dfl%vukYqP?*rmjc@vF|`7u1ISc)tA727)F z7x*7(MbM)hyEv$ksL^pfhz-wK#J-2D{jvHViG*_>i?3$8h39q{%x%m1Ef4DEjo~CK zaqq{?mn1;^Zt{GxlKH=^A&(FfarIi zT!?&1m-uS)`flE5VhnJ4YW_bk`FAY8I33Jj`S*7Ims9E%_f4yLHcp7-ea$6IKUK; z@r!^t&>igQ5>DrHYji#_R(j!wu`ZlH9-Ij-0Ga6vY+O9r^*zVhO>K?sn_8P8W{`s% zc$Xvp>8_ez45u?x?(_O*+!gV!iz8;Y8e+sKiz90(H|rc#;%Wwwo(wvReS&~rXT}bC z(qq5b$9!x;VEu>%%x8^Y{`smoF#9mNv3+cS=0za+nWq~(*P=Rs@$2qANsWg-^FZSl z+s#IJF^8IejnUo3ua6V+w^F+Uyi`XV^qbvSerWxS90JSjk7aDI`e-o!>-6zmAQLLf z4@a;yyY}*xF{;#(`PaG&^qaN6-z8Iu{iF3KrZoQ+@PpuYvudBnheE(i>Iafj=WX$X!lv_X<*{)f|Fu-5AJO$&YDk4 zYs)5j?wfj+zTfgY`^a7D%UV9Q^LgFB9q;)2R11Eq7rX-;r(@x~U)p!$zOVNb zbshe(%lo%s|5>~_3qH&t4HnGsg|vB#=wz<{=KcPy@n?K4AkG>8ddl&g) ztWhoXeZ{Yy+HLW~^eC#pg7>&>u~G!Vf)2NZNuWpdq}+4K z`mxLN2I)g4pXUwIDP%lvKo2QiENDVSi9U(83z%1>#^Pta)C)cri{C|`2l~G0f=@cq zW|tp_|5riM0ptqe+JY}>ALeE-`yS!{p-jm8h>j{;lQ@;yGnh%w>c`~eODV#Lukn(4AiHQpqO%- zmt+BngM&~nS;k@V4cQf15?Jmh-~K50m}=7c`N6oKbA5lr}|SYRy0UaGULjkkLnC}U9z zPeR@YC}ZLGy{zNFy}MD=!{7_-90k4}baAh*e&sx^L+s_fn40>{%{A?9J(8`@ z8yY+2HEyWqzgMc-T6L3cersEG<3`@zZ?jLA#OGz9=R}Sp99!$hFGtb+UZ>IhIGRK1 z!4^(98XO@xq{n^q&yv=S>YRbeQx{(BWIEV?<2-fmHs6w1w{|~v8p@s9&~JGv??tw_ z7q6=7+v+#BTc+A+^O}Y4$G$$ubB_43*WsyG+@5IG?ni2vb_-^A;dg8@x%jIx&kO#~ z*GZE)PfL&sOWp3mbNm*W%E>(zUJ4SKa+pMF@OOS8@`Wl-}XgvulE^`R`J^jNksW zHlNP^uR%*s!g#sx7hdl<-v>3l!bf275*04I-|a^WiT8tOg8eU`4BOf#JIOm<#`a`B z5_4Hd>|gjV@KNUv+ZwmDwl{U~Cv-0EY^iT=Kc}^AeGYmvJ5KJ)&>z@MY(K^qQ(gEx z_!9Vt#mN`8w6%7$@^Nk7ayD7_Q_uXcn{t^WP>w~EtG#<%ySDQ8u`PVX+xJ_r-j_FD z^H1fBi*jOj`J2J-Io^w~*+oC~-`PT@?!ovzm^>LWPJcbYpYSv_SU@C9It68(SJ2aW z(o66?1LqgI?HBA%|DY}?KMfoUp5pQsz8=-m(6pt#xpw;&lm#51ex^Ws1~`Y5|3xDh zE&n)QcznX^$LEgjNcd~{Nch}aIiCsaXzJMRCCfZska;|NePAnQr`S&UQc!l}p6?!p zMBu^)!GD9VaO6agC{T_AEGGjh_colho|5q~#Ph|Km9GT3ms`Hv*=u9V`Yo+ZEjYTY z>GnJ>(6O}-mr_ormY)qa7@vKu^;n&~bJ-7khI&53q2CUk3vO}ii4A-gwP}NFyHOw0 zN3Hqt8<@PU{M(`J9lT}B+s@;C&p&o)!xp>}HoP|Kx4f-;Pn5RKSbm<9BlgRS79j-@ zy8Qd#|L9m4SJey7F7jPx4ExdYrv~`^((9u9E??*}AMLkwM&nQXD<{Spex@R9cG)_k{NpZA`I%cMRg_ch zU%}m~rM|EEr2JKH>w>o%MU6{Q2NvNc1?7Ko+h`FE)B&Un;(fN-*KTUt7r(nWGw<*4 zEjk|gn7=RBkchD8}4HKZJr}31vbwa4ed=Jc|nGr*Ts6ybzRWpKTPz<38dFm(BEpi z6wdL5G`*@n^PcAzKd73m(tnFS2wnnSXm%2QpU(JHmDJR%sH~nRJAiLK<6d;ad4&9U zu%Bw8<$ETd;)2E!{%jFCDSs>59hM)xTv<|AyD+}Qwt3673pv8Pc^+T2>1cExdWLdm zA`fzyJR0X;2R{yeisN*d!$s#)a~b$0@H^B2`OBqwq3HpB#uqM&ZUKJ+-fVh!zO<~m zwtRkhX-RFFW0ya_%>L21Rls1}Dv$53ZJwoV1}4v3JR;m$%7YEzL3_=om375$rBcHcT*#NaV-eV#bhdr z{{TJ_UkIO_*l*6?xikDam6`#EGd*cVy*jATdyGw}oO9olqxW9xC zP_J5ASyvNtHrCpa{%kA$FV8Kh(c-P@^YxELCsP`L)T5hcS8CE+HpbLY!ax zip%$t>rI&clt*#2yFA+Rev@mkmy7KZQh_DMf=7mV|Kb;@84jKZPIMCHt*>2NuMwyW ztvkAjT=c2wOMN>PoCCfkZ@wA*G%)%6lGtZDB^|WCmd_KRTK4%SB++pbZ~8H0mVT@M z^7;1dEe$pG+Zs#jo153wH@r)Ue5d6dOWsSLUkEZkUUFl)I_-WxR@pt6fBZ+7$7gbJ z*JYkpP}0MBJD4Y)!+JR!^_9R?=wRCYd>ije{2%7eiQoSM*Yi%+Y0Pz45VP-zey@Ak z@~Jhy9Ny1E9?7AvC+H1Y$);Jfc*kBbA3oV$iAc7?~f#eeD@kOH} z>$qj(HS_(jaD3T3f*f?o?cyV+N;gC}uxL7nGwb9zNm{6R6r*v;?~D+Ihbc6H9iUvS z21n;EehvYtSVDHSW8R62oY&D+RK-vA_pxIyM zb5MKJn!s6{m+kYjHttQ1aNLu}EoF9Zu(Y1dM?e-%ZE4Ysdv?5CFP+TU3)lxbci^|T z@J19_zuu?Pb4nVUI$jxj5<7EXezI=2w8n!o|+lI8}C|oJ#rC(jReC5RX=a$D7t-rwr&%rhEmN@>!fs4%+Al2%ah0dz4B=^p`it0tWHFU1<&_{{e?3sH!{{IkYhJndile0+$Mz<_=88~w4q z+|xR-^b$Vjz^=p)f7?2LF1hh96{GPjH&A{Ta>wfy6(e<`Ko<#A+`-vgQB}rz-J5xG z?L_7TWI^lq;HBQ6lLr>8pR#@qM3M^3FJ6JOohdZ{>7weZ=6-g;Z_RzLN&Zmr{8{&&&rP22#jo(h(}R8mv!c6Agta8 zSKLBBB=&v??I2Z3`GyT%gbLiX14J=k&+O!YpW~=l>j;}2eiHuV4i(!}7y6+J{Atd1 z8MISef_7q`0$b-j1MeOCql$~&0ZtCuxs%GF;4n1v1k$0mim4zpE6xW$0m?&o$Zwt3 z?3RqL;#!}};FHT^_gHaNig+Mbw)v?WpGYaNIq6vVTnCz+rs?^bSkJjW$6@l5e+f*l zXF~r*w;xs9xZPr zfS#kjw4~OF6Kg({OL@BDKii6bfWHOrw07*5-j>ysRj+d6Eu@>Te2G4=Z{y3h@^v85 zpz^ptU-%z8Ep;KvS0V?~ zQImshCEi4T3tM?iV!!jsmXyWzYkjh|wz9Tl$=aIo)n)x?zll8P!sKCFc^X&%zRlv) z!;XJd$%68VlG^ghinTRm)yvDO*UqahUtUHG91wZ%x+V|X$|)crv2s$PpVI0wjqiNz zGIQJ{dXT4=eXy;hZI#$#CHJ4HIRYGkwcHHe4U#2RJPp1Avhr5>R&YF63?9X~y+Gb_ z|NljfO#SV~5AC(@gN&&k>b*w;saDN z#0U60uJLyTDYS=>+?(-7#!!JRR_NTr2N^6ku&02dhWGM^%%i z-@j>}ah>yhe`^={MHOC9cftgfe|Fob@;M6kf{?e=nqcGj1m95%<*1s<@tw$#%l}8- zue%$Sk3$-;`NgM@hq|gEuFm~JwNs_kR_)DPf5_##oR)7JU&gHQy%L^`ld9v4&u)Iv zjIfdnr|NLk!e9RLxqQFxYWk*a0?WVO3FWuA{iteG)ZgECHGayUSlzJxrLC3E#Qcij zR|T%1Ld~=O-ARGW!lLSJoQ(xaOI5E2PXWs~7C_GZZF(0af$5!TQ`JmxwrZTeN!FkH zTz?4rNpgD1ZXRjvA0oPRq-KB3oMAqipQS|? zUE0x;-DJzp{9>?9Z+XxLwFwI~{wKn>3B)&Vnr(V}zPWx~V{;XslCG!WX^?e0Gx=Kn zV03GmS~hNNu4gF%$eNzXZF)m)yC1-|Y6tis?xx(yJR^$lcUCQ<=I0zampTtw^U0KZ z7ybK0630k>>f0JN>2LSijr1n|!|JIhYX8}R$Ln?cTT{UTeIi4T>aTY;0?blD~P7Eeq?>IUr8Cm;0RVWBQ&YXXY@zY@N{L@H(;FLEif>Mu@_{ zDSRBf0+e&aaS_+}VI&Hx{s?-_W}dG!Pix;^YJC*Wx_z1c#MYIUod6|e`P_dHtp9Ely%X&< z&T#uZ|C)c^ZR^TQ>$l9T>EKQMjbkd;oz0h1W)lfJFT-DbwvYAXo(@Ct34reYe#*veY|&I{L!+&vj@x%x?=2)_K+!N zz!trut#5tzn?EYIr=R?z5WypN#@NjVml5uly&K#HzBgSW^9SDg(~oG+#=}EFoa~NU zH|G`fbe_gd_}rU4Z?cRvD}kQ4v+bpRi|1ZO9)KLr@FNeV(TtT?o_TN2^G80e(Ac)2 zzM*lHy9es*mnGz~>iH%7O{B{QV|!cnc^sW`Cvv4_m$4Nr`y@Z(Kn-5G!l7WA92c=~ z`Hz1N%=H0hdHL@1_h0MR=|flz9iw`bSL?j=!7?ZcCM!m$rPqSjsV0r@XS9zVUkaZ4 zS3c9*eYwD&PyRhrp&=NUaa^sQ`ab~iINqxj#B?C9sAPt?d{DoQ>xrk5# z^B1kqW$nqJdZaIyP+l-MPBZ@JEbs5!8h>eGruSEB+wn2~Q@i6Y{}kMBPo1K9X4cOg z=*b9y<#C^eXAwA2HP*iHxeWQGoS#E5`n1cQL%^1*3&A-?Kk!@CW2l{~TKM+m?=0^% zeaUqL@!MF{C%gTqy22N_^jB}sFWg1@@_C=!^26#gkz*aGwBJK@=2SdBkhV3u?eg3~ zGFWV}ge!7=?jWJi_j3o;rO;3GO1!GRAQ)>~;|6IyV}Pm**fBdf;O7piiO&MF!>i%{ z0kBJcQ2k!dFBdy}2C`V7`5Cwb?bOr^u=TmM@LS~eqiO_j5VmtCRZ0|waVD#%vTW&1 zl2=~>egXWYzm83Q&mEXuYn)Mt1J(abOOsw$qlP-2Y;rTFb}H!QQXhDKKEey)2b$5{dyMke`~uG z9`uDSej$ABVF$BFX3^@)+B)>eO5bwiS$#$n)lZKJ4BR#ceJWnavVl}wBtBL%>#csm z#U~!KC|OdYGi?8b(#ne3l5#yEmG}Kl#er}>ZgHWqngL|cxhoaXkzM1`$$bsK8K5T1<^)(~F;clH`f!)Ke zUR%4cq+%_dYWBl(4&HwHS09IaIoQ_VL2H!L%`v^dQc^L`8jQsb z`e0jA4Xy&KjPE}2bz^7%`hjR-eA(7CfaDG}YhB*Fq^zc6%Z0Uk3j>9@WV>cYn%$2EtyB z^nBUY{1Chy{Jy(i8u|~{_x;uGfmzR}MR)%fAhn)xrEd)}*TW{BPx%(_K-Bl!dPZq$ z^VZERHQe-S=-{y;x46)Gi?ZWd_|_8NYVql{c#aV4`IKYBn(oR6_4Aqql*dC}P&<#Gd%!<|7*Ut+gVz#kYKb|T*C;0!WZiC? zcj!uiwYd-~WHhzQRFl@v<=V&Ia(=$X+DG0duz5#4^qDaj)V`C=^Wdu>LAD>h4<6f- z&6kgZ*So+iV3UhG!Se%Z&whKa&c5KAwcfgocd`A<(L4?lsXZUu2yQn!+1Fr$&wnbI zQ@s5=U%zohq{FEAFl@yTfK z0L7a>CXyY@C5tz##w`1*Z-w_M?48AZu%Gi?h12>i-ngZ#__+#OZ>#+^y^PDK<&H<~ z{fQKN~J#FW~6J!;6a&~yG;{HU?<{uz$oKI;^cTt9W^ zXOt)OcAqSvOB^z~_t&W&)e5s}YN{(8xkUBE@I)4|S&vog9J~S=PjOXe%fXtY@ z+|N7zxV*l3YojWGKIyu+t^Svm0PFvDB;2h%D(gnGITakszT%7Zzt%y5_v&@7AZt5J z_@Xa?wdn-do#ytVI;MPsO2LIxi025<>>*rF%kZmt@K+yI!~bc>!>VopTR~kpyw`%# zC0&)o)gWKVnxFMwT`^<;YikiKYQg2I3CD9?g>Pr>d4l>;R;JCT`B?}3DYi?2KsxBd zAc4*PpXC^~ojdtaQb@;Y6xN*x7J|j#YU(o}hxTGRwXt8>?#R^PSL)6Iw^%>!Yu~zV zgWbJs&zf##f1AIqy8xOW0+r?lQ1^*or`w{9kH<6L%XEHiHdokvk>B?8fQ+u=37N#* zd$;Z%hSBx%KLMomGwT}oqgYRD%`P~*?iz3!c(uioz~9BBtiHSPo~_@_)MFwC27=B^(EJ z^h@34;FrMffVah3Pqx|G>%ioBbp%t^2@PB4y=i&4H?AmpHtMB71`yKh@zJALm!+)GfJsIKbC5z_=EG~xq zYw@^)HWTX&mcPjty547++0fk7($sdQX)=Ry8ci1QMD_@Cv)_@EmgzZLyzIw@FA z{C9xP4A?XObHL9B=&K0=8;|(B<&(jwsfx2L&nw47wZL8vd;;eb6Ku)H2QHh?WLYsy=aa?d5RlSeY+ zUueRLg6QRTQi`@jdlUD!tyzps;d zttjLx*TCdoE9Oe3gCA1)*Jj@qY{kP_{F^d;x#5z2%ZvE$!fj3K8`~@=>a=;=3S#{V zBJYY~5N{TOt+O2;)`Vq?(@!N6uW>PTe^Tc0g3ROcFJ0E%miwG%MWG|J;#+=;A6#Mn zIrLMqf~@_Y_;vYT*U*kE@7e|*%O~iF6>DHV3RGgjph?!w=MgLNe!P@2h9)16OMJoq@to4xaRg(bwUjsGwJhvaMAe`BI*q>o5 zmqMU$d71u4JNXM+Y7=mI49C;|*s3)CSCFR0c00LqM|9|)e+k|jMGv(_hkfetXy}-? zM$xvrqv$Uy6M6$x%0o|5Jz(FrlAg$u4OV=C%^lz$L4tO43TS@)S?MXgkVL6ogT$TVL{d%L+1y6=#9ijOecT z3P=N1{GAg$WG$!V6QUr9|95%u7om2mYWmFMpW!4~zBGCZ=ZE`H4cbd{R$whQK3Th3 z!My>46--VC%>c{TRTGDUHXipiw{Bcf-`2vbSUI*w-3eG8`gwTW5B^0pY4ZKS^Lcf1 z`$ioE`fP79?&z8o&-(V9OZibpAzDG#4{8A4O~o+K+N1npPsb+SxGOuip>d1u$m{$Z z+vR)M+J)J!*bB1ep3$zS@@SXj3+}6obGNYFI0)+feS1s&j4zjIJ23gd$_mjw_`&jn z_wikln|)g}VjP?m4V(Ra-HYqD{J`~G+I_ecFJdRJ@TE<1gq1ap@tVnQYx%)zy)<1m zZX7200e;`U@}sX8=xs5raO&v{-C>KPeHSAASmD;QR(k#E%b|ibgt#-lO55td)v5`{ zxvVJban@~q5!#{oukG+@6dwdxi8C8C3B-rl|E3>q{23T8u4`>=ZmicpH$A@O2bK1B zL_>czC_0pPm=3w^_0gdxUlom*{O4%s_WPotH8_r;5Ig=xV$qdR)Noc5UHU-~|9a_v zxVRr6Ykio%v-Yd0mw{gAD{*lKD?d!zLuE$S1w>BWsX!AJabcUvd9MZpZsthtm1466bX?;Nq3FSJ4}=eC~}<|A5<% zR$dRcOF)znKl13}#-8{)8B1DQ-?ep%Ki@Wa==%_O5`%61U=d|j&<$3S9}KzyR8oC3 zcns+5tMT1i>)rPgvgYUX%l!#~wUz!|c^i1UYSQ#;@m>1Lbv?oKc_=g=17$zzt?NV| zSowSQ9|Q?omK&S>$WC_k_`arptJJQypFHg<%oDzdD1QSHCD!Nq*3I=z8os&PmD8)} z(^j)v+Pm_9!6%GfkRPsOrDNqIs)bKq_Nq7?*sHsW>ymLgB#KsHd!}b>c;(gpoRu%o z!3AIu6|$L>o^v0M&pMjct}nrlzFkE=a{m`Jhl6i6y1M?krgnG7vVL8&d3POgkOO_jt&Q2!p?wN? zswkKq_BFNFw6@tp7&*{Gw?>cK2dhp12{o}E+8Q@Bwl%giG}bZ|FmQf1(Z8?GML)8i zQg_{|S(N9f?D{c>=S6H?V%1`8=5xP^93MYjBgj4T>530x7+KX$uM4J^ZfApiYv(tRviJp7CaG@ z#Y_WPiC9$+azA#}`;2XmKRMVXX^xGfuR!%ekTk%z=U<6k*0&K`=QlMruXil_q%XZ^ zK9}-R;D-}GN58H5mG^Uuxt0I+jao&@bjaJlw^MN}coLXjd{}j?3c#W^`k}_BChgJB^-xv2@|8Yd~51O(2=js$YV5kyQ_YkLzsTzCOpL@f*Tb@@wdS z)%~Df4^Thm;Mdeofgdp;Ob#vW86WJ@#{b#u*MX1foIdS7v5(k)yo+l|iB>&h*XQd$ zlJNrF)y(-UFF^OJUKU+oH3~W8pP*EF9BAW3{Tk#MX76EK=ddnjyapsbKsUefC3^Ar`UY)$6?!9$-hquT(T&F!<8?J2cJ;|dw_oxG(?dMI#zC7g zwwkTiL+;~C^2XzfSh0E($lM=#8edp~#@A|D1Xtc%#+DU4qQ;=pjT7;U$5}IH{++X`bwZ!=nq74;Q8RKr4_H&| z_RP=U%z6Sj%bI1X3-W4tCBVjZBRoIq_M?@*rt$*tVk(XYm8kl5Cwy`p9~$*ovTzNS z9LRAvZN18mV|2dSwe#h0e`|}7-%vN-_z8xzNwAZfRcG>e(`YiX2=4jr*FZV zX0QH$YVsSeMvoR6y&KW#$Dntq(X;W|k(oa9-M?lZMmHX>--hNT;Af5QE`Ggzt$r`H z7lBvkh=V@uC-J98aOIDEKVXZiulFQY-@sTv|3es7(d)pJKYdYOMcUZdMqQrz|AOOT z`XVZ>W+`Ab_UiQ?#HBp@L-f@jpJq#6ug08K-%go%7e8oJxLQ5`L)B8>*Sssy*K4@y zUI?I`h}?BG!^U9sZ_(9au#Vl=gTq0SKkxPb)prx!qtE9d~#m@ zxAlx8p+J1Gcq&i&sN)%}evGzU1b&;2anlC?E&1y9!z2Yrr5yoN0rj-V&b2N@}vwJLK}79!8N8ZRJAkQ8f* zK_cv$D?mKWnkQLlSCI1%#3hF9n)SYa6{D8>Q`RgXRu_O1sCWZt{hM<tp+d%;8bAM!yYqmvs<@Kj_5lz$>6-AAe#jaQq z1QZkj0XyyO?%M*}*tZM2)TK9TOe{$>vBuaFWA8PVXh=+qCDAoDR1^>evF-nR&dhyx z-rHTcZ_EGp!Snf?ckj%*cTSlz=bV|_zVY&$O!aN$qUQy4{M-x8Ip930>7el=?FZv$ zGHuTWu|(+)e$c4kdDB50sz3(%!ots;-GYO&oL6CRbTX)CQZFK z1B=kHLB??Q&0zW%;s4|~;lEbL%5wPrICZ>0B@#4Q{WIzWRR8zU+8rSA%;`Uq^@q@o zwx^9}k?L@oA%>mzkhBM!_Xsls)SZiQncYCui;S}`#g1at@fdX5W=D7q0hQx^NIeh! zRcid}3+JIrwX3$t)sr^garuQ<%)h05;5-6)cXM1`%N(?5}TYtEEmLbd~uSc}BuGw0C z6qS!qeq5HyzccjC0`bmc23mc3>w2PJUmsEFq@NekWlSjDU7%M8G8D(;H|xjt)9GT8 z*JH*I>c@~lj2WeL((@r-KH+|+ie0-U3SGBO? z_RA~lIlgmxc9(cYbNANxPWi66vbEVp&f1Oz0 zV?2iZSU|WE7|V#%?Vjx0`Tc6j(i@;yTjX)4{x$u*5x%|Z`WT~r>>)x?nwLbK6hYsG zPOxkF{&ih1O;aw%M&?WB2g-*?1?as%KZZPBNnz{&HUq&SAVDB}@6hK7?bH+N!#B#b zfi9wrC2j3@H%*J!KVvH}b`(D-#4H9eLUSYkB(f8H*=A9=jD?EgIbQU5m+I)4{Bbimk`+3p3R zejP$2EN(n{->=bpHxwo^Ki2OFeMpT1gKyQ0{U3D#W8dfJJWvLwxSajLR_|}s{3ljb zRaQT=w7j&Ye?{T&qM}52f9Z0@ZN}Hh$G!?lpx-clL?uL@v7bpzd;HM2qmcMyX@z#I z9}+sg4*tdw;&PkQK@6=Aww}KkyAtj;$iLF=Cj3;WfANlh#vP{QW8bo6Gp;u~4}p(^ z!i+2kXuE6e{01G%ZFSU!AbEwni%#Cba@GW9%D`@1doZ@j)`xb6 z35~;8bexOK+quKW<--esSMOtI5^Bf!a(0*@%KZ{!p9L8qVnd?2ac6)?IPUkZ1vYK$ z2U-%)@r|CweoL!mQnShNWA!NK2YN)NeiJx8FKP?6b1;O!X zPwm6coBjX$@_(pr)(yt}&golhU?i;wj9W@;IQcAbI-+8=>o)mEwKG~!{Yn4+0=$fh z=6-8a{%AQTx&H1qfS$mYsh|1TubC)`a^lQSfL7{9GCCnBHRHF^wAN}hR>=iKC(x8O@@ zsjYWhDVH>1Sp|p3sC)?cfWoLlk$Jm^-~?!{Dll|_Rq(#j??gA@y;54c8^x0R-n~IO2oOJ#85+`Q^`%C0} zk@Et!cY+KR&DT{<%_j=VDl1s@1^oGA!AVZP9cMqHWqmyh3U+mA7-&OU7%A z5`H#s(74dRbIm6=lVbvNE@JNJdpk5P$P+*s4D55j<9}o62G1+Shzqf|=<8R&H{?Ix z&P40h4@G!?oY<@X{yS^;UcaedoC}@zEe~eA3}ppQRiI$)t)sp_r*^{-n}7>Z`tzXw zuA@4Bz1uN9eVHe<=lybWzW4q(pM>lSDcwrm{`#nRA|am|aN7Z~f|B^KN>@q=37N%% zt3J1MWjtq*Pfq9o_Efr>7iRkYhO2(fx#EHW(PI|-6Lyo5D3=S@xgU`^Ld39yVEuHa z@-@&9)_B#;;J-j5cyqBafB3O6KiS80dAGmm^3mhqTc+EqS3;zNA+mneu2moCRY2EY zj)UW`ZP`p9-gn;@B;hiGq8H7tyRp+fRYs9n)>kGFJAG&aKg>%6)Q2<9CY)}|W;_Y0xm&%-C+6(>j% zBK6Vo8S(3q$^sJ}u-oy@=a>n1*$NtSKw0_U*n21&cq7wj`|cn4{-C^LZ~_^~w8w;>F>dmNtO)E6LdTlGk}Y*G|}`i z%%#q#=et#Bprdn)Ihu?)zSfwNnYH|E*VgH@^&frz<_po^zZq~Iyop-#36Hp+Ur7Jj zbuW$6#FQ95EXYkJeCSS_5IEN6_T;^PvjO|L7W)~GZYt1CHTwD=wnJdLuhCfzs;dJjdf$|>>cYF^6c^F`ms4#lmkg4(H2xW+PL zV*9(Dl>X0Xek@!HXsl+AA3Gd8QfhpAjP(ihoay^I)P5zp1FF|z+V5}6CWbq+;OkZL zF#oyj=mtWb^->tknw!_-dv``RSVuO2me5B3JFx%gL8FJ9Hpnr>!CL>t(BZ>RJ!3>z z+YWw1KCpY`L+tD~;B}yUXD84n{OSMVhnNqKnZ|aS`sYt{gIK z;E<7n28>3-X^gj7&mmv%qkO@Cj9eggE*R^8b{WyyF8(I=AxK^jyR1d~`C`}^r=7?v zWUc9F7i&Lx*E5p+-cfcH${)l8##ih%@Xz2MtlkHmJ$lf{Vf}}8px)E%JLCiUsxR@; z4}njD52(JrJY(cgr<^wTOY3x@r*!GB*k3^|@5i1~{eOPq@Zm!T@k!ILV>*ofo%HCI zAd>~TuQE0m919XxV+%lHZ0rW`9`I@K;=lr0-s*juSemrg-nN87o8?^0c)gJ8z;T&3 zR1_uhN-E3aiM*OAu>_S<@&?8elWHof^2&LkJ+GcAs)<)miB;$INfZ^<<<;ty-I z360Gkf_1Xb&Udolqb=BcJHIb?BoM!2SF-IN{Aag%JtKL1>VMeHaysCR@FGT^;qv0v z(Up_p6@%)kc<8$@W!a_K@p+p%Uav3YJNo(iS^D{`Xb9vF02xW}v6>$_3Y1=pI`6gq zIsJafpx^V$$Z>v8tMh4f6kBcnEVcu|aUem?uFv@N7eZg+*!!&u7nwhucjmj*49#mF zhnIY?5Yje}ZTIyEZ6D3)`uvY*djeRg?XTchgaq@)fF)AvF!i5l@#t zQ_h#lIc&usZv+X-&8|n}Ur(ij4%TPFHmmY7%gbL1>ex_w$mDvCu3xE~q9Jk|l@kld z|FzH%Ib}kCOE+(UT|jZ$*6#f45!j3WUg?gtpNk<0sQo+vOE-ZxOHDiEl`aER-bJ*h zD+(g-bJQ}&%=!V_uAs`hDR~;WzxYCveK8As4MisF=mKzw+3vf?%~pHdV9X)68&iF! zG1Daj?gWTD9>e~Yt^{-rvf^1p(YlR#O(B>A!Y$UNqY7S}7go_RITC}x>0Zl7VY zub5=I9(tk4y>`9HKL2TxegE%F_NkA!mRs2L>tS;1{$tGF`kAd)*UuU45)E3wua9A+ zAU?Z&>%UZS&za4)vKk>gmsPh#s9%MxSy2Uh$ zOa(Q(q4yQ`@y*vg%vPWPXJBwOhGiy=KfAHjc=}-h&s5jMPpT~|t3RDLx0V)_#tTo4 z*USG=>1%#cFo9Emt>5Pd5eue(byDN!Wd&7IM(%GW#p_)JRz5bCM@W7dp&x{n0P7FP zKEU07qJ4p_7c2xtN0xrZ?~m2~75!f0Y=&_&An<|(IQ}daz_N~^{Vl3xZ`Afy^DCnnEVzpH#lL^fqF`n9X>08d*kf<%-1(B|c?0FjZR1fI4V5QRoI_ZbaDHO1fkcI7J&7imysCtn8%lLlt z0@fu2RBwHu_Zawu)TsUV-w_mh^7!4PeAZs2eKe)9@+sPW5nQhAi~OzK*V`6-hV;;t z(t8?O*iHdaGAU1GO{{EG=`_}FMIK+iP4!pUKK-KiaFPcUJP*FB?MFYKd`8z=>GpzG z!O!%3(MmT^M)d>WGvGhLMsNkVPL2v81O3CN>O)#2MJW{PwRZd2WO+2@w90DUE6YSu z>qRgA{g)KAKG<$b&h+!8?Dezf$I(OKNzT5-*1r`xK;aKD$o;?rDQpcU?K>0yv>dt_ zjR%h3*mw>7OkmG{fmK*5JV2OMKj6tJbpmbn43;B1wrkzceZSU46e1*d}Z0cTeom|p;%6!Z?Pz`{r`#-{(U5JPN0`f+I#4Sx=TAQ zmY49<=ohwZ3h9b2*j*Rmn9f1AXRFr{Tt5|zu$gmfwqE!){AgC-T5MtC^%HUl==#uN z&cq5-=)$jMM*!6-$gb$!|GsbZ`3HIo=3kmmkYC549Y@r7H*MFup4w{Mi%L)U^xJFH zjQb=+fDfg=8+3mJ;<@5GDLpTr6R`!fzNI`TDjy+TMyAr;9eS92{2*}0W^$*;gQ#>` zmpAaM$Q>uv#hL!Z4^_Hez7csInNG(WKc_<}PK;K)g>s``%~!YP-@#yS{MW($eSs1f z;~0IM)j2soP6iP_&9)Q#M&>W1i$B-+%Qk*GcqX_{OQa0J^*)GW|x$7v)R=mH8;j%fWw0O-er#wN>vKuP3Qqp(CI^td#aO z{!N%Lz>kBLdd z3H3$TPmy$!2St)`Y!o!#`6&H9&f&tBod=>0X@HI0KFiKa(eJC&mbj@>`_tnjrGMY0 z{l;KK%U0toS;Sx{+7&!Vj)U*E#&^$;Nqe6B*sI(%D^PS8cr@5o4){(ANH zDjfCVpS}AFZC+Dkosz!!OlTDUlEi8nyxb1nB{eDbM6YKyuG8}x-)=OoSqhy;gbs=? zdW`K~!M}qNFj~xOG|o6-IVLhcnpY@&*T)*$_k!$0G$T+XQ}hqOm7vh>0jfURozE!U zY)E|R@|j`mi>LxcNF}RmZrHDlE3TD0c!|)@; z#yl5VF|BnDMAp0JQ^KKu>RjT+SKv2NlVV?=OBp-OIGVG^McHDU1 zeV1|L&%44nLVp*F_Z5G`7%6(gHBx`}7Tz_3X(77~e*Q+&tFx~`o zK0c8%&$ne${1&YdKeA7xVjEE7a|5xLwFT+7D-I|2?nmsMP3$Guyl|E~vlBOw<8NrM zESVG&VKwhs#y+{1Lh;8`o(WE%xUIv;?c4qoQwP*eSSKlF^cH_9HGX_AUM*$DQzqXb z5Wn2gcM_=9_JeIGXD*{?PbVjRSgd&l$Cm6&{uv0eBv#U2{f?K%SUx$gwfG%%9VF^; z%HIRH1o2SH-vIbJ+n5JG1y`z`zU2LXQ+OJa)Tc$geOVSu)Yz8o;N# zB{<#@F}9PyDd3`jL%Zz&J_3F2P3sqcKL?koKG%8qb5#3Clecr$UrJt2)xzdla_cWW z*DP@oh$pasRo8K$WBMoUUw@G|{qr1JS-i%7g3OY!>o6ta{qgoCuYxkRfl|VSfUd*r zYWJJ}YCfXxm)GwNq)?HgQ~yupLjM+6aMt(#YV95$_0|#~oe?%P+nLasD5dY+Sn~$mD?Nr8rCr zK0neQZN7gZ=zrC@kmw6C&oAxMV*L89)OI>tM3)o(yf|a~?W7@th7Js*(Jgv~eqaY` zi`18LQ0YM+@t>m0?@RZihWH>5#D5*+h0ge-KBE0~j-M`-dCvC$)KAYdJy(D0grScd zOfY6PIrGH%9ptA^i&qzWPmNgrTsohgUJR1DmtLxrvv=0~-}z@&KU)U%zbga(+Q)0% z9-sPuUi1H3^v|WN8wr%oaNGCLz(~r!1b-!UzJC@gh-!y+yruhR-;TB`p?MjjH(1)H zRFd|W!T*3ve)Jo2wjIwuiyZ4I50Xa$64Ch)zrMaSF)Hne0PCleFJ}wtJD6jZUIz;T zrT6ngQf$_O-NCIv9jBkdhickA&^@Fu`uBd+Un^bbuY1961mT)67PiI zWwJqXdsbxo2w9G*q;~I{HA1I+S6^w2Yn%+ag&i( z`i+zjZKBwqf-+%GjLb))jyc*B&_1XCC(^YO$qgs&p!Vd)Md5pm+E*c8KIevtQtj%< z^fbQ;!FbcLhW$_68{8k`D9dU4=uHw6LUrnMpf~9&u4Gd_sMh0$ zdi|e6Cmw~q!HIjSKK%R7)8&a6mz%W{_5=FYeqbC-90Z;Mo~U|QRci-XwH;)l`S$5y z$;k)@J)H-Whb(&=S|ixLY5j=TPcqJABw%b4$)YE+7BevqBzr$?3iW9am9NgpPbOZR z#?EG1Oy(z7I{~m!2NST!Dy();2jwTDVpF{I1iO-3@FtG6)Q&2)+llWnR`#O)au9DT z@rNJb3KXqJ?RRTm>G^=)Z^77{_V)@=Uw|HUuV0UhrG+dQhCT<^@sxf%k?v_SO-g{W)d-I zk~jbdQTgedc%%75z{+O4O~xC>or3dq?2~xU#Pd(C?4WpaMn$2nT&BH9p-HdnPb#K& z>E=n5pv^9_cm1nnN!KmCp0~BZug-fvOwNl_sc=y0|9Q>-7kh2CZaL{d+x{e3y8|XM z6)KZ)SO?CO8b1z-HAJ@OBNz$CfADTPZwaebnU4vT{t2ZH>VhK>3j zvc5?Rr36g6lAr6qo4{n8({UZf0sc~mtOun#c?Ku>@oy9sCm~f}^27YR0=@;pkd1#r zx7B&P%Hg+nIywGSP8FDR2S1O3&w|N#8r6@6dJ?Y$ByHm|TQ-wka62jSs)6h4x7hn6 zbX}D=D6wkNpRuTA!3mwWjocqP4r<*X#lAv${rG$_`qX(Dj$)GZivnGuKtZp2x%fP3 zHV5HZCSf=tuf*VVh|HhHi(s6njY?$r2wVlO=-BvJNj#LHrgT_(sba2FbqI96P&$0i zI>tO$WYKu(%?|_lBFly1w4Gp^9zRv?V4P^2+>-3&hamIy$=}%dYhd^KKSQN#J9y>) zN$XSM=)2h7f&44R?;tXt%13<#r=b^}KN72_p_ek~lJrQtQH!#@pm~%Zax^>+TRc&n$ECybS*=P+n`dWsIq^QrY+8tMqDQJJs=% zKF{>+LgyKT(y|(%gJR1h(Cr0c%o>as@GicF@lD75x=$S~+m(Ee^G=if%#kMNr_)W&@JCHf)kP*}PL0XA z@_>zgx}ZYY4Q$Q>;~>u5UXPV|`Pv{=l=a4xWx%%3N2D@Ri6j35383tcc5BKANk(!j z3E((2BSx)qf9}(#QtG4T35}w{vYYK$TS~KF*`wg&+79tQSU)MdpLWGw`3_;H91uUO0 zH5M|I|1b8eE^<{<^zjz>w$!DJ>(`w8UnYjN7loyX0$wug4a~^>6Vk;L%6l23>ps%kJJP&B z`A*P06ck;+gV_zV_EK7rh*z^@CgYMysn2L!lrxJL&~YL3al7SvOO0xo_WX6M zpAL>ChQ;e@w7vDQ!orhE<7IN4LdWU8e}i5==)4<*vv=HC=x+)le_uq$U$~eZ+>zgW z{6R7BYY!oRXcv+%|J{uPVpSQlGllZmoPmqZdYa;vppJt(+1VN-NR}~oME5D6zo(t_3AjAHoMFAZ@*mL<}aH-T}JYKXv{rrYTtbVdy zJS0Uw42kk%kkPCdD6I?c~cO zPKZD7{H?Sp;PpFQT3!Y&xBrw&Iv`MfFEX77GFY^$!@Qujs-6B1OAyfh!|uu-1D}wZ zjQdaR_w(OzD!umkhp_v5c5h(+ZfOtrypf*^K*?_i!ZyDWy?j*=t0;&gdkA*C?k6_& zD)*vn#oY36{WrVUukBHq_wN;+k-DdG`{Q68F7FJdD0ykB9!S1yj;u3gD4G5#-|($l zD4g~H-!_EGsCB7rbw)|)bzfF+WCjvgKxfbm+SGXBU8hOb(;c$U#%@Eu zgoY}JjTHykV=J&1g^FG2>;<3<9$ZbB&k_GZ`%K0w@j>1H^uFnSS3j@@{Il8i!<)gC zrpHw`njTkYne2wHW~&ztGFxUHVtRaYq$Si5znS^Bz)Pw>AU~+s7gT@a`-6&JZSV&g zk1DXXiete3N!haZ_%yk{ksXyIEpPOVylr`--@-=n#;G)=f^7FL}tDp$Ak})Q|uL@7b|-HU}GHh*m5CFE+W4SBL!Q z{F_{?Ww7&~z>oGxr{d;E!T)*9|ChMl?0QDUAWN;H-fi!4TUfY(A7n;f_N|c4OpB14H?FFcTVa*V33QmzFh@tsTJ2*+NMGRy$tRnz-+K9sO@}7 zUU^DozTA>+^Ki-oN=nNLU8Nki96A5(zCRnwPt;V$3Tk?_%CFClWI2HHLk>`JjV+rB zF`DB+QI^C@vZo>y@z`#{F@m&?@q0vDSX9&KB>fb>b=f{(#9cHjPX&N$a~ zZJ*3$x}O~92RZ>?Jk69}#Pd9RGDblD=;1+pCV(t)LV1d1W8yy$^l{%DjDR z(E1_#MR0$x z(CLxjSzwjPu3QeT6}#c5p~@lY~T4Hz2-R*9o-tV5237wz^AEzaCqOGci%u8 z`d5}YfTZtxz?MxVv@Fo23Y63jdCzl2rYCl>ZeV$tyNK$IpYE23t`lQYm9wNQM)Obm z2SgoE_P?uFxfcf=1`Yzx1E+#lf^->6BVum{EJ){bNmy z$#H_{!M!r#87j%2DqmB2>kF)Nb+kmb4xop>Ra?gHszmKygCE*>6D!dBMxkf>-Mf!k zJW1&~7u)P2x_k+@%jsKI7s$-n|X5I=~!;@9*tMYxE zh*uO=RMzmlmx7qwa}Y0&m6j=~X8jOVuj&02%8x|K2cEJDFI#m2c$Cud?*E7^Um6|B zTVMFVn0woKf46+K(0+?>WW1<4o+$B?Ry5P3^V6y`;Qbt9?#5Q`k+1~3)8B42Z*=>% z#{X5le<)P!7ZOvbaA5d<3tY(mnn&I5t3sq_pmB=&m5`iocT}H|A#9y zR-(@RP0oK#adhxU7Ht2HxPtz@1pFoV8~rDHs~znT+P{0c!<%ii|2_!v{=Acu4? z>GHcM^>GFvix$mn+@_0M`S5QAFR$W#aPt;&a@%~eA%d%F+|55$0=6T8&aaTb3 zBAu)H#FkAJp+%pM>`jG)AmvN^s-IV<`B}AZd46#yd|B=W$VcbhYi--YUykJ`u>Gna z53RzvT7V@5N^Owe%_}tTlkxnaG)iYpmfTjsZ(puviP1}xrhls#1Xce7*KvZ=q&><0 zM&_qcEynrJV9ZV4l~#L!_Wr-m?0qxtLBWJjh}?d9KY4aK8P8?&zQ9h^7DNSkNcJ(? z12ykkCC{QJY6|%+aGk3C{c+qGqx=&KjWHAc$UK5^qjzJ9aDc}b+Eu>TPW~ymDZX#= ze*90`1k#Hl$K<`iqbNIwte-|s5K92%T>(KmHTkxo&WV@4q?XR+`K$4AA@@_p9RJSO zQ6le}G}7cAvP}oA7y6fUg2g(>*t}=*U`s!^;yC$V+{fFK-kbw2l>Z{zgN~QmG!XEF&>?-8D(!k z%Rv87D>z0^bQvvfIf0sQPr* za}qVo<_fd{o1ds2B&q=#2QP!tgHjTPnLJqV<6u-hG-?yfI|S5bx1`B0z^}ly+MgZq z+?~j`!G5PSv~v0m5X#AI$Pc0gYrECRUJYO6-$d4DdOVeOv$m7mgmzWV9ayoB({2y8 zr&+u8)+rh}QY-_Uyo#eZs|-u5X67%@E0} z^qc!{G9EtcB%ya5RB`>2%zt`A2gO5welVbNy}@ z#Rr|QVjnGo+TokQe6>%j)S4Q&E=Vps`ytk+@LyB#TXGN3Oftw>VtM0RZoi{yQ~Atm zolmjjX7lUn11ui_m(};W@=`e0`0CHE#Y!_9pXqsoZ|8cy!rsvNmD5G_Z`e5+JRT(3 zwa*I(-y2Ho&7jmZi-S?evCjLHzOza75obW39#g2kg$;pFpB>0yn~dk*RB$7P9+Uiu ztcQ@Uhy>_8NbFbNWXq;n0!|%>*{EyWiEUG(E8r)q$+W7k0q+E#q8^A$zY+b(ckI1y zkJuLMuZ@GM7ZDlIILLf#+asievZ|Ad5E4uTsE7do?0K?N2KGnx&M)@ z4@fxMOWLda?}@#nE$;rQx7)-q)Ez7PmR?n?I#zy2TDh;5Wn6FS zd7iIHc&n}B!k+~67}7muio`a-ia}zqwzq;`5f)4w2KJX)_}CO3UGE%KpQwqK_u*a$ zzKTA&zKZX3tKU;S3%y=W&sWm&{@O4*rR)e+f-qS^mdQ7^+Z1wRSW{X{4H`{C_5_TZ8v44kK7PNmw-wCi* z>b(Aq)}Ov!Bv3f;^ejDhCKIUt*}oD$b%!Jtv2#862as@LSQxPJMU+m3SYZNA6MnnP zv9C<-gR}PKT2Og~A0k)cQmAAuue6u*gD2!%H$J*j{wMf~)O1o@d0X1v{6XUi-Tuqt zoGdb;ER^uR=w)d1!w!loCws5#3vXj{*8>y(rvKjn-vZxP2C}zy<6rady#uz=x2e~Q z`lM5Fekq7Qay=>e;y`^ipyhaz__d`Y8M{CY`l%^`H%3=N*Z))E4b~7f&ry0`r{}u~ z&z@>rA0)oCv`vDA0R6s2Ioss8)cI!mIuH4qdlO=0er%c+&i{2jRI>&067y?zP#&`T zy=!_tf+u}sz2m9Xjn$`KR~jN;n%C<`&u`-Tk^Eg$SzQp%OH7Rw=am-b4H@Vjq-uWs z2!^?jCRnd?eoge}^rmazJ>Y#$$7Ibu?92gw2}+`(*J&gkePN%k)0-Tr7wE9-GgUOU z3)qYMrm)_=dBz-iBY2-Nhv82T>&@y49{sRN5UW3og|x%b_ThJfkFzX{r3KecYIZW& z$96N>b=!dhz;WPYaH+|@@gZW}eCTWfi0jsPFrdULw6ha*ve=T@2t>9Q8?WEy6p0Fe z&I6d69o}6^(&SLt5kSQXvKw{&)u<6&+6RKMP;(CZ_>WE^~J-w7#aM5d$T zC#@ZCeGGjeijGURYE#HtQwE*^mNwBpK^|0dIyL!19r~K*v~V3LqWql`uWBB!+->f^ zE?)IqbFPzwzOm4BF?MiSr{52)pF5SAQIqwPtnt^}1v08@9#u}VxA?+xq;X4JPm7>- z`oAD9^%+!NRa4JB0QCiB@e@lc+|3T0nR;Aa>&J;bH=8%rOt!>p@H_&wyMu$_^>OeS zsqy2OSV?B%Cq0h&cBX5`-JtV#p##*s!_P(F6`=TGn6dfZ*BZAdxw8L$`G#Kzh$@+0Ge~Buu*!lW=dH88m>9k<}sPao{1ZX@Wf2;XUN_0jo;n#vse>qiR zgx#$z)vRDkc2kRjYKe{M5Lq7@H-d4XHb5R#n+F~a9;|YA#Pytz4k8BET5DMntvwO6 zamc$bFpwv*9O>~fq=z}FjWKhsCDhlR4))XhLM(t@s3mi+JrW!kP^G^!>0j@D+s=uH zwfBUaZO(ha{B7nMCx!DplqSfUpnOxHgXVAgJWF^(fsKE)7t+g@fY*Z$S{{0n!3t>n z+t=~5>TA74OfG}kMI7t(RYT6w|vn_S}XBo0f^}~j?-B2ixtPUEb%>fPe)Y0pz&4dI~&(`z>$yFz5p44+Bf;Z5DiJ0##f0u zYENsSH;QZewTS_hg>h;#&_hTUzbDZ927V;0uwJ21`zafd{Xd|@*IhxC)4%UR?1yz> zeL0EzA60IdPk7I9aH@ih`>GEYcLN)!{ni~aCFup0K5jdOD2RsZs$c_WKv7|OpfDuM+H$4ugmqWT}N5^DW=#kS+8Gu$- zs{L;$w}a2qRh#LD^cW912KRy1Y2ZlkSU(S#vL7`^frCQAZKc~edB7A&$G-=ldB9?> z1pe3wlN|bTe__Rk@-F2L$^+b&eJ0m(qidKB@cmB)`I63?f9q?O{JR!XZ{u+5$WwlY zwGjfQ+yvfXbusliyVZQ;Cr&@jHugT4yQ(k4~OISh~8mA9stA0xE=Rb{4dd91huXs~^yhnZi z!opH{#41)cq=L2La(&+Fv{;pEG_u}w-Db*r@bfYFs6BmZKa+dVA)v6fQPAsquO^?H zAduD;_Gyhbyl~T<=<}gXtbdEyX-j#nwG_No%+Kd?4`N1X^8nSi%TM(FQ^^A*(h5xF zkE{d0V<<>|vOUJ-Sj&&Rx9VxQyuA`)|dh0iARAg8uGWG+Et`XXjn;Gf?Db;_BuZ z&>zBLTUA;8=t}!Ex~I=Bw1H{rIJ%ns{Wwiv>cPk|1H7EV7N7`f?KIJGcDkBIWdzB< z{f_p@=c!R2QAPjbP7z{%h>;PWQyA1h4O%iP`h@lUJBsbtM79rW z=f_!6IyUICsWGrX>U{q@^}IIdIn*oJ>(uE^ufJoz!qPNTtEprWC|eAYt+f}mfArd3 z`?vBHTUwg`G2Exl1ZPWKihNVsAfNEL7Cr}6)bPp%`%z>|On<%cB0~!ZV%>2v>;$GV zcr4JA0wu}o^_ifTm_N%30%yw{VCo{)bq{gJcj6|p{dnU@c*AeXh;(_Q>RbB#cJMCn z79FSF`jy7D)z$jO(wfS0`A(i*tcp$_jrr|`^o0)>Tcqu96pY0U6CS{*Cy zbp0ZBJ+03DC49?z#XHHoJ$Zkjdn?+I@+y{ynjIJ3Z`kZOv8!fz{M1*q z5yKUDg}RAuOIlTzC;Psi6|2e2uG8~)-|qDO%6*{I&(bt?63h+*j|L^_>jA3Y@!wmf zTj}c zyVqn-ywc?CHIw}Gbd#Oa)8zDh({#P@AlE=AZ6f!N#&^|+s2WgxFm+nz{loK|Rn0`l4z;^U-T)X|R;&q`GOcBOrrVKz1YccPIHxV&V4z zlItp0IBDFNpj5)T3a+K(!46tivF`y$ds~L|qfC+OG?xp%AyD6))zH4wbH%>yQQ<)D%%=(|xw3y9KcYR_e6mjH zJ6-E|+Y$QDYQyZj!43n!+z6ta(EoVvSE5=WvL5U>7rJho>orbXT%Gg%rj7*z^Dy`f zh(dySv+pbhlhIM?q*NZacnB~Z7)Zc(lS%2w}f@bfaS`@%ji zpK||Os0VRnfcl$jdHU{YDZx39P{7j zB;^jfejeCaaIZ=|akieAUcZCJtq#9_uJo`kwJp|Y>RE58XIZ9xuO@UAEp-C(Qbu0ww2t!crww(l zRMS;+>(}d#wRE>;=|!OaQuHZyQ44BV_x-wPJu^E<_v`xoEKACc>+7JiKq_QhFJco1 zD=D)`;?{>5Z{GDs^*8GVCWVR2kNOp*?{utr?Y@wmC-i~(%b*Q2SxYHw32I)uf*tY5 zVEqj6eD;CJbQ@JPNzniucet+fDL;{K^M&iTZoM--36kzxiU2ygzI(Z|sb-W~5-}^H>fn4X+-?E5 z_`E&4{z>+Ur}cO0y1-}p-862eaxX2l2U+@2<952dy3Stz4`}=w{10~hZP;x6o9_M) zmQsDtaUi{I`}ghSye>32Zk6o>k$Sa5>3wU5ueD@{E%T~& zn>^mPvsRAZ$oLg|@#3kBBR77h&4u@?!5CPie0t+vG8pUsy*L@Q-&KF!c^coO#Q-#K zz8<=hr3R*^O=0sLgJL(z7-7rtRp`GRy0Jbj54-679P*|81o<~1{S(-cFfTBTn45hV zcr*oqQnR=_t%QT7%b^*J3$^1wAL<9TrxnR>t^hA?7I$Sn^4S@Q_`rBkjE}a6VP`}y z-JV1G$gTIOh|JO-7lPL`;n{<{Vj2m@v|kA|S{s)wn!2dnO@8GC-jk9=}Qb; z1Fi$#Op)((YCcl&+D z+yaVXb_dh#ZhChP`jH%(fgY^gIX!5&P!A{kx%^ID#yq0nv#H#$o3z~&4^XG8OqbiBc>k@j%aFx zh_kcl(hFoX(+3CCp)dWu!qMmTzLl(mlA0yr8S3M^XLSiaY`8=AreE73&HSG?qU#+* zyD5tuD{gF1s$#w4bndBrvxC+fvCj-D<_Z}(zz+Vy#%-PVtH=r*;WjJ^yC_`BsyZViG zzxPP#;x`2J9)fM5`xjd_(+Q8J9Gnairh;{MTcBb(4t)A!;NQTvH~@&;4;r_WzK8^9 z+`<;8zb_?}F`b0L0w$tBN&UEYy)!C3xo%WKM~+z5LE|i$pQS#aqx^gr&c}iYWAcF- zPbAqDxn$cp{&U8W()Q*L&VTk?GtJ48^q0BF0xzoXL+sZK;vJs zzw%Ohm6O!on)#<0j{c1O9IYpy%X-xeV(yF+rOx+H(hE`T)aEJa{>ksh8D}_}r`fHU zF@l{0$b3@$LvOa)j{m%mG?OH{A9~W5ebl;s0SrxJR_i5 zH8q3Dzj+LlIMNmD0jAg|ezBQ6QP*Qa`p%E*GdS=vbR!KTZdk ztINDe;<6k&^AZ2Z&e@NwuTURif`G>Ro8a^kDKThfyem5bzCNPbq0WN>KbiEApV2H9 zGh)gYaCfpZF8fQR$`6|5kIdjC>J<_B$t@&+HF{?*Rnye05;WqB#pC z%#yI>Nh3QbPaDSbQt`s@L-Fp}DVsOUJc?0rEcjFKBxN9bTUjOnG;io@_nZHQ@l2kO z>XS~zi)Z=-RrCK_ocGN5+ENN4*vzNl>wn;2P~*LC$6^hc*=u@U;oFnmi_slAXFF+U zp3BaB@B&bryR6k{oY>fVL!yo!e3S;F9;|(nRc!2CBQuAatS$TU7V8&G?g6)%+`Rvo zo)1qoJs+KGdOmg!?Eu!_syxn?^qwHrU}m0ak1#VE*pZ-gJ=g`@8f&^A2As~bP&zCh=SX zNgH0l{wLtODgNzEXP+PH_w1Z;Cb(>1!*zldBFicKdiQ5FqjNF;U(w0W(Rxb-qDs*~ zui<4YuGjeMnR-g<|0(O3_J6UfX6pm99DnkLd4XBCx-E7;OY;oh{-l>Ov*YwQ?)S6K z|0!^*ZaHhEr8pa3IeQj} zrOqbRq`lDo%`B`Us$JTAzgc|n>`LQ9C3Kh@Da_u5%`)(6PzINc5A1lL{=vRCAe<+7 zPbEj@&yHi^$JxZ}zLw1F{T#X3602SW-vDLk?hk6b@a~7EN8SIS^cIq@p>T1#raB%MfoV6? zr<)fhZE7FK^K6O#3f3!Hzt~8PbT&AfiSX>*LHy%vne+pZ_2=2CobU1D#+mx*TWC2Z z?b7M93uH&Y=SSj1o97cULIjewG@1P=V1*qI;e8isFJGk2A>_>H^1^2;^N86cw9}}e z$l14!HSBu!e6S3h)3gF&(o>)uKYN-`=RCdt&7bE~#LA_ABgV_liAVY!Zp+|i{Tsxi zHOD$J!gw@6o;6|psj7qG(NLZu;NfQGsQQ{F8-Hd$MNhv9azFm;cT9FS;?X?Ei^d;G z&07TZyDO9P6R&l9IQg=X5r0%MYo=tHWn}$)(J%L4?2J|L+&&MP+(QRZKG5X$okI>? zK`zbg=m4JS7&xLuk{MN|@|V|~zh?QY#J|~OpaSw$E`hm^u+k|0_dW0G=!if1lF>LA6hA2eU<**&k?W@-5jUb*ztK#*%=nV)e8ZoMvK?%6hpa%u?(ni0yn=!x6WfDo4?csl0SR&!HGBD1Sp7?;0c)=uhavS)N zXbI^0;Cb-T-T`di@C)jKFk)zo# zlIb`$l_M29gKAF^8F0_xNy=Fo;>*#H0 z&h>}V-P2?pJu#r0U|1th)?QQybGAR&$pyP}#n@?=rV*T#10{wGr^mpD%uoaxNV>W#1FxeXzCrnreqK?U7+5*1vc`Vg#_RDm^|P2Q zpmAa>WMw!DG!QGhJOE0^^ahjkKhXD)$;V6D-Vcqk{x=s>7El|&+s#22b5(vnpPIwS z*L=o%ubn-Q`f$7mdw|M;PoE<$Two4kv&;LS81UX;QjQNx6Qkl4g=n(0NFI~pijBLC zye;;G4b3?M`nUzdI?|l|*$T`#h-Cq2c7+eK4=9GG@_ddSLldSpgZ@+f%@MNzRDa|> zbB+R!k(w0!9U^7y#?znXJsVp;6+2rEf1Y&(IhnQ}>U{@jp6=wn-I#+;kpF=>gORx( zcnXDmL6tk|IJNRgCbxD&O{JK3Kp?E`b>BI6&x zrzq?PCi^Lrv;FynBB@D{6NR@!PEzYRqyj4EAKCwvv=7X=3K{VO zT|c8BgHz>{{7%MUTK*r|k6XDe6#~YNL;TvDo4}i;CPl7m+a=ddwE4J`>rd?8E$sty z?jvo)adwkfd;pk~OUAF0D+o~;%5}RCaO01VKj%sCX{kw(>*03EMNT>AKTfW@*k3N~ z19M(RCLBPwQ4|gYlX87(<&rfEZk5t^rDrJDb3%ZS@ESk=gw&g0qtv9x^=iB1BL2+9 zXQ>_jnf5=H_JO%s$W#Mj{D#lQp^LDfAQPm2fX|wqj{F< zdG0Beg!%zgG|VB z{Ok?>j1_>DObWBW9l+k;;ozy@SscsgX~41?E(DRH;Z~5vk%nhM;%LK%;0B1`Ic3%| zr$2ZONKBh^DR?_bRG#xL5_8O46e^=rEO;&~&ZSM6EzbR%D-qj+;>iCGps9hFy}{(} ze<=p>chl|6&rO%|O0(_ynWhKUx7{a$I+v+U&fCIxuqRsD!u2yfG52f7**v!01$X0z zF0^(lcKQx>+tT`q=YTRCpY)c1`X6j=-c}&nRC}IBL}^Fdz?$am*Ub z`%gj4)8J=A|FZ%)TbcN0CZAZMfcl@KAjvdw-u_bK`=5FAL_6eTqzMGqp5{rH3CzRc zS)l6_C@CH9zJti}$T-ikC}XRsQA)veDD6MW^G*hbf&(la?>e=_t@rhMaJ;Ze7w2O3 z3Qx6O;fc-%?fBQLCC+<^x;>nm$2!^K~FdD^bKtW9A}n~cm~ zsFxnD-*<)Hqg)Rh&h|l1Z}6je1@_=e%n`!u!0d)sEJ>{<5Z=nZ2}5 zFW2=O{%YQx;N9S@+HW5fR#sHj6jaAqVf9Q{2uJR>*6HH=RiE2I?`d#8I9KU@QW+#= zqS!=u)dsrDvC~Yh+eFWM7{BUgh*ioL<7(dD!G+*UR{x$7Ysd{4XN%kDx9GQ=g-<1Qw<$8F$c&^uQ3=)W(yiX$bv z=|zto51tO<;OAk<^Jak;fWHE70?EtgF>$CuTk}4lHAeJ&v^by0IA5aQ1lnmQD1Tm@ z?40|@=A(=61L*x@7nq)_20Ll!5eE}Y&K{+v=i_zlyMJuZ6kdIHVr?RCG|#J^SY0_O zUTxo3{FvOeF#mk;V(=H>ua$E4h3{Gp^!~9RhYh$&ZfzV2TJICK?v6#eRXv=2)o9vti=7U{8T!hRsY=MgT*Molsp9J5b9%yRdn(6j4 z-Y45+Z+{4Q1~>`41XQi+p`G&62Khy$fXe?El6<5^c2=@81)K(w)LQwapT8;MRmD^Q zQR#J#|63p?@jZZ~|2x_V6Z*dro)0JcTU6eG{!iV_sCf01(gOWh5k#BR4=y;EC#Vhq ziRlZ5rYctbAoVSS`neARKc;@rr(*A0O#ZKaF!ld*KiFW*IRlItLv}XyW@E-P`11EN zrs#5Go?LFS_G9<>;$^N=lb)%IHFhu7E^7O-9;uwaJU4r70m?E8LLtTF0%u=zo{ zANK88$K&JB87Fiwhy^jWs37@$B$C(W>nD;AuNFU?qTc9ysXtaeoDHf!#`P~4137^O zl4_vZ8u9Lb~|l1w=HJ{|WZXZA)fB13ML<_#^Sh zKLFJq3lmfQ)(YK1TQbz}Fxc<0?T z(U_aAvFCM?-`!wa-`s!I?_NmWd1JaHO&6o@Uw6{;>XqerXP1`^<8$e0&(SUTFFpQ_ zF~{xAmx#7c5!yoHoF!RS%_ zztXCo=v7+5qvJ)fg1CDES^duXA;U%w8hKLx0fXFi^aXAlF6`_4<&)?E+fi7!FPkGk zRIDzAiB3wqTDYr}QPld%3TGsiuYcR8o_ode6E)R5WYDWsKAk_4mIM~M{AD3m!xrkC z$(MT}QAFuwa$le3B@2H>djrA2WJ4daJw?gskB$oog)M^m&5x4f!ini#ddC^5|K~OT zKRqv5%}LmP5B^aa#neMR<9Eh0MVh-YI)2;~49V zoYx6G@BRPw{-40U7ryNL)>F`VQ0U08dW7w9pyZg+F*eU-Cm44tp|AJTG#4{6Uz+DF z{1dGLn&OKTz4a4%A+0&{{oUv3jh3waNt7m+JBSU z2<>W~tojpG-S70rb&-Yd%K1|H0b7}yQCd&fQ=EFS+nD zsqyp}O>d!mXlButPQGVo?`>%h`4)k4!@6OyM&|+6KE%$v_h2-$bN-KTJ;>(&3)j)K zwEh}DuR?Nba9gSI$H5{pl6J@^T?6Pm2fJ9bi( zXxuy)y?$%UW>Fu=!&FvxDiF=i>z2C$l`>iu($k`yMLoei!Nc6yZWDR@h5U$!fa(<;cvh2$0+6IAGwsgP5aODPn{Fb7csy4 zK7hvai;UR-D#%c@P(pUTv&lX6haD8p-6sUK?SAuL_1hmN<9R9-4p03*ulfHPFBhF;TV5nf5x`uaetmDG7>qYkjcJ2AY2CiBU=Gqn`Ue>H-okYj) zWxSh2Ii{gbgvk0(zo7Cv+X{5N=rPCMq9@t86ubr$=dmBCe&I8DZ(VtOWW1^@rcX}> z^#%6RH_n(i+|F|{Sr-cVlBf-+ze=FRf7-HHw1S;`!RNuG|CBi7zjs5*>&s%S&sA4f z@_t0gBkX%$gmry{x~h`dpKFx7vTN=d({=C@rt2*SnQlk_&~$qxVY-~M-emvb6Vv6D zoxpwF!JV*aL%$J177vKU$XNixCRt|E&Pgx`(70|vTwl8{^ajWr1`PkU{TG;$|&Nl34A;{RfC+1~?j@xSLPadRo4>!p`>`g*BkeRf{o!1y}9bLa)x zLEeCpSVeJMi}stS$>myiy=*aIXz`Wc9Uvpy2aVg}=30c*_1Bd3+LO4rT3a2Dyk6V# z@eOc7qY*QaWQ{Baep61%{1<(VE?D<@Y48`&H&A;o88y2_#{g!SPfbH7gxRy zZe`k^GQW~h(=qF$!T4K@$JDrlM_r5;R#^N7n~klLE`Ch-!roXXb;{Q3{3Dm~%^>`6 zY&&DFz-Qk_)O%#KG0%Q#8}7_s)l0_fv?7UsScYytVE;qe^XIjT-*)n5yiU9L3)CzPUte-^b4fPGnqXeH zc)H`BSnHsKcUe`+T5Si->ss-tc3!vScvegMgM&b~Cb{fd%ZbkGjtbaH->Ut*A9(IQ z&8VdQ-`ume?5~zMJ;(~Kz|srwsCdvN!@yBe{h|5W#zZCDP^PpAD#E;IG=DEs;lU;KzrXx$LASbYdd@c)To%JFGTwk~@ zBj1~`q$N(vv6i1T$@<}Z5VEvF>Z9iMAwT}Ss}?rOl>j^Q;N=}qhI|i)+TTjIvb?;s zW>{@`emm|HQ+?!Edivd=Eg_5NS6K3Mf(i?S*|Ki8J@`XV`(brb?!uEw<7I^?t_^a# z`9{~j(=1)SWHwuYCD%iB;Yajvrxw|{3tku$+0yenfMTOcSKcqgx5Md&(WT|wni4CoYJ(oSSvqQuQy}-K zEt@4zKoiH6y_kv}L9qd)tM;gL?MH8=K6AUvCZO$a1DD&|vRO)>=j;mpgo>R(ZJ%Kv z|Ff~%24im6!(`oaxyick5|j17!6xg$yG_>9ZGI*XCahA~ry7Z}l+G8E$ z@@&~GJrtUZ`5XqN`4O13N1;2qI#!Y39s(}No*J)ji@fypk};Ui?`it4&_zUrrTw9~ z6l4OX?{iD~8yyEacgsB9G|DBjr7q7-*r6a;%l{ta60$H0rpqa*VJvR1T&&OX;Si#Zu?zElbC@ORnu`bC#0} z-?+5e(lkp6(m5-@FR9oKOvW!PM#&O_(vr);KY;gvbn=o{z?C41 zS;|0Nx*v$eEv2`X%7|VF-Vfs7m#$)c9!{2V%(4OCIItf41++E-O${b{Rsy`kC&_7Mo#X4znW}6A&G$I3f++AF7R%tX~#Iitu4h5s6SZF z{$tV}u=Gj#6^&J0F!s?iFt+NNc}?_^BXIdq!57mhyOtHL-1p%Nf}4)v`a2h!DZy`+F$>m z{dLkluyg~2Zv{oUdxFXS61m!%KUujLH3I4%$e))9Vt;9Jeb)xLR?|q9#fwI}^S>p| zN#lU8w~MfTd%ug$A9jR?UQQ1$^L+I@J%P%d&_N^k2^D*Rs)vmHym$x!?MM97GMZVo zx77IjEMtPwj&VndyX;uUKX$V$Pud5T5&yfwv%W8|Hx!gsbqF4DziXF9q5#XhlKVHv)p>p*Y>MNwu_E_wf2Tk|+8*8odG<-#tP zoeh!(q{%h1U28~cfn^M+t~Y}ZQrH(vk*lqFsFjO|E1=^Gcf9OE@M5V+ zkqd>k!wz?m_Q(p3u-j$7wp+98Dz~GP88@L(I{y7mQT>JIza)nsPUFpjbtjE)P+N8z z_$TmYODDWOrt^t4d}o8nd`&Q!=ZwhtTiW$DZQozF4f%mD9UsKoWsiY3fe$PFb%ji> zi`v+n8MHP89M>D-d);}HSJr}I{ z&poOiQfz1KD{E_$d-QT>z7D>sbk?(Il86<@hqUni4ZSW=S|Rs5)Q_&T^S#dtG`X$} z7TYrEpHL6POttre;RCB#_5%2v<;OnUUCJc3nI43nb=E#=6Y=Uc=pR3?`e!}id~9IZ zH{b^C-?dh*La&3h-qWYG2J8`#{p2=k|Ag}6msS2g@Ub;W-g*9(D(^bWM-7Xdk>yLb z`;ZRyt^N{sbv`qQ^O;(lzmv-KS;9@)`Hq-dzU%;c*tP0+OXv{8m#qXpYPu6;A*D>- zmt7Cu13qoc#G!282fyHGG;%)K-1&Qghl51o^G_2kH;2f4hI*jCRp0P*{?VYs`cEUb z)4G0<^Z#*o9$;Ej*Z;q}OA`@MV@oWk7;9LKMvWZ-l?bAOB}OCbvcT%X;uaKRbYo8< zEWMXy>AiQm(HKp^n5apNVv9A39Tmg>^F8;zJF^Ae_ucaR{(7G0yfbs(nRD(v_q2QG z&WzDL4w~nJ7l56;e0jPdF*$KPlM_HA@Y|ITME)+ndS7qwr{KlL?-OqqQExVYpT;#? za!N{gA9P;cWxUM>qv+dI_qpy{UAu?Bi6wTQYb4Kmk((IMM;>hb!lb5IPtb+uy}A_U zvb<|h)k4PYwvO>WV*Gs-==mzP8xnQ#TYD}ct9n^+?nge4 zXg{8BNh{N{*P8d+5_)~#8zG;30X}~e9~ti^w&#FXf+PjC?zi1Xgt7ZfZ|zX5sn^f) z%=;dL4PgH2WvcKmknx<_jlKJM$Kz`p#4{MhPCs@ zZdez1)4+`HQ$T9s?>lS?2d(I($3QedQWyp^bt}Wryl(?k#q)b=wPpZu>qz2RaU-o;skY)Mwhqvq2N-sR z=buo-!J9_U2az{?8=y+hFR#@a z^!#qR@UHzDNzbc20UguxEpR5t2_@CW(dT&om_DPj!?uMs4i~$f>hs4t(PzSt=&cY^zZ}2AQ;~wRV4h+;)9`J;(oa!K{~a zyZM{pop`FX7kDXnRf478n!h=vdRgLVRCtfAQSAs-Tff`pGUtYV!24v*W=rOJ3-O|4 z4)3bCJ8@mpZO#9EUe!vUpM7P=#?+68hAWK#hX2@aM_i2lkbezloHRUFWpV#5?MgYH zvH6mk;~`NmJ@^tbhZDnw&+s&c-x6pIFK6c$;2ofn zKL$>|-7&uLekk9A|K)GedA`iXXT$G=G+@4vz8}u~z;K)XkJBGMHt^rZq*Z9Mjhl8h z{`2-TA9{;G<{J_)a+_%qJ=25#_Q)B0dM_Tm8r1*TYP|*hW$@j&qyFN$ zYTe~&bm)+~!yepT#(PxP;5U)Z5N0ZVi3RB^;j$w2RC!??m2AYKTKydP5nROZVT>E` z@a`J+nawgN*Ld|4a2tq`*_y$$?X`aT^gq}EHa>p^>Ff>es}gI+*I^P`#~MfP%$}om z;*!dHgz+(RL*<8x9#D=QWE=*5pMzGQ7yx8d<^2=S)8hRCzhC>;{MDzuh8CCP z4eVI8dXD<3KA}82UcQC$Fa7zVX6^Vg=7-EbTf5P8>p$$XoLF3bk)8h*znLD(kES$? ze3G^^>PK8xIX1p$8_{F`XMXF-uci+Nf`chg%++*RBlTl%&%@#kDpH;gUazvae=E-o z{L+p$|2l~`S#*cyjh>HwUqpV%!T85ci^Ty<_P1@Lcjx^!$jgpY2GRX` z#^LgzTnd=qr&r5=1Ky_+lY2UHkY2_7d|a-xwn8uJf60G+uw$myc2l||D96Avm}tzv zz3Qd#-j1cmTF>7j=cdbY3QF^O<=?D;x&2AX)5trx#6W&r>zUN@@-fa$M0gYNDig{6 zrj29nHl~s(sGp^pfboY-`3wHomH!LgM}u;zyMcA^*ZM^} zy#f5CLV)pyO}RXmp!{8UlV4}%aDahD{H15KznY%azx}~p^>!?!@#R>7!3fgk%v-@< zbErPh3Ep4BzjMyuoLm-P*r}8&KI%CO^grG&;qPeN&uJ<{zcYT&&1JOB=DCR}uG#xf zx#rEUbj`Q*r2I;^`|EdrGhNn+&+u*T*ZDr-@veE+Ph9h-Zgb8595g0DyFS~r`%8Y~ z3);t`d8PPC+Z*YZR0l}ptOwukkKG9Jfy{;A3JThR2Y_kUE8-&+0ZfnBA3^S6Fycgb z{0YQo*)s^$^teWUHGscV1Tg;WkLcu&-H0ym{?xfFh2uTJI`}t+9Z7_M@n^q$vOjj^ z)8I{v&N`NYy+Gry;4Oi-ClkelhnIqPg6lxCLS+_l|6BeD$IpPTfFII22#&xxj5rni z3G-sJ*!}{%7aR-z&bg7$9(fUX7f2)-i3c5(0na+X$DNs6ZK0Blwc`*dT^CLtF%UWa z6zoTVj8+})$ARdj_lJ=jQ(a$^h+B>4Pt?VL#f+P&>6iZ4jkujYxBZGVm~7l)dHskD z&?T;qc-Xm_!$hC`NB!3F`qTV=?O)Ts_p9dds#+Z@*Q{YwE4zoPr~;L?(CQa$C3)e21BZ@}{(;J;L2dFEFv z>L|roB#zU`cYJ?}K2^85v>!wJdGJ3*PkQr3Nl8Jkyj;bX1SB1=M09bl&Bk-xjnKr? zjQB`2tlppJ4;)xpqL*>{ARS0rU(>gd zt)R6lhzlEs-Yqt_bp>6L|H$?~HF+a^gYCPgu@MZ8F@H5T`o=)c_AZh!fc#Uq4JU{67OHh<02u2=3 zN8%%!5l-y6LDTPa{g<_CWP1?|`i!29JOTWXN*YI>jebI(PlfjJ;MqpMLHcZT6Z(uO zMxFt7H@choMH7{&j{E_L6^-noe>|iie_Zy+n}hu6)sdG65+jMR%^m{f0KW@1o_|p` zATa;(COpyik^NQDNc|!DiT=Q6kIV&&jK2CKW~V9>B$b!fBhjTl%>JQ2vJkx0U(au% zKdzzldT@yT@sO0h>J{@(Ro6v!vL6&zgnru0e!FnaNCI(lOt887=X;>_Q<=-`Ovd!Z zqimOh|8kjK4syGm_m0avn3VIRs&;DHXB1ArbQXlpoW-Azp{WQM-yqE(yQ##VO zCq9o?KfksfQh?2ON+16WKBE$oS3E9Dzv?sJ8I#LIqSM5#qAs~e+m+2rp4MM)bNojT zAHx5!>qb6F=?f~=b<`uZ`D0wp$WIuB%-}M3l%Hn=C?xDOp9oH;;6U&ou%7z%nx|>= zjEts7Dw=IoSv;>Cxkbm+JDvHpSo<}e(wN8SLZ;d_(jQEB)S*Fta%lG&e}x-`zBH#} zoBxdhwUuMd8)VL%2Ci|t9(NXa8{;6}7w~y=*Sh!du2ugxT$>N?a;<)MtlRC1TU^_R zUU994|Jt=}_En(Tz)k(+of!3*zR-=MI)L9-RpRmS=fDd+9Yu^D6(}YI zZR@6q)^SMOKc_w#r@m1&e$ZL~JBU_H`|D!oX*|(khv!-SjD%enyKj%2MxE-ZjlyOH zqlo#VuF_sLIbB%en5)v0PtE)Ii8Usp%Fy$u3IJ)X!l9m_EKs6^4K}sl@cJ!RwlhK25WAzU`sSux!*FMnC2sMh&L) z7L|tfCH0S+)Njz;^gl1hi~&$cBqgIJ@TZ)|8z4?PtZPQUz8+X?!lo<%HZT7S4R&RTM}G0ZoRZuDaa~MP&i8nJCWlVcbp|+7WidG) zXUECx9AB)K3!gz|Dc3{xkoNmAOkXpdJNogUuXyoM52>E8AN3d=J04ubF^+r3>rUe1 ze6_Ff^mmo&67=^ys)U7%B2)yq#`-(8xNGf|$^d4cuS4%2I#PR?d}x6nS}0{a3?yJS zo;_L|H2%Ry+T4Kr_eR(VMv+*xp!-{V$^n6+*1Bq0+tCklB2pRkSMXKv6I~iX%K8%3 zr@6n{e8exHn24aGFus<%g8Oj7;b1$^;z|S7Rr~J=jaOO&m`Ssp0O<)o@`Rvs@p8ZK^Ddt!oKsqGeW$_sx)akqpXZ+CpY!;7 zbu~Y|iFW?O&d*Nid|Nj@TBZ$*J}YeTErQWkP~R@vOV5rH`ZT&M_?0)H)lYQjkkQ0_ zcL7)c;%sZh{n3*Hzn7D@Amw^l{2zTa>;SXv|56p=|L8`H|3;rCTHGTn>;1DzCoVMX^l?A|Iy>1KM9oMlruL!t$ah;udAM78^Gk%_;QWMdqTzN z>EH~pOgrA2AGY?Q8l#7Y_P)vfGSO3W9%rkVB*(1aVePg2H};)@TKO<`kxIMET-&pn zx!p%kac$-t?po(}b!|TA;@WLo;aVPYt!wtl)2{j73tWrKTeub#3*GLg=DJ-zyWh3B zX}W83@=z+%KuA-cXM1+0&+j7|a)HsCRMr5wON9W-2hgI?|I(4=*fCH~J&$a3QFm)dFk>+I+PRT5%>;J{pZ2jdVu;4SWOq zod05wvYa25i!yywlL3=8);k7~7>uE!8TlZ_UiG|H_|GAo?b@%}Y8={te4%OL|Coys z_5EgVtK$D&p&f}na`s&H#3qdYdb4MjoRXYs&k2k<7d;`=jb6gGS{}y=DsJbQ`qn9O z)6bWD+z(In+Cf;nSQYYP=OrGh-obg|HAW^2j5#xGiGhMKmxEVnFFqe2tw`BUyua<< zsh3YB{r${@UXA%x@F#D>r@#2nF=G_}5s-b?yskW8%#^_Y^_@vT)Y7P@6;9Qe|n&F>0?QRUX>= zF8j+xPwmy5$I~FmL3(*WJM^w^)cE{uJd(iu%=&9YWu;I^) zgE>}Es*1y@w5tpPX#W^`Y7Dg=^SIk{(rWM}@GH0HiTXdD z2QaQ1vp7^~%*V)pf()i9>&ydcw9}3G4_9xk-k^HaC!Pmjy<;rCLv<{Qnt{vA_!$Q+ z!FFIn=Lec5-j5wj)xHH_@qUck>&j`NF_?#kri}M~blr=0VI{uqNIk*(@-U6+H3O+V|$~9SE7?k*%EW&VEKmBvQDshhJX8f+5LXLTe6OCmwm!ZmhY~!s`V=L_d~{p_K)rEiHr;SGM4y1_7;`J^B-AB%Ko9w z{3l^&V`qf;MZPum9`S+k*!$R?2lfT=9bp{Hj%uY7kcIJoExCkKuBYWEV{e56VDaih zIFUMxov4ynygI(d@o{#XEKiB((*nx_z7OrO;4Hg7mj8?$N$FIT!Z#URiw7o8N#?E~ zPsY4sSLk{bu4Sua2<5Lc{~2o|S^fl?NUrldb!+z#ROw;xQR655Nc(<-wHMVGOOtFo z{sH^Xh@RT}99stbj-)8ceSYL>P#+ia~dr?s#}WU> z{S^E;n3t%6-&*`f>*@y6v#=haPA=iH*m;ThhU&FRoL6i9Ra!r8KmYf*MEqqwKrpU9 zSfIUl{FQd3tp9b!--LdR8xi~`u45dr9wT7q7i?v_2(8ZeJ8l8|QM8F-&cL;I4h zKQK8;WTiol`1o-%biE2^v%MW8iKsK~j(d_n0yMHb#S*ag9z|7{XB)RnB{6xXCO`9^ z)=o)iT4<;G=poTlJ0D}4m~&82uyMEPUHra-KUo)yCW19`dsjgnF#RDz9`{F3DL_No z8;`T1sW}X5@4wl;32p-wRII&?We<_Os5z_gC;$bTClkRDR!t3P(*+aik}fV%%u6~7yJKf%Y1hq*)eFnTopdu)#l{KCfK#vawnq9e1jCVzjH zEa}?-Ay3F?e{HSS^g$mdx{O0B8Y54Lo&-s}Im_!||ANA6a|+t$-88r$pNCla0vfL+ zVEtF#O?kPc4EKW{+1B;KOMCbl`g#1g{B0caDY`<94aOIR9ZPaUqU-(d>G^~5OU~5a zcD(iU+=5UdyBvQx-zr7JANV_C{=tm-r!eN{>^}`m5Nx__GP{&$@^h)T*`>7~k3N1} zhzn%uNW(`9tUw;)X)0zP>FmUm%$iwZ{)v ziOKV8p3Bk!;E#(-5`B?$JRQ-eUHSsAMkM2Z15Px0v3y}XS<3iPDuqw7JVf%!IPe@! z&9nPgU%)Ih6=wNglT5jB&R$mSbdxt$P* zj|;}nrJo|bkex6lSIq?DKlEESp5)C#T+fuRePPct_Uy;M^;_3Ip8IYBvrBAe0yZ?k zVpO$ye&JPIXQ~Re75}f(u+uGE1$Cjg#@Zb+9b5a38@TX?q7O{i$8SB;z}WI8B@ME2 z{H{EUy7s!LQ|GS88@~1NZ>n$XI~7K^+Ir>0$VFSL7uyL}fw|zh7T4s7!3pPpmxlT^ zR()b|ry70v<&1+W!8vdp%=TR4oN?%*z6Pcf`}+Obzt+w#JLm9z`eOatH1k;#h#RLJ z!H8mV?HYWON-R$ui+9Jq4A6l9eVm(zmX7bz7

-duZa|<8RLa&h@;We(nW^{tf({ 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

eIR4!E==zo0m=@;S7-%()dA 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

O0FtL#C~e2q^23I#w^7{AJO)oC zk(&S9gX7DY!h)*{rGihkxiQEeDj;u4x;_c|3LNwimzu@ zTU8h2l55JHf|{6jMkB_ocR~l!(0H;*p?T8*SnTSQOkW`w9lPf)W{I;*NNBB z4r^EJJ-w;-AJUrD$Lo%}o96ZpRh`wD9Rj*0W21F1n~+}$_q78J^@rpN8G-5Ne(*z5 zvwElmYTM)6Ch@NskEsj41z`U5W0&!_-D)+akIQJqH)7Yn*f9UvYiKc_yvgpI!`soA zN3MEEbi1two<(jy>nxY?*v;Uts@K8nU(*nEg4z9to_fawbqY#g7cYEpk0*#Umb=zbTP#H(3-jqYZCu@w2PnO{+Q zF?f~!@sN~$7@D{}#VUS~%-w5YHw^Lyj%DY8eE`YF#JxCl~>C zCLzPw;5-Uiffm=y|8hSuoRnVto;A{6X7ej_%`C{z68YMGy}t7+rhmpKAumQ2vu1)T zjZa)&WH7T9`5L7mFV*`WVZD!H%7dPQo3#m9DUN(dfpQ=^DzqymuQJ9Dj4xEfS&S)W zy-6&6mHFK^U$T3!=k6=VspjwU+nyix12n&iY)&xy`+npS);$tk)dZy?_&>f3b)@7C!UXa&BuiRqU_ z3|K!L%KDokf9z)egg&?#{51tiOspTu$dAWk(`*+I%gSHjcnQblwCn^0_lM`>;2$~I z9o!qVeviMGJXJlDUy+94CE7r61d6M7LTmnJ_Rr}f*2u15n}ArqtI2@%`(a%5Pk-!Y z52bFK!T(YqnOMK4TAxVnY8qhl@$|Fr^2cuWz34o_Dob?t0FA!n-r#jtHr`W}0poi( ze(HUH>}C<0;q^G`?Hdp)$g`Uxt2&uY*eF*DZgZhfd8yoo3Hsn*%jqNsy;K zuX(yJtNm;J9{&ziBtMA;Fulb_XD{~0ZuT`Ln?4T zJO_YEJmniD=z7@WUY?%y5592rlm6JvehS)mfJ*da6TW}Yi+Znnvi7K|fQ|nP;P;$A zcC%?<79Ezgl!ARg3Eaj34PN(Td}+d*gW)?DUtOgKh#Pj$`ATq>LCNOSF`7=wFY*hh>YR&$UWr?GJKsWJOWOOLbyLtuK;9@?jYXQ-rc^vLKZ^yqwO{}^Noefj^o^e830F}ex8 zxfPmS!QMu9Gr#n>#@};(1a<mLtk$Q?bI^Q$0teB_*K0*N^}P%j3DP_RE(<+ti> z&sqf|uzolMUihs!gH+N;{UG`o!JfN8`#Nx_(N{mj>_BCLq;fL*wR+PJW?wC#iAd($ z<*(;A(GUG7EdsId1SF*&=|8GH2cK$wl~^)oM4&Ne6asq)e3XLkf{oA*N__$AheP2t z6`Zb;M(PLAPxQl2pgkE>I*L8;gCvD>@P>0{sx*auh~$JS&UqFBA8^?~_E#GLcGl9M z55dnVkSoH8`1aI$y^KA71Qna-z~jxK3+6mdfu|dfH`1^At}n{GY6~Q}PjL0gq79Ef zfq&7S^~aZk^i{6}Vr6Ij`XPe+Zt!;Q^q@ zH$6Wba!1p<4)7s@%z0nb@C0`Jj-JJvP<={${SU<$)r|Vn=&$j#>dT0uP;^>y}9@(mYWw&UuFVBvyqTJrcH19B9JAHLsaMx7kfzir&Xz)BVoAYF) zY6YlXN_pN?e!JHCv_wD8n;87SccEG=J|bVrb|`oU*c{viG`|*KpC-DWMJ-9WJ{JGy zT?a`Z@r~tqWw5;Gi=lK%g1Vm%43_0Atu8v6_Z*USGH zf0}Ck=SYr+gLn_-RB|QrJ+Iz12hYXNcqCRX*o(E8mC!9Nd1>5C2?59-g z5z(i=qz8H(U0zi}A{|F%*5HaExlAWGE&*M#?$y~uRt5%~pt5z=5WX}DlM^_q{bR z_xcs49!$TEhU727+aTlHm-alQ)mMGCJoxZmvww-`0rN-j^BE?z8(WEj6h82YtuM2B zC03GIy|BRrr-Ns5dOe@7ntz9`4R&-4Rha@#Q;GFsgV#42eeA{Rdn~jkf%A>N>>?&d zl?jsO7ruW~?+_0&u=4qHz}5bGe$foGka3h&f{XQ!hotl)dn2WsPl}?tJF=kp4+j$S zAE&Rb0A=SbLF+HY^Cnw|I)A zpbzI#e{9QO!H+0B7(A3iIxmW!|Htp4n}1(uZ(M&;?=N))VC#UGLt4<}9_~Nn*77(U0bHG6ys>AExThI5<8DBL8Fuq5@x4%Dj z3$BCb?chiXb_1*UHuybs##c=NY#kZ<3x@b(w_qqd=YkB#jAuKxeq2U;?VQ8=X7fup z#~@{UiS$`b0nBEw#|3x!W4GWQc>W3e8wIa+ea;wP~ICf}psH`*V&1%$iI zx4=&+P#de{8?862=X(uJzG?zse2;-|r9XBHW)pEy@~nL**aNJCZ$tD+O#zJWvG9er z!GezPL;zVo=5SBY_{uIDa~^oJvWdkfd6pJ`@m&iZp^RKy{mGAfIJjVA=->Fd%BbHY z8o=}uomuddKXwbyk*uEJl@#E^Bfr<+_q$oYNi=}vF~5cH3I5nE_y;@(gEvy}9Z-U< zhyJU|fc4K0p#O$Hb_?EwHVm`IQXt*8{!#p__c}*wkE#k--cR)xeC&_ig3sW!2wY1+ zLKnTA=NESxl9O*wgoTsq(N3DM@ND?vN-_wo3o`?$g(UV_PlJD^K)GO5JL|nJ%HBH$ zCDXSb!VBA5X!>LRBX*y#R$h}VE^U@R8+|m^a_`4=?JHtL3|zLLY(13X-j*5?TnjiUl|+6qN)oEgI*oTevfeW zLVQBA)4($+AmwTVz0#Ye1g2N`frYr7g;%MharDaQC-jPTEF|Yx*x%@DyjO3%GP()9 zDuZTUu-NEs<~NM@7WSsJ4|u))@sLyxlIf-Vch=U)P!ktGHj{Cu%laabcQ3r1Pva1S z4x^tk+H(dfm7X8<^fh$@msi*E+Ygu=r>>#x{%xqScGb1`;V zJT5JKyI%Dnmk~%;njb@bw)kVWu!1Vw0}iJ?hf-M2_A)L6vfk{(FT57wx(yaCf%g62 z6VO*%r2uI!NT`Ji}xwFPyHCb zub9X`_>^wH{Gx&0Zeril)Bo|fy;*kOG30LMH&5jFU{I!LU07|K%%6CAr*jReVDT3> z-|<3L*R?S^Z}E$#6L$OwrNIi5`mrd_B<3#4hQJ3kyC_P5p z;h(G@B6*?5i-=PuuOjx(@D$u4I;Q!l;Mo)$07?n0U2%DpkvF`BczQ7Q7Ai;A~r zzdz&!iwMij^T44Tkmy9~b{c)X?V>)A2W%b?yIOQ3c(Y2XwG->8_dH;vKd8o{X`#LN zghh9W53uN7+DcGszLo=2)3;Z4P}h3fO_Znoegdt?6`1al+btqhSTs&0wfawXp7wf0 zqo1(5Q=m<3STw`v$L)^DwrG+{;hVaipaP3F1-Z$d5tYHBrN|8D)m(lGM;pnl(cbsB zXtrl%ayt*+8^H%u)<|*_{e;|p4DI#clSW_t9~-}^OpsJ=-hM@w$Y62fB4|Di{>@*{ zuQJqTl&l6H0sp9fJS3$b=`*UjxK-#E(yv7?2NH`u;`UTm@L~$ugA8$k{nYWkzcRlD zZP5!*+ug5AtHdK9`OLB&AReMA-hN&#h4*ff8N*YIQMjyG^94m7bi_y!)wc`I`Ng)0B-=6u9hl1Rw_k!iBH?RORYC#xp zfiJ3BXBuDMsZ|K`PX{jm2ZDEiSbF@u9}CWb5C*fL4_FA|u@~G2P6ii%kAZ&$Ujp9) zzaqoMlPlxw2<=1;v54#Cjpex#HkFu_qwdiSLwpAHE6yHJ$T#@1 zONQhWQ#d5MOJ4EyC53~t2j&mTFDl9DSCUsWB&R65V{yN}H)WR;78Vp||M0|ST4@)={^vWqb^KojN8-{1?CRVX`7-=nel^wD?l#Mq zaqt9}(Z0-O9Cl>g{2N+o{xSYu1Y6g&IM>rv%>+xX^4rDaON;-m{dgWLYe;z{VM z_(L|=fY*Xq;P*kFxARSURYLKVp!wURZv)q?NzaFWnNDk`hEqYkK|0ph>A-N04-ws z{w$7JsIN(~__95!H*&Ljp8-v*bqV8J>b;pCDGdT!vLDz1%;q>iQu>j8LS+ea+Lq%K zvwuz?v7`$-FMv|m<{+Wl%PT%lkg7fS_Mn3TYY)C}Nly@Yi7r1u|CW$xc{@z^y_u$G zk_h8syKjeiFWFu6fhDrDZE%q?v;f@K$gI_;1bu($qUB z2&}zCy(MH*OA1wD?fWusQ24B{Kil9%Ww4x@A;I7|O{NZKEYKk@q^QU9RAOP&q=Lz|Y6p&KlDfHuwrH*$z7`~Fco z-V6QHqp&D1)VsbRSsQ2?6vOMdr@oaC0#}nXl#^)`5 zk+|viqm=$drSMPIU-9dLZQFH`T&2>0#i=8pyi7+D@ax(UC@2cFo1*_~n(@L?vbk>q zgz-Y#RcF>}O&{l0@2_{1H^z9u^6Bv16`!d4Jbh^g=a$mfOSv<#)Z$T84~yxoqvPs( zrr+=TJUvc5R?a{ncR*g?y1k4K#0__@%SF!pc#w0aVYNR(5AXUr5o_P-wCg%59phRa zi!u&;(YfyTICsYPoVyw$zjr#m*k;V?x+*FY|8~D~yS=iXYjx;}uFdj$T+4U5yIpSG z;C8v?0=L_Ga_&nmbs72&K${V6x03I;R+~y(s|Qc>G+MsyG7fC-+VyzH?b@=xYkSR6 zZkJQGxOUX1O-7#E^XiA7d!fsE{dm{%vrVpT|BGDf{KMUDlaxRJ<{xT}3zod?|6O`O z*uq_~v={hO?Zxv0X}#sc&+Yg-&iR8F(Dmbs>+StJ1H51Ac46+FbJy^G@r3;> z9gMxd1e^2W*H`?2rTzFh5+sQ*SF;P-YW4V8XwR2@3%eKQ*mYK~=fisna;_~dDay$$ zX}`mIDvu*NEQON5{Am}Ci$KeGtMMyH@U!=%9H%Ri`MW0aJCBI>Hy?uE+3U(@LR+vb z58FrJ-^VxA`~m(TyXqk!b40-pt)|~MfDeJhx;WT;0XbydU~%Xr?}sib$SLVpSTxX% zy5tq)^=BA)c~Q>b!Fffo^Rjn(o{f8rf-&^ZWi7qQb6>hRY(ERzC#mnBv|mkM(UMf- zWAF>zJN3fkMaSat(wLr^eKImwsv(JB={x+$Eu9T!g6%+~6VI2d9kKCynRC;~oTlB) zlQmeoo@1XkgZZe_nVVG#NZeUu*=*ED{lQ)$V7 z>`RODiug=Pw?X|18_!kwKk?FFM2;>zaekwdQ)C* zsa7a;y(u@(mMZy6W9L`Pb9Q)soqlCmkk_)4Jk@0(A6SMnSayZV;(kS1ld>Ioel`3` zLhqI_A~U->3O>2wLq(R!$>AED;=fF(X53#kFYtdgxrDZtId{_*=Wb;bJM3iUVaXDf zGirNaPv@S|s3r;ANUnIxlg`~UgL!joc_}w;HstdR;DgTnlaW_4NLfynhb+6&)3ZFJ zE26jqv~j=ptCn{huXAF@Ddi#CBl?KA1sSi>s%5_dM;N`B-&*!dN`I|V_#_+8nV+=& zRM+K%{ydufX}Vs8GudixQG>}W(E3yS_|s1KJ=*{#uT=Uq#c^L~x7Y*L?rf^G2wb9) zwB;DJ7u8%gIkfi}_8Ip3<~+()35{HTGtlcVeyHaABdX=${NMQPmdF9qr*o+za|Fvm zo&Z1pzQ5G;Cu+C45HPzv7J4t}Nd5e8HaND7qd3-Z!`iKWYRq;;^^j-*%S+^E*ZX6) z47q2JsAb@QZJx0mTbpMj@6d#dtZW$?u?*=fqob5-Ec+x}9X2W3ZB(By!ji1reNg-= zkXrUX>HSOcy+~?>$ba1u#{1o-NY4U;P=*YJLY+NzL?KDFf4}I|A zbimA88f`wKDk4YmfBBh2nRC#AjchMSu=ZPv|81(5MMvgu-;2fnD(e26*#AD>*Zkk^ z^DPfHx;(`5o=Fn@O*tgiw}Vmq#IM#RFZq?a%2V_!K3*=r z1y+Ey6L~Ek1>!NQ$&vP_)jqm@`Te1N#Ng$3=z6tpCEFR`QZVIsS?1j6zwvzFVXoCG zF7_ed5g=^O=7*5 z@1NN|32NY~AZ2m6p?YF*&-6APhw*jGnF%#mzM0K?;D=xf5Vu<`4y%8pY0Ht$^522v z<;&mTq!^?u=cqnvB4BZN7!*|n!E)sVEx|oGVC(DCz&Py3dn@p>E11Dpjv6oDCT0&jO{{UuQkgPnUl!?hkh zpfTcoH@*R=+mqe%2j-V3PUZFG8$pQ?xyAoY^jH|b@BD0Ez4-V&rSr@DS|Z&Q)`}L* z*lRXWBlkqK4=rz!jh}~H5#+o46VGG?slQ;w<=|D?OWAJg%qJ3hx#CwLUJ!#;m`jwI z6hI#*y2JT_70AZ;znWa4Dc95Tixodt+d_WPjjG%T4pm9x@J%VdFnLOJL`sVfqCHC2t5DM*3hpbwD8KN3+6iQ_31}j@-s|aG zyHB7d6=0>xVscF*->~*dQstq&qPbl3)ZR60p8<&nsplIuj%{>(nnM*-3&xBYjA2(i z1U{mY2DCe#2b>7KKZ>5(O`CTxK5xW!SsXU`$Mb^ju*XXotay!j>}-54D_DU>tUx*| z9tWQTrT;NV*>0oy#Pb4194plQf)yW8pKr$ad}S|R+M|`7Qy1JC@6`@LDV|iTL>SfW<_9vc0I@Sbd97wV}VSvjxWLGf9xv$GGVd7e2L#*D_??)!9x6L!G z_}tfLJEIz)G_NHvNb>;;L{a?v!zQr;1*LC890qzfj#G=P5q%_Sahlk&lBtQ6Hnz2KjD!xZybByDF7Qn$ zKe2vQ4-E+YN;bRFVxtNdL1z~D6j)b&vXa1-fVBHJt$C4^!2+%Q(!JH-TJes_H#K=$ zT(WjcVlzX#PiFrK(Nnt>xZh@XceV7In@V53hRr{j;i03UmsK%qJ53uq}>cSu-qkw}JU^_5= zUqRL<4OxklR{jh8uXC$tNE}kOXSz|>vGLoee(^k}91g7l{Z+eCx7$G(d}GaTG|jxj zs@|c_-|$VyV|Lwcv5v+>y^SYZj{=W7t1;#sYTwPbMN2UBdCMwnan(g=-0#@_w7O6& zZ;=bB6U;xq<@1)>T%a%i?f=iN^MA_&R>>5ARb9gNg|Ph@Wqq_C&jZx^DceDvc|byc zR^1W&=8xfXz4*`ps|K+>9lQ|4xz@@9R$-%leQ50#rCcwIhpVoIJYfD1U$JT^_zRW9 z;z0xAtx18-_ z@F8%gadn$k_;3=Cre0X?67&K!Ty;OloWI(`50$WrtZ7jD;&BsoU-bvkSNoJV5Plrt zCyJX5?I(*rCf9g;RNEvz7vS8qWu{Mfk#pB|93oG-MLBt-{_qX58bjOLo=l59{R9u>RH`;Z&*C6Yt5Y) zY%lX)Ef`Bjk3W#_B=mI|?N4(Vhkn9K6<^dDO$$B_uRepPCC)|%nLk*4eszwvewhF2 z28%~q)Vhwb6@|1*c5CJFm4=l2xXaX)U^QbA+v2TOV^OPr0`^o%+}}vcQns%;<8E9} zZQTt#Rx{Q&SbY_?)*;wi8;Z>SMQ3O0fm4kWX79#7=#-8BC2yOjp>VY&0ICWs4Yd0f zKSToI>Wje~_JNe;uvsoO(Qd_g_d||v0-1qdJ;dVESA{G9?d$2Pyz4~cz6Zi+?^QHKBMQsE=cv@=@x%X=F{nh^lpYwe5fzZ-oDM};oX%+a8 zqpl{Tua<9JZ0|K}4FjCa>cJrS@9JUT6mUMc4tyN^EBG=PJf$gb9X~18GwRP>a4H`_ z>OiP}27U!DPnk|#`W4SNQ8!gne$1-NT<{UkyA~B!H!Obk%F8Lr9gy9tw10ozs>phB z|M|A!>f^~Z`#87eyF8(R?^%Q20Wy!zwXL%__A9?%``3>bJ(rHPxX>OOPwuD|{9nei zA^n*5X+?WqhkIL>b>MTf`#RU`)017Z%U8MPC-ie!%ZItGCV*1+IAt{JTmU&_9vCUYOfxJT=ONk9sJz%u`az!D^AqRUlaOb{7!dnExFO! z-QYKShj!I)e#qDOodK_X!2`hN+c(qVgd9Jn1Zk|@JqVFa%5toc2Q^JxTk8jBQT4u| zdm*m1d;9EK4H$qnQu@*b4a*O0e&v$9{`q=xUio45*Q$m44QsEYw|@>^3+7j^i`n6> z)ytwIpa0oBM;%zQprnn+I8onG4q9%WV5q*j`WB4cd>#U1@{eCvNcj z3le&@mUy@Jk-+m7zjbSGW#x|g3Qp)7_3pUHjA8XI4_<_^Av(+(u{}_F*>-ixD z3LpC+cqW`juY&ea&|K8_Z~^TXPd8n+~> zm(A}*^{T1ozWslo{r>_tTP-qAK~*S_a6A2`BgytPA#CS|$P6D&Twnp-$9yEvyHub9^*wfRtg9r0$17rQC$m##c?AV`H$4+j7-MAll5*_#N zNiaV^1YCD0ianQ<<7{epb6~%YKU^R1Ixq_~Kd_mdgdJeLYpH)6665}=ZTxtydhPuVULk^{c5eR0=*mOP;7ZArykp(> zMJ1khtV59N_5u$|gTC@-U#}CQtD0&&z0P7!oXZrAsv%GH6q^yl#kGzrrg?$s#QX%hHN3OAMAbRl-+aWIV#NlkeVx>hn)ACnPF?76c zFui-*{C{mOToV1CUHAW%XRK2=2iE2I?Rxz0`rA3a3H+tX;{HLs@AKgBKB67JhRDas zZCx+Cw1=nc{YqSa%&&BU&%OQ(w=OZzsdm3Zaiiw_maV7f7Vw(g65?C3yj(N4`MI2D z<16DY`&$zH+BxjwWewI%3_I2Mn|;~)JVQ?6PcptQ?@$2k2N&fJ(aTn`Z(QU$`cq)z z$le^!0_Uj2{MOgd*8$*w_J#r>kb`Gc%Y-Y@6fP?}R<^0W21&nDBK_Wg8u`$Xr#XS?MK z>;6JL{sz8itTSICH(mEqq8dBfT7SLPongS~J1`oQ3E2KH_5XbxalBtnaY?qW@6e&Z z()rqE)uBU?x0hH&s@V^*Jf?@zi;uxzd+Xi|m#up{aXnQrP`ym9riVQV(>~u%`#Tux zHha>hhnK?pQ}A<@RjcO*f#26@=;0QKpn(?MHgkQXKll`Zy~}bC{K$6=))Qbo#M`-v zA|({9IP*3T%UOrqRP%LTc<^nmpQXAkjur8@6m_NZD4Z0vXmBo75Us3b1u^#>&6TzKtu`V&aQE?f93Os<8{ z&-TY|y(K_KEHprLr9WE-uE$u`cLh)PbT8sHTbK8| zq)XuQRo5P!x@l;|@sseakG-qD@%yngkE43YpUZ~WuD=Mp96Z(Xwb=DmnZ~S-;=AZ-#O>fZryud)9u1*I$hfP{H_=F z?$)_e@1E#U1LPUW3%$2`N&m-#)4;K@ddn|Ko^03O2ok~9|Fquy81cmq7+tpO?**>~ z``CIaY+d%g{v@y)coj&rSbr-h&8`3~nl+&P@+;}^QNL{K-Lp3uC8&4%YxQrHJz>8l z54P*)flI+zX8&*X>eRh!uXB4|(z$C*4QPUT;BBoQY}c;?$wk+%Hv9RcSJ%#$Uec}i zPp`S4>rWe34ox#Jx?zX;vakI&5GomcgLwed^zzl~qk zKjQhWCyx=e(p_OH=@uh-CG-Yn4ZqMZJD+^Pfz z<>vWwUUA9VkH{@|`w7R)x^C!c=PNFM!IxQzq3tiR z-=yufyv^tmuPr~m44Nb{8-8YVH}eZ;%?och52@3xHo(iauP_^4|4f}xR4fPzcJ(KecD|Mi>hF;UXKb^Dj7j{~c{iJM1 z7XPd4CZVr)Q_J6icY1w|`m2_{rkZ!xjIx+E>bB#-d1r=SL$2Ob~jO6eL1SxH+e4+ zSI3yIq$R-?+3UkQG#6q=`!_;dP27>Gil*vMne>K5UV1hU%@d?r3Ji>+)rfu!6{L0!p{*h&cu89n0F#{EF^wcei&E-D;?Y?)L{-u{&3PCpvItKh{wl8r>4ROnm$ zR=;5ncKy{{i(YO#H)?+=_w@$l3?zUjuWuDS#xF+i=g_(kyr_!amj#8n+?BKA)aBVK z(7Og&`QZ6GV&h|z5P4%i+%8axF&8zd{)*c-eS94O9p!}iEdpk(#$ z!xjC&d|lzkVa53+dEE>DA9rU0o<~*v|4G_XWM4!?TneHBVuOGnib`7w6iQp#vZ!eL zHhJ5Grb$TBLUAD?0-~~tfD0mvD=Kb?(tY3eeNFcjC}nF|e))gC=iYf|-XzVtB>6v2 zJ~x?m6e)nYlBptm2yLaz`fzy&UH6bE|LM1lC4$6SaJ{eaOh#c!9aLQVP$z5Q06Q7Ics|g2xqW=l zvaMtA*keutk25~|V)3T+e0oC96}*K4z;)3`k&y0Q2&=3?lo9lzxKZZq*E zU;Qeddv{1>$>?-tw2OZU#{4v$%fWhN{^beUgSc-H`Io!VXKG!lL4yWdddc;J`c+rn zm@FPRs9$1W=^)k=Do$QrSx(wGXwU(_U2C^O2UhbM-H`Ict$G{FJ@C}6q@+x4D^VVP zNx})xVDn33?nb72iI-E^KIZ;eMf?%i{1W+K^WfIQv0Jzqxr#z`eo=Pk+c<5^6^{Fu zI=3Br5~D-%$}!9pjCn$3@o}20CAWUmc$^m6+Ze`XHcnF?`jhy`B}`zulU=2qbmHd6 zY3f(&Ggq;p4h_!=f-^|M&U%?|)chkTnDU#TVCC0>f|q*+1$)}r^0U^H<;7#3q`H9R z#R*g~8=R{W^V|C?!`BzX;{oA|dfDa2MjsU${UOkv39c~u@;C2Px|dK@;2{UPg`RFP zG?#*#MZ(EFGF|TXM*6pH`9G`iiOC&~A4{OU8>BTo{r4*Kp+}Z!dPqX69(>p6E#Q~P zse5N*)LR#VYd~Vxn7#B0{u;}FA><%`C(neX$+$(Wq3^EH9-)C49)i#%g<>)$1+Z`}RH8)id^9#D`yKFh@K!fYDXZyQJuGf6+4qA+_R>E2+}P=%eh==g&*zSs!g#L{4Ccvs zJjZ_*x551N0B)a=yY)_vN|yUMY?rr<9Z#E20*M4;=LA7Lmc0I1o?55Oo>!H7Y!=K; zUa`C_PTkFKS$R=k+yuG6rOLRXXNnpYw3Aa@`CVw<=EG`3hyM4e$uvCFozmujvwO_kEzdG(y$U){k?%a?y`=5*U54>l2%#P^! z)p%#26T0VC=VtTVYWzw)vFgD3O^kiKAB{T_`jI|~r{k0}gndx#1>-KZ4L@pZfp$%w zt$l8F9QldB?2(8$j#xg9cqjV&$TGok^iJcK=X0y;CvtsMPvW`2p0BKe`up8+FfQSD z((1W@!p_+7s6)&`pNmZRkLS$)VQ1JWa|DS+5dp2I<6ul zZ_4-j&o+Ou@s^|%ggNlI(a`^vO49UP6Y4qF=T=RA@(6+Hm3fJAce>+Xobqdfxcsu8 zyq{Y&evnMr>cjB+CHRoDliq!=3t1YU0Ry}Bxulyt$2tSP?e^TN$%Vz5T(aEXfqwxX zusFH*@?Mu+K8R;(uj${d4~d117_Wk_fDA+}B|DLAnjB~7nD%?8T=$mw*UOdj``Y87 zB(V5=BXzzQ?5+}{-|F|ZjXwU#=nscBImdWL(9pMh*S;eg)?39{&Z8M!{G7c9&UQR` z&G@gn>-qJ5Y5W%`CAS!Vwf=FCabC&d=~84CnA|@Lf~DjTOVtcPJNdO)qJ8i~%CD{P zb@6)Sh)irPtu+0O0fo?6u>^*swW@b&(M7&!hZ@C9&wx_)gv>SNN& zq9YrBt~3AABDd(gqL$CAlmAv(9dmlb|1D}3ia;@w$I>O^q;Ix8|Hc&Eb9Lhru3Vf26K-_d@yu3_U#9&uzeg|0dY;YvW8?cZYnu;^0*Ti5#Y&}IxWLA6r;=qf8Ox(j?ur4hirK}V@=J$o%Z-)G}6(=+tP zulIT;qnU8D=tzw?)8Ikyub^D@`@n|n{7535K&ymc?cL`3p5SLUOdl7*@gv~J#4{H6 zEEmWaFQWRQ!3pFmW>;6R-&OQfogQrGfvDFW39|Z{ea7A|*yB#N3l<@V#(&w=yDkWB zeIW?Gb!gD(wcCS3`koqeJnGrtkn+Ph{tL(5q1%p-b$>KFpYU-firM)HRKtA0ggz>3 zh2CXCfa(28=vf{hz2nC0JDaERuNvI+o~>T99e+pd&j?FkdFw#fpXrW+3531^QW1S? zEI0&I(6RdqIyjVGLhqDCN;?z!gT>%T{)<7@dXD7rHZENU4?ywTp4^1nkcGsvU@!%p zL6b-M*c$mHJ9Jdx^hq!XM6m6f8l9 z?UScXplALsfX~y8n|hb8jWp+=RBLzfW?@^eqtQ4&Qyg*QxA;p{sk36^x90!1@!JHS zH#~B@6Mo`!x1F#Ydtamdtou!~`9j#<6N|imk-yp|y7Djb=jzjR_E^3^z2eW|tDd`> ztpZo&AfNM}>+B-S(zG|>O>m#~Tz{xe*7_%ny+5riFDo8x|7VKZ_I%GoeAvVff@G(2 z8Skt=hwToc*Jb`b(NUt+99VlbeJ`+ID1h=!wUXXg4fEi$?niHAB4Iw<9No4mi{wjt zFENr&?H|vNb^I3o(4Wx|>7S;z_*FqoUPo7-l8ol3V)q|HxijVu5nb{Jqgx5hbHNLY zZau$>aJ0;XJ(P9^Sy8%%rx zS?&f&nxgzDcYUiWfa#kmPE;2XO#Cafe+T}ZgF`{ncPsNRcmK=UxwDw~eoSsX5j%$& zJ1=TSK+_s%H}`rW^2Dv4zWV9CA}RVCv?GYqe~#nBK`J?c=%pSwaTs_rco+B>_zd_@ za00lS`3GMEu4)2`Bk}WQa6Ajm&Y`ArdAeo!geI4?X+hTd+5=mZVv4yRm8d^u=ZA5x zlep5xGySOTYpQ_s%XE!{xPIj);?FH)+ny`TAEIr6je{AY2qt+y;f};gd#P=_UT^1A zufw4IabK^i**{8jsn?`qv?CA`fp+t)m-&g%g3M3ItpJlw*00fx$N5a{6466c(-Rgf znDj~g#^c7M6Da+dN-57kw|&MZlPVndgZ&gz0-JpG;TlUfBM7c2jZiCN=ytS z&_$q<8OsALPf4(Be`R&qt*q0fIQDYWDrGH~&0m-tV)+ zPWmPId+>R1lKw@W?CV3km^8~>HR%cVr)71$>tBmFe;K%nwKVqz!4$@vGl)qu>EZTV zqB4hO!Q|U%_hOhv;uIZDl$n zYnenYXE138n;GCjP^vULl-~9f+kL5S;aj>f&yk}&k}(O)UXFzK>)@LzF?)>9GvsHF zq958L@pv-(lU0@WvPba??Xfp?`9Jts_@{rk&MbR;86>xud?;leGTLM0H+=qL-LD~BjLZX0lW7Mg-KiZ5lsFJw0nT^O^1N+a?cB7@trVE zHON{X^H-C*xU0-Qjz)yfgI`dY*~dN>@##@oR$k(d-kGRaVp_bJRBxSYY~5dy^MT{<})7KfR&6 zCY;Gqsn<_S<4I?KqD%d)9gle`;gZkY;@A z^hkW~di{v z@ll}58zVoNqg~WP0uMwjpdQDpS{RIeP!qTgm&{X|GdpVv8*to-Ndd}ZaaBsqwAw~rAtrw zf^XM>oY@`Dg2|sk0+iB0?Rgkz?Mg#iBOim*-v)^+lW@k9(ce_I;L&0D1In}!n@ZvJA*cWK%0gLi}X zg`&8vJ^w~bXdaxOvhh_5+^|cVZ`3J8EuYso-rD@elx~julu>RwmGPfo$^+ofv=^V> zkdxjdx?PJaXcVRTfFRzLqWMf9nG&0k&wZSspLY^qW}{=QAE|H}{E z1uMbSpY!u&um>n-W&L0MZ9jABwO8DXBTPXae5umZ3BI3`n@oMg6Px-+b_RpPKsl!q zL5rWSc)pibRu4#4k18up@{a?1k0|Hwz)U613e2yMM26?V7gXZLnNdCM_|3$~k}|E~ z-K!*HJhwc==%ZhwKMLBD!D&W6mM2Voj?ytIg|GDcD(X!RbKmLo%eH3Z7qur%HI*^F z`A>8@^`DM%Fje`3I?59ss2yYV4%t&mq(m>_HmmWx)gZJZe9^QcK;}$jFZ{?ks5iYysgIud+EM$&!)ez^ z)`K5>JUndFz$SGm4T5Fo>0Wvp#KWe;p;TmaadBE-T6zF2{x;hi(q%C}eq?%CbYyK4=~Vew?25W40P{d$9KRel{$Nwo$vLwSU;9wVGT~XGiCywSUv|>R2n` zb>2{5v{Q8z-lRWwdGU36r*+-+L9m&uV+`jkm>&eIka*L*&g1+GiNm)>#4lfHl1J4s z`WuD)5LFayWL?t!^k4Cu>W%qw$^N=Dd#6p)jl)8pr5)G)A44Le$<#lTN5}k;yQ;n3M~koIA96Yv zw?0oj{_E45NMFVKk$2N~ZfJu%_3~tb^r5C^K(c&j|Ku<}3hTzKv6WF8oPT=;3;7eR z{&QCPz9n5I%UAIv&4cxeH5T78aC6s3=NDynzU8yiOWoD-DuU@#{q}kGZDekATfI(6 zXkRlA(@6h^{{#g~z7rg^ z?lZx06DNWDf@5!aDmb#VJ~*)O{-{B5Fs4`9X%etVbO1~dNVchdBw_KCem?AkAR)5t`5jZV*dy*|rpW=ueiso>m@HT(0U z{R8irooTWIuq8pm1mvHQ&3dLyDA=N=mOnUBj@}+Nw2W{D6GJgOr2ov=j5nF( zPM@*DZG#!B{7zH7wst+!84De0v%}lqzZH~)q~$#`>UE4B@?6hUTw?W96bCxW-mBsF zXFFu)9lw)SPsKkaVux}9xw9-=dK1kVFXMgCIdfjm)cgQZcIL780dj_b z9C^lHJ=K}8b^vJuj+~!6u%AhNzt{2uNhz>gn~~bg<3Vyz>6IUE4>QRaoSt)C&(!2U zMD)B~>02|q*daUKX+u0FzxmD5L``WAdw4X5`p9yJI@+PF&ipKFJ`aAz_3ys=UOZ*6 ztcT}TJ3eR7H3NF~AJpwKJ|sV=*Cm4n_Pw%apS=6OS0Ch^0o}G(Z&h*Pwf;RX?ca02<*us6q9KwCKWcKZok`r8`33Mg)7LJq zFFk;*i>M@kL02sm|W@)_kqk5%)BQi zH-5_gXFKyo@M5rc8}P+17+tnAzXje74oItS%zje!ZQSnp*1s{GNFQX{CKub8xZ;_2 zgUij%WA@|XNxa>B!=yJ~{_S&M`RMm1AKRJaF*AP){?g3@d3mnu*?ka3bZyW6?ZF@K zZ2Z~I#AnWA%s%s3YD6EPECnde&)N?;&rwpMyYK$|1k@4u$cm3{hNCl8c2p98la`Kh%Z+nH~nb@}Pn&3@ic=NXvt zZE6b3$MW#cx>kVpG>nM02bSvyFBjWc=wueT!K}_E*K2+I_3YE@k{*5g^y%5dO}w^) zUdRSaFKlO>44w*}m=;f?e%F^0HxN zL(0loL?@acXt43vEb{qTcY!|!A9C`nzm+>$Q~dkS^rhy(;-|ZhdO&WvvZ2md<4R`h zR+b0BmJ5PlD|OYqsQL61t^2C`XYB=%oJB3mDZdiCZ{nWYnDsd)S9s@aHhpRKzmcBt z|E!;U*qq_#O>VXH*SE>GhR2de&=_Zj0@uHuZV8m^DD+5e?Dur zpI>3-d)8ASe-Z@;a>@dZ%)hq!yD?fpM_}XHI(SY5C#%GbuNXJ$0C30LIB|!W?}yoV z&gfGwn_t1EXN?Ev8NKcNlFJ^nRnwub94cH89It@vMKi<6zcHey2%$ zwKTs{$7qd=aMmK$6sl!SA+*1%8|!0zG${DuFG7Otx6L~)I)Cym{R4f>CN~ISHoZJE zxcgAi{LTS8YdFvI0`@l{n|YoCQpz~rqc(8!AlA-gnX^x&W$;{r*&lG*VD<<7PSbX7 z?R?K{Wuk!fi|@gc40rY?RTB3*vprYw z>g-EH@{l&**!kgX=X)fjz~+0dfzQ?80F|Wa`N~kwxz6{P{D+91*Xu~=f72ZYvj_W~ zG`*T1&v(AZ_(3>3=${H-p2Q9S3jf+yAmbngU{`r&o_|1N-(L)Ti%2hAZ8=_wIR# zNtd@@P(9+~?#9QKx0<|)JL+3(XOol6E(343_!7H5r7F8`;U*ZG2<{VoiJrII8n^8+ z`cg%=-hA@M=tc4>Vn|;3JMM$e#wKS!X8PUNvv;q{dZ9aSFERNouIw_p{d)Gls_pa~ z$wfagxzu0gf=j?zZa&ELj32ZA<b@FW5#cgoEvxR$(4Hp0BoKDsvuTLH@hunD`+0-1es<~(S z@x%dh0qf_n{5!M=`E%`u+x8h>&N(~ecW`fQeEAF+ElRS-gi4Zi$T1n^b7q~-)}bh z)XT<0^vO91kQ@Q}+xa1)3Fk2Sn?n>9WH%l%ed%go&YgZsK4mb6K;uAdCE&>F)6#fo z2Iu85f9U-YBl0;9fn=s3%y~TAYiVnCyCF6n(U-1LpIvdC;>!?d&^TmjR^yOnC}j5? zO^pLxes20DZqHHVeBH@E2fH+w^9R4vB#+$R+HuI7Cmdf1BV z`_AGLt0#Gc!0tPbf*+ZK!JJusC#{~b_&QtX}cFTz++5+s}u`+ifmh*5%KDXq7y!@zrZhLoQF1j`Mhf`u~{$|`3>g&#qTt2uh?^adpHTng!9M<^Y$w? z4xCHGojVCkg=+TagkrR`HM`vuaPsg z^h&-pcLQ&8zRT%oXYNve+1zI1z2Zo#^R2n_91pX@AHZ`HxJ6}Ya<0`e{Bp^+Vs@tQ zAB3D@^^NCUboGg+h4tOuNS`8?_60*xYA*9!73B_m7^-JVbGziv%3ykT=lYl3HMS*mWH9EWy0vRpRuWYu;sc z6wkXxL+_)a2h8(HimPNOujM0YdDjsW`USyfI|m&Pn-~;qeSdJsLq7^S4!I!c)blY% zsHNXIuLeht?-O*o?ez!dC*WlMa`OQ4y#Qy^L{O0(tlSedyDrPZn;C#k$HDwGd}|F2Omk7$ol5d>1EN8*{l10Zj0Qa^NLzNPyI1AKk4$Y zdA%G*z5Oeg_j|vkN6vF`J#K$kiTS@)zZVzU+q}8{{aIqwyp;dLDF&B;y+I`fa=&T) z?l(H7KCS+K_dF;GEKaGdUI72A5~JVhbpwq){>11Lt>!%sPBr?L@8$dbZljB8>^FW$dp4Oz!)^8<~) z!xGxl{6T*FH3UBAiw_Ml{|dIJt1rT*z-g4KjUOEKXf-LxCSIIRK01(R{J@lk7{k5 zP;#aD13+{R{q6in$>99H;MY~^^_y{AXzi#bJI}XcG5bVv*Nz%ccjqCe;r~_s{KSZQofKq#F>Z>LLtiJM7mV2naivLXN7T`GS zRb*?|O#Lz2_OtPq*_BiYSRVFO*xuuggZT{oQr|g|499@+bx>vPvVi$$W&Ur#zkzC; z7~mi5JJb`0u?oWbSLO1 z&g8@e=d%47_*YQIobnsn4rn0Rx3|U71*bz6u)O;)SQ6_NT&xoF`|l2^EFpJD9q%t? z!IWfmjsDLR2O|1Z#r!P(Xu(C`l}1nY_3BL{lhvd9C8`r6lC?S0CBB&4hePvn(8d3H zsLK=M4HtYKyaXgphmcY3s9k(pnLqs+{YmqUf(1DD0(?dRNvS%a_aE#akx*I{fED2P+`G#*^A94lB4ZUbLV*R_oY$xxaHyH7F4#)CO> zcl4s`bCup-FFR~9Z?)i2_per^6D)k(Z5QAV77)wjkNHt6fU>gO?7s1MGPKi$ANFyF ztZt#$i2Oq3L?n>G-Jo2W#hn=c2g#J}e$>L;RhYHhE`GcPd%)rc^NtIT1FdaiZV0AklnZo$B@M6TEq6Mmw;@9z@ z)$1kRKcKS~52sy=lLKn2d1a0N1g77&v`9>k1YbGLM;=ub`1r^9ISzTY*dh90UbNsV z;6Mswd#8YT)K^sj>^YjnkiFg=2MZaV6buJ%p+F6DENF4-HR{`&FZuNuIbukXP^&GRAC5>Kl;|I$ptiNGN5B|>gw=(3b5s{`X_#zZY@qRFYLcFi#cl2L(j%h4f=r?+4ka?Z3rwsvop> zy`uK;{loG*Ok`oXH*InXbl_?$Zq7XAZSo(2C+f%*r1*V%7#_Limnwom>e%luye%YS|s9Dl>9zBY7I z5A@n8r9rUviZ&kSr>$h%c$~lR1;>5bM7LekgKwIUe=pn%VvRZat@wAaEH93IkI3R% ze0-TESb*1QFn;0I>^E%pMW=iJhPz$(j?P1Ii{x{k0l9T!{mJ}WmUh};dB7sCf6D`y z-&jP*TBPBZi%V}-CYUiXK`l=0)913wNINOzAa+$S#tNSO1Rwrv*H8cC) zh(CFV@xLGH9|1of(LdmGuzr5R+STjc{NxR^>wXguLYLCKp9DWmLFAV>pvFSA+M{EI<)|DwJY z@84<0E?Upe+lxMFzX%InbTc>@c_Mqck`h{C5z%zf=p6NX;CgyH2}r{h-3Aib7Ja8l zf6B9d?GtYn`SFs|!NL2RiZ{nKu0zB9INHa;@pi?~nxfLm5y_gO+EIy`vhw7pqDzuB z!)q(6iulw|S#@nEYnIL)S~hHCbz(?)(yy@WA1UF==)9tq&y&42880uo(=lK4qTg=u z+hxeRM*H!6Sys|E&v}IQw)n6hu(f|b48LuTcd%#&JLiCMd2)eD=+fj^r(^09U;lUk z$GLnj!})b62~36$A_H>-i(DQc`mMhIxk&W!e@6c#XurnYI#tQ#o%yXljDIn@&{^#5 zd=a_C;-idiJ-=Z*e1$W~9u|{)FaC`Fg>R;Dx7qFD4{^oEz%$%cixrx(0%wm`C8{nO zP+XcEk?107`GSIAHN^!&HHB!O%{I^JXe>QJ-PO9#~Jh#3=RsX_X-MMys&lo z>wwWUwaF1h1CojA;?gKx_2X*yZ&&xP)y|E#)2_1e_K6FNe`>@J`X3(`4n1F{C-Au# zdxN?EdOhn;cWqre%2VTkM~oP$PdOxOuBk06w|Uk&>^wEk+a7VJvZ8`%t|YUTuN@Bg>^ql1iysce<34SOfnHLXw^%4 z=IT#mYwi3-SEPzq6uHaVpC zm#M!#O2B)iRpp7%`gCC{_$!(L_Fm$*;Xl(I2aETxGaXz6;^G4Wc-r$Ai=X7|e}I#~ z#o#9JO-_nIE96p@0h8-Hd<8Z1DN7`H4(qJ6(}p79E*i*=v40MP2_!<#sF3xLSD~Pgj1IyX{9Z&r05| z41dX&sQK^sRz)|R(Z1lGt64&RFA!(J(nH;L$q>qhX+It}WMx_V$!6n5+)gcSjDU~z zBN}=M197`2awc0j*Jk5}=)M)HxS@`DO8m!^dXS#VT+Csc7Y7~hSRQnG`Jv#DPu>Xe@hY^E=j$imZMB5m$)`$6PtG~Bti&x*I+ErepB@eN4F^CbS$E&^g>u$xx+<}Sg zC#QI2d{OBVVwA;+$JxIhHi9Kj@iPRJAo7i=c=d9%n~H11n^W94GY7xt^7|!^>RKm5 z!Go~=EBJSnxcr_wZrmZaWAnF(*aKp|JVV|e14`;e4w9n6Jt+@r&BE1Jqvg&yI-tY$MFhI(8<5nqW{+`Z#F(UP*6PMpat3vh!(A z1f9>gEaE}c}f}Hi=s(vB~Qu-xTTzV?_ z2}$GHji*~0_5Hm2iRst)(Q0NVXkqEcK*sp$XZ+BE(7X=(T8i$T>g0&ZTE2F!XN!iG+5Mn={aI9xu$_K^wf-4?LyccOzqFBXDS>Kf zKaeQ4^hW)wcBKEc^xS+zpVl@#k<~372x`cb@%r}3pO+FJ{ujXK&&S`Oew_w3zy4@D z&abCZGM7^~Oi&kFN_=1XFYrZhQkp>S`Tb+l%c3Lee``gwtIeBNkI;y#nU5FxOQQ4L zJbT9T8;|#F9%ZTJqR9F?M|LTrQo+(G;4JOM^I=(y@on{cm7)DDCAL}Y`3U@$iXX6a z1wZG5-9S2Jllk_gbC5&*{f%PXif~ouJb}rV^Srw#3QU#{A;M;Gt4d$|MkmAd?c>*$6^r-558kgG^O4hiT_XQh8XPzF z2EI4^g*KWONZqBYEvu|(JU_6Ec)si^FaegP>(%B5u1qhBj?8{{nm^M|8W)`v{crOG zP5-aMn(#`Kh_!34CrA1jb8Ek9d5!ysd+YbC-^b_2%wH}$(oqg)ELM2`xr}UJS*8Aq z`%774*5hUM$0qa6p*=5qkZz7P3dk9j-6}p9#Io)sp>yof3(rEr*ypvf6I0lcne4+o&MyHW6x(& zY+&)G^?D>n7FazWM+EYPWq(tN>G3_an1hVJK4Z4VD)=~<9ERSQ%TnLX5&t4H#G@h zE{KB!Iqp$ge^76`?q;A*bKL4bC zxX=865pm;K?r+--!O-TNePR1u}r>Ei375uXCkzdQZ zos4eSPR~H|i{KSTx1L|$PRq}v^a8NE{&A4e4x)CV?FH7)u(9RWxZ_|s;lGeTTd00^ zIB5Px_0fI3?!4A8th#b!MM;m!^2+Kw{7h$f5#P+u)UjU@@-3zC7oc3{5uo`Q*~eD+ z_DEK1?xC0mNaG$RYyQqIzTtS8{r?u;HQ-2<#q)^eBfOowRbtEe$QHBGYeD@BkSYuc z>gT%p6%?@lw&NKrmp&(h^TCeb2SKyPSo}+q<1hT5tABI#91Ur}@`tmL0T;g9B6$w= zz{-}RBehe3yuo9RX0ZI1?7Tst%uw;b>LL5sJEC$_@`}nK11m4BuB>2gGjI9HzXT@# zXW{*OP$4kAot_N!cVp!cH+`Q=JE;k%Mg60;4VKrrZLs`BzY|a;1CC?w`4`kr<0^vD zawV%Ij1Q$GqUk5%XZEWUh?YMe@bPlbj;aBd!Q9PRj;J(A0;7~+nD6+@AMq^9E_3f>Q< z>{0ok1^NE^;NPWM)*v*9Bf;DF_XN=RSFxkSv73ielMpGvLxIyfAp!>#x`I0;+?LSx0N(9aTL z<7&)x1u@X-L5#RO%+6Q*h(c_-qsD0x-SX zy|PrJhn9>UvR{shR}i(KCx7>LO=3j358NsQGUg`{-9k_IPtg1|NEFuf{3tQ$NXY{r z3FQh}J%o((qx@K16R`fHR{W1U4pxjM?fEG9c?v!V(lAbL<*EJ&{W3n~m(UcS?>l+e zt-2;)?M?o(Vx~I|R*+nF!UQ{&P=Gl`{YLSoG5;{$WSJkt>`h$~F#fUyY{Fm#cGl@u z@CO`z2&7S6d+I&P0h$U+nMpqWLR}Fsy~AR~c6S`C*bPr|&rZ)%a59*tciq0Jz)^$| zEPuWG=wLUcR^6Z~E)z8*E-4s?f7}A{`e+$4%zFSK`|Q`ns%bU+~*rl+pD?hac4*RO@DI zUv9kFcpZz-K33Mz?}#l0RZ#sZ)Qvo$%=#NX&!&do$JXe)XI0>+nd5BzjrsGH{fvlx zNmqL-Nexz(YR}0Vd#+phd+)}ZYxO6P(Vx5aLg zWft%M469#(#Af7HyX~(^j4rQCC~jq}M??>aj2`iQB{{@O=t@8QgnE07(x+6aa`?1P zZ=wp=Jp5oNOI*RqG5p*O{sim@9s|<8?tlWd@=7$Y@^9co%7Lu)XL*OUo0LG$~>-6i^#cgI0pI#M1E8PWV|8YM-v*{l;Zu=-Zsda$cemy8jV(%k4f4Gmjkmsx< zrCIralQ8@>e<=6RESNpH^?h5euid|0xzG_=b(Gt#Mu&n`UBFLhFI)R`aiDSBirbg@ zxoYU1ExI(&s`JKVswSIU=`s%xB;Zl z{I2z18wZU{J(tX11`TyQYfjdo_gC~x=duZmIpqQIEvqi%3zUbr^V;h-k9woxRo`N* zIV2aXDt6mo)i8D*2dRqr%?sF?|JQgST%De>IN1MoU#O&n7wRhgD>11KmEXMhs_PvO zizk0Y#+$$zl{x!j?kC%MWQ$KmkM=ft&q3>A@ViDY7N1s)p!8;y`g*q%zxQyGEC>{J zHy$&)A}*|Y1|)wFtYX-2u&?5yMF}*ANfZR)D{FC zPA0=Wx)f{tLQr`2^Fikiy~(?Y7)D!wjW=S1;^PllMa)jggjQk2mcKAJvucpPY}HoU zmabsyhsk}N2wFeZyyL*CM0rhjhR=FKqgzEuxNdK+60@I>b)NlxrMuqxsXXXj@O71? z)nm7gi3jiG;0GeVPuE+`bck9>u*%{(JF8Jh!FX^T2c5ysf#zQ~MD=znI@C0&c%Jp$ z2MfUZ(b0%-3~2LNR=;>2VtIKf3rk|9T#;Q~zDo4Nek$4@0lQF^mY1(Sj8d`;SB_ry z*3?usYS)bXtpBb)D=2sk_qO_6M~&Zt*Se+lTiCJwyVUyc)g#M_hj%Ns=k8eTqqw?k zNHSK|KUp)fyw-PLSC3}sT6?UC`GeB3>JnDoWyQ_nV(yA-9lYUjKTy|vzr7d#Mc-|A zuii@) znM386R&ULJtdIJ4fByzW;~t);9%_xV>)-V2)%SouQJIZ@UupclMopIedbQ}HLGv5O zL-SFP7~iO0-%05MD)s#G>DS5!Ub1dA1Lf1r~4q4wsw2 zaVp7Zhn5FPvQ#^~pKE7=8vdvIS0(~hPf}?s+9A?2rn{P6WbuoTwK~j?RzE~cI~Lc7cf5IR(7c59c$0VM%!n;W=;Q4zJq(~=WCAn>d+?j7|fWu zDhS5@sSTdzPj6v+n7_g0E5F8)-Ub=NtdV<)fz1n8E*2|H?Kaf$p7d3`;XzBR`2uqO zo3TFrYcpBg82;0{{F+VKbgzF4Bz0xm?6~*#*Cp$67#_?2X8N zs)!8#M6jV=T-QA7&M|#<=bGC z%^OBn;|15R^Y0(Q8qr6!Cbz8hJ+Pq>{d4U&J3k?Mz1$tS`wTV?Y=Ikm?0Ev4Fm3rf_2c;bmfeS1OJ5i0%|^jG>q8vl zAJ-DwWuN>=i=eC|>-!(#*W^9I(9YKW%KPD3sD593ME-8JJ;A{s&dA@FVkhMPg6F@b z#j0{a4szDZFRis4#`jNhthEn;4;!7x|Fyzz8+~eF-^%C??FYaojQ)0hRatQDPr%1i ziu{@Upv5)Qr&RYnug{U}|3%lU@E>eRhix4?D%s?DhPBHn^kD7U_IiEVk+*vHK%_As z5t{l%dOh2Yv#+l-MIW~~K8pRhx?c5N#C8U_2_!hU`igEd-!b5CgLbO-BuCx+JyyGx zDT1|YRo04ns|f+CH>ufLS&r(x4h#sU1s`HdkaG2wU&y9C>lio83ks{&28Ht$2c18; zJ1G3j#^8N}7X?S(J_us%45p9xeP_fLOEzw6{w;Y+Re4!)S*@*yK7!R&lD8y_N3ytQ zqxU4OKd9*e8&3{FPvjZ~>yAf97+b;TI8=&y3>eQ>)l1i6v1@6)wHw^MT4@$g)8GIga^pmIiTBwUS zC}jjqkeM*H4f22iycfYO_^T2Xe4$5X*?8T8b%SZ<5)iKIZVN?lTYH|QPkLE&Wd7f+ zThN4y&WiqLjpRmB*#C{=eI3t85Wh7?qS*^Ye9fP1T;=9WG>@|70-oNi;u+pA@@xnr zm%&7nwgNYQvhFlTPn-qy&$#Wn?;*{d+K=ZOvc|0YTeJB_+@8&E-U1(DFP)AZjrq<1 zQAaG_!12WWk;YZ8G*xlda+x16IlK*;Un+(@V_buEPqFC-UIWU>n;)?8oO^D7q7>x8 zmw36382Mj~-ypwEX@OuJiB3=lN)H{uPk?4uuMTCg|C&;J)#OrMW2Za>`+s-rf7Y@s z=IzGn(e8}==C#-T-d#QWb+=tN5%DH#-^EKl-&tBoKl1Xm^jyOpPLih8z+-j3)mii@ zvGFI>T=xXHfU>mv20DM8_s&+&miR>NDxGfk`bCZFi1h~RH1OXE?gu-8reC#dGy2U_ zZ%ZHxSf248c*AbpZk43o@z?aR06w|A$DZr?kzB~KzNe4Fe`XcfrJ-D1 zkZBM|GHG%6M79leL2w>k>X=i5;B2zivlj=2=adE=zq&3svi6PO*tf$d&bjRY`Pswz z_c>W6yvvq;zy2(+tIAwI;yXX#doOC=x2q~itE}f{wD)?5(13Cj6X;_TNnF-{l4B39 zpBaDpnc3riIRn?a{!2Q=J%3zcj~7(wQG?WV$k9?iv;J#zsgKcp5t?U$y^L->zg{lM zvz}R$_1!#iHW}*`*@sLLxTrTj)N-QSv0(i`Y@;50m4idUkApe4kM(={Q;(4~wR~Zv z+CQ<^famc3s!$Os1ozyK#SK!!^~|KsVh%xPt{>*lSx-1Gq{@ZeDNw@~ffgS&!>6}i z5v*X+*{uptUN)?3NLe{wKy_E=EPu?eE_n|=W=U#bO6 z|Mb<_w6VcD*cIYt3cthQVW8<>{%iXv9_iK{j)9f6RklPgZ>j2TM;`4H$$=`@Kke=? znZ6%(Vg&1djttL$(v@L$$(u%&RVPb)s?b|2ksu9^^=R?G-0j8L{k@L2 z**#up{cpkFt1Rx{*FWLg<1NR>3Q1!U}zC8}%jOU#!!FoDi zA%n9HAEn?3(Aq=emJMaYDk`g!RGSH!;*r(Wq{N{<%0^hI$l30k9()Y3+zGF|ekwR! z^7y#sQs5enGsU&2ooT}L>#52skhzO}O&6Bs(+-a6dC!I9txLHGPfSw-LKVSU`9 zQvLbVO5W`{8sVNB05_>5tzF3^tbT8mRq-$-A7{(rd6lSsG)?`(6i$g8H*)(>35O3UIOZ?zZXq)f&D3YNJH+OX8Pn z9%c2am&*fm_gzr`d5{8o|C#F7`1;6>G12-F-j09B{$)mx z9r|d;E+Fp9#!M+Y-qBoKxH75GmuI~%=2F1=>jYR|2YyW@&i~XBe|l7wBsrE{zoz2> zr3u1;b1jePT`deJ5Fn*5WXIRw1P=+^U##VX^ezZ(1| zSf+m*WNf#noiMrjM|?ZsUh2Q?Nz~Uto$%7}847R!k-usCb{gq;T0JKt!;iuHRMy7r zBtBs~O@W8%`*Y(Hi>vi_Qu>fevuOWFkH>J;bg#!B;XCed6oU0Q@s5!1q~qg2v-c`? zSf`KhZnts^kKVk7liLDjgaeP_~R zR4+_v!x4VGPM)U~oDAwQpH7%>r>8i4KllmI{M#Ppd&-86<_+Ak;-s4(%G0lUOSAgS zK#oEXPZZWCwr-%}$v%xYyr0cfKc_Fz5A9?ov^m^>pHe;eft#@YT}lsCDdidHw$Hr# zhMtc5!TuZGf8TPZuL-*Ma6R+SXK+8VExsqm8|UFnyPH?upl%0fhFh>#0)2Y<0a!*aof@A0F;3Q(Q+ z!=S}o@$JRnC4M|$c{(dyC()6ez7&^_VKdB5b zy;8Rg%iM9WL59U3wLtYEy^8dz?+RV3DJiDedM7J})t2U?S5&s)R|KZt!9si=3;B|G z6r2WLK*3?)QD6g_x4|C5Y#0C*gVo@j;Dg}PAo|@fA6!Sf;59a$41Ny8Gj4>#Mp=%B zto3B^RTKs03+Q(n_JQxH#N`QzCY?G{e8n4}TCNYbk-tOL8;|#T`8NALVh0=1g%%_) zsO7rDLDP%;>)Yyg&fn!$FKJ02+b+PIH=Y2VsFHXb*+?c~{_VX)%Bg0oUsNB&-uM|` zAAIP>Q$-)xs5YkQ^vxWbUrVb`=tr~duhvd#ae>u`%ztAM_*s>t)ra`(>Qm;Nwf@hL z55@d0s^56Iug`bczex0fjbEWI&x2DrI1;q_*nBwcldm6g^}>n;)8g!^VJm~oL3Bhqso*i`P8Aeef+4es<+P~#Y-d+eF8yOvLRG3KDYo(6S>w7gW znCt)S^@%BLyw~fqj{Vz3AK3T<3W-&P>JW6X$X;H-Uh?&?&R+0#0<)JpV0AzEkV?|* zIde}m8C?l{=^8|u~vRKlhhB6RjyTY1HRzJ1*HyWQE@ zwp;s*OE&(Wlj30iwQ^YmacUFxpCY^rOtq!N)l|+Fh*N)+)c#GM*S4)%(j1+pK9_va@@Wx-})YWi1j#g zc1~hTpv+>OoC7yW*78|iVDfm|v~gV$G01rgHl5B!gUkdd<4O6A{r-EQl!cH7-$Hox zb#K{;%BD|vTAM!4&fVaBU`Oy2u%VtG2|>XoBIBlyf}i2oL)QGwFNas!yZYI3;=cr+1pkn(UGvXAFG~MMM>hZIzMI#~!Zmu>!*lbOM&}o0cYb4kZSQYv`l=(R zw_XLC$klB7C-$GyURwXbYO?N^;@8Aq#_i7htwy#OluN&L(9?sCeplXkGq>caeaqM~E-%oFY{A}QXmU0Pali_dgZEa?( zzxl&h1#=mj-b-%{^8>_-=E3Y|qw;~S2jr$Jqw|U~oTsV8O-md%J*6$!%v8tb*TGMM zpH@k>cH4X&6x!Y9Z_pt$@AQ4>sw-QwkRID}o4q+c9Bj5<+qme!RmoaDi_e>VCSmb; z9+&ciRp4eON;Z>kY{si^PU_#B>Vs=D`U|O+sCt=-f87<`HUo9n=bjNhxV zb-Dan!&bhxtfo(8EjDsZjXvil0rRN0w};?b_&o*w9=zY`{eNX8qA6&iht}8E+evU8 z{AkwAH0$QSSiN40)z_JQ_Vqfjez9z8U*^j;PXd1f{@UubkLRjJm6h1@nvJh-94E4^ zchs((JYV%Da{SGUz}d$4ZMUwQ={H-tjpd8@;GeC2UxWS{a09r){KEFy<^qmA5|p*Q z9GGus&-d%_+X21|Zgch1eRA)&T3^3IJs*ain;CI$9tV!G`wj{OID^gK27e6x0{kQR z0yrHcYHi*G?vbWjhHUlGK6%%cUcC844Gwk)=efTAZ(kF9n}dc&iEF8Klq-hT6qWK6 zdQDO7s6-7<438>e<-g&zl~qL}c=e~cHZhcsEsaW47j>-}T5?NKZDnP7P0=~$onORf zEGkM8)g|4klDG6O8&aL99&Hm%tlDq)g-Esq$Gv$1+diQTZfp6|fb_EPXzN2} z2U{$Ef@1e1&(KxdaJ%O%#q?U9xOEVnC(bRMr~GLPK2M-G+yq;@*e2N0k1`kcWuwv- zC~L^p9-V(~{Ct2Y2(}Q*ET6iA{lO{`d6KuFD~N&)JWf(Rwe!GLYpCOUfGc;FA-O`Wi)uFO5vAjK0js`TQNR& zzsuTJ)&f}j{s4-<(vjNtH*80OKLTZVa+5A^&~pyO#XO0dnn5!DEwyvD{@e06lS{P( zERQQioX`@s5bOiV_FIsk?B)+u|JRZ0vg$-d?ZDAhVF%-XLDuaY@%MerV&dQ7|8qwv z*fN%#G2kq)6L<`m2YrbS82x`h|Ih9?*g_&7)PuW0I(;-h`a1WG8r9G8SG6FxwTP{U zJmgVTfGtEi+pc!oV9PqF9}Rw#0)ln$5zy>F&tF_#TU*7_s#TR0HBx!jd~JNXWf%Nj z0bdIWUf&xO-hW3>@G@lr^RLgk{ieTWZ!h`p^)-?~XUG39YVLpKBX7Iw?R*`-g?{y& zI1)Mhzj~PbpPB#&`{Gt1w$xMpEdi`yzd_PyC9TuNm>z}^+LnhvI_?&-^(~V?ax2wqD;I1%3A_-zmh%q)S<7qw zS`-E5uNOo4T<~)$F@OEmu#~gN=s%7pPZ0%0nsak=IR#mq8Tf1Xd zxwgBLA8iQC_SD0#0{f~YJ|DXEGGCu~{K*s#wnL=Qp<;+=2x9g{i)?wo*Yj@9_=Y

LCvIXqCqQ>r^E${z#aYYm?Ch6_0GOREMMOq=TmP#PH}16c89&?T_-s4Q)UP7?RNdAK zB0b*vJUG>^kM+B)WEES-sT97M=$ijAJxirec|FUX@oP@c1nk16!Brd+uYJDe{!~M3 zQ-AmH|5@KN9b3~!Ph{Q~SZXUa-{v&-&O2cfjm#87*@NNL+1|K777v{f{2L?Re2sv!9GE2v{Ay$FY(G z)5rg>{uZ@YN6ACekWL0=G}EhghPU)&ydx~~o0*2CbSaNM_8&+O9H-8UR~OT_?|8ms0Zz@na`q9vXhEI-;t58L)@ z@JV{vYdisUQpnzq!v;pj>3f!!y%M9|)u_9CEne=py7D(-=X-MQxv6alcew4RZoB=H z^xg{O`Xl&Pm1S#h7FU|&DWSb=qmJe$e*#^L`|^`xpuZ0!e%ScM{G{bO@wlNl;_Aq0 z*~?R}DU@x0(>31jFXwnVI7=li4#wuY)!+B>oti|2|Ja|O2hWrzM0}`{#TRDRw&4-C zk>|iibl=o%zuM8U&rW8}KO(xsU89TN+O`PXV00zd>%7`uIg&3SH8cN`z1--@=#$25 z+X3z}`ZkW@1Biafm5ljPBrkEt=#d_6TMO3vNjnXFZ{CD(|?yWN)qChg}fH$tiPd2 zfyMnBsWZ8@!S*vqPo4$UDKuVoagH4(g&7{8dENJ>H0^*b;>-!Fqf@WEei|0>ws z?6#$T+4_3YU&FPAwqqUJhk}Dl&vAQc4WC2L*@%h?f!jw$QVb8mr1ImahEKOfV7 ztY2^M%2{6qdxKx++X|!Eeha)CB;gdaf!=+8*5j<(zX#q4-qysQx2FDq*;Cl>k$U^R z;6vb#jZeJa=gUWSwcp*E!hPXCQvIm2??*%6_bc#8@E5LrF@KyV-}cE1x4)#eJ@_Ha z3s1yy8$l^qTKC|%$$Q%_FYITlsPP=K`yyxTdD89mwD}frC%89V67%aCrZfxIzqZ8k zy{?V8_^X+tec`Es-{h~+V&SSJAFyS1d2HGqf zH;eyHvLQjXdTJlPv2(bS;$Z*ve&e`{7)>?;{KoG8qjmn(R(?a?qknQ}l0`?0lPSmH z;`z?2X<4$voy5tVRZfzfKXhC38`n0HE_G;rVMnUpcTMBMSq*hTFtvol^-n>t=*1vd z`a9kwX68cc>yQ6gicGuhG?K5ViF}RymfiQ>X}K-B=;Z|4`JmrcQ+BiV<9 z{kyT>h}(0DCsEp9=N*10tzSy+w_ETV+4==}L3so@07irEISrF1?kDc!-#Uq*)1J|e z-~fI?bawv8pHk=ccafRB^d%4<^78B;*z*)IQG=IuhHTrVo&1!Kz3p7db|>%sREM*F z-h|cQAb4v}(BV^Oww0e6kksmVwWFPjYN*4=?h4;?ZR6*%tMq1MFe!9Vataqmjl0k?edRz zd-l2JDo5G(|Crrco^U^W!ZF>h54cm)`+sx(Xx~M}Zw>8a?tO@_t*7&YJpaQy7RhNy@#7KkP2a%T&*nO0>@H`tl zMhm^+pC~u|HO%1u#hL7<3m-bczQV?XkLxeH zzK$Hs4eW}|4eTPf$PA{(?Y+xtYAf7d73%gO)9EMlqYM3R&rOcC{a~bG&E6D zTcqnwJFPr*WvW}9cA9S}i`y|V;&FUeH|R(DWR7na`Ejbxg-yNdfbn?0*Y zTWbs5TK;pM2!grupf)@x_{c2Q|F|(GKs)W)yhbkH4RQ8QCL=KWUx&o%_YbNhO;7je z82flH2m9CgZ}Ob*fRQ6c@KQ`n&-gHbtvSS0$*#-Yaj>h|JYxa>G6SXitGf;d>9J}z zbQ|n?6#Nso*i&F*dRTto{_ibZU+AgkO}lvecY@MvKc7SXv+D{^b=RbjJXJCfpE}kN zM7DYIT7Tl1_5#}Zk3qo~-wX=Aj3;St$mCyLJ(1J3Gg=bZT-{fZcrG|!C28$EUB}e$ zy~-h>$!7F(QUCEHMQhjZK!26!1H0C^EyO)=Y<%{WCTdFk`nB2Sul1IazUN4$`sxnY z>;c{Te*3TM*1u1$K9_}j-tE=r(!TDBy#1W?@=omjpdI(@-@k8vBaEK0gfNboTpaI~ zb-V*^vG^am-bv&25Gyym#E)UCbEP@k=If^wFWF74G{DMJ(a@|C9^dG@3nch_#ICo)Vd*=?v#{Ibc#b~iC@*FLs~=G~4F zUHp*IWxM-a@L2F@dtMMvVE$$U+_>Yj`*851;2BP~_;22F$gkzVr+vmNyX)e0Ie7PN zyz*CO8vo<#fbDn~?6xo8-d5ukXQ|>wfPk8pEM8V7ovVp z6!rt_XHCWhyDxTBc3aK{uL=J6F7|({{kT6@>t-D%%%3%$rwHw1_me&^CpXyri1?u3 z-H)-QTLh@>ty3O+F^D{A4{Wp9XCvIjx?Ld%yH1abI7B;n}Y2 z;+ECV+ls};;n08B@eFqVlbtKUejv^#dVcmb@|vD0R{WDgy)0fDU#SeRXM3K9@88^U zuzLzS$|=>zI48%q-XBmPt?d3Ih_&yYNjZ>pJ4gIgCBVK*M~1aq9!ao!5kG3=Ux9K_ zYGbpODS__7{Jbp+RATTo*2Pr*8J2* z<^SXEJiw!@mj8d=O+p|*APL2KMX?vKU%McJVnGG$jgUl$h6GbUutmKpdhL2`*Iur@ z_l~{ydabdGNC>HPJoi#Eiq|DD>opgx6ZZfj|pC9Z1@5tsPGwuhb_k6p4E`D*)Aetf%h2iEp- z%DuJl!^tHQ*J=v#^BZTxq5#Q9#$F}GE0pE?>OI+t-Nu|wgNi(DWo5JhA!A){5s@cazvJacuE zf&rHTd{95K8bwm|C|;{}6Wi7KKU@#hj9gVS16;i!=Uj^0E@?ZdCRVE69fV!8&1UJv zetunTZTu87{vDRgZg%|p?Ywx$zr%O>1K?`!0>s-ZsRb<6($|@jrB&Az8&i*0X}F(f zmNpJt*h{;y?W%X;j_QkgiT(fMY&Gt9(Da?-n-YI(%rs(-88R2!<8g-$ZP@ix)koR_ zhwaBlXpZPPedOwE<-edm6{*MFZq$y%`txADsqL5ro!c!Bruq)dDvrmK(6%3l_2<>k z3qRO{r2V6>e+ehS*tz-$gPK-ixL{Hk8bj~&-pRexSBp$kdJKfZ^r zmjF?VD`$YNwIf~5dqmAQiqG+Lw*3t)H+E8z`Z4NvNsSzdFbD!{5+@{yqbU1%oy||y zdH5-AJ*ZL=uD!~NK}pq8)?dJP)=wRmn^#aSZX!Yb3it_Yrzul)9cYxiBB^?LWWV#h zm~pyMK1W@iSLsFaifSicsr*E=Qf{_729!tJVt=W4qenE~hRAr97M_damTRn^j>wsM zmQ|UOmJSBu`Tn%+CLpia`{Ru}V((MAFI@*ZBf&xa{h`t}GdS0Jja9nOh5$|4fy`fd0C-sd)LHen5zN}sc z{EVFk3%^H~D>b#Np3X-uytSbDa~vq$4=DENB2Arzdh^-kQjbWumi{uR%-xXskhbli(ZYSQmG zT-jUe+x%w+B6Cz$ub0vimi~mk9L~1da#C}%-Rii}k#@i1uWk1c`#UkeAlHBADG%wC zmzES2>HCT+?QE*_C+JJ0Ydudak9{zg*`4p^TR+J&t&wM;#2 ze_Xf~>Hmv;ZOO}JO?Q!8q4uqb?+Q+k?r)i{OW7K2+ZvC%H6Co+FThe`wxid--Nt56 z9h7@B#VsctuUgtNay=U4asoly`bk`#eQbW3e}9U3il6^!TI1?ncnh=-Q5}-n*Q?j=sc|Mrzuo*>=-#Q%{X|1tWwhGVkIC zGj{w-`vWzN)P5V72BupM>Nd4ojhl|L`yGFE9qKoo$4ybx+^sR!N5wClUaxUX%~SSv z8OfDY`!Bm)hAmh||1kl(sQtD;+@gNL*Q;ggxps9m`3|=<%rfx@gcycq6OLQduBX#6WjN5};sY(8(=oNv$ZVN}W0IC_%g=mJ2~t4V zPq!XdSXx%jnMjJa{absbbX}WOdvy)u7<16HY)>{<08Z-q9}$AaJM!MX357*W9>zo` z3Dk3>UZqGR?fcW-mK|u1&9W)%JP2L{;v@-PY+NMY^OhL~d9f4k>ZZq@px@PUr;;5> z@s&bHaBJ0}s&Mli%a8h}DrODdl3Q%RTHvJoz4CaH6Ox9-F z0$pysv`M18E-umX(hpj8v14r+2OgoeCtbC0946x>wYIzmmKMw@EU74y>yx1C;uHT# z@MSmnbZ>^{9I${B5)X}({Dp2cbY*Jn5W-^n0DM{8bk%+@yPxts44!th*fd@n+3$MK z_Ahi^&b=Hy_=J3%^K$misAuQ9oR<^5YNEW83-WkM$Hg_;UR+$G>*`OVEXO*oml5xK zH-dXPL4axXGhX|u@n%`>9M^DE-VMCREyljYE$@h3k*JEK{GJZK&TpD!U%~6k;6478 zrlIXAUVbC_i;9r6A2Eddf3?SE*&_1(8B}v(APBeDpj;EDC!!^#?j%3ZYtTb>2pdEE z84`z)3B)m4KNPOV`1MuvUF@8-t6_`A*><59-pX|i`MeXNykKnEyy86hlce>xJTJGX zXnJnm3HF?xkI2ngBdwQ8*e9;hR15E+&B2Zw4gv|+OX&Ei+!n~+!>86_N;K6nPZl}` z6mckW!jW5k#jZ@KD6c3j7zg9lu6#iG5_yhE%4g|Im6N1=9=^5K#c8INj%?_BAi^DJg9EVY}6E0Uo&qZ`3o^u2KGOa{7HPW-lX8$ zQr72S7@%5RTu!_Y8<)rHUv0UlRY{`D=4?n+0SW)3%k`xzSL5t(Cm?}xQKhwn@mep0 zOSMZRe^PA?W!eWE%mL+#luP2EWcwAiTxhB!E!R1a!sOPjkTX&B)!@ptT*_sgPy*!| zN-LmjTCSVecX6Vr>ra{H0h*FF#c+K|xoj9KOZ7A*riaq{Bxx)}Ypp{a>ePG&%TQq*(gF^_p?&fA5R~>b!&H@h|-w9tUI?UX#;1_VMD29y8g`t>XJi z!y|LyFE~aI0JdxYv2G64eln;8=UP_kmfEe3|M~pcQ-NP?SAq5Roz0ob@OzQ$N43i{9lfe9*NKe?KQ}IZq{Dmfef_Gt-L;Qf zpmUATk@g|+6z<;a0z#l4uzUyRC$(SSQ5p%_p-ae`qe)nalx>C4UBv8m!<^Eb)UUU$2(Vt z)JxzMITux~XI;4xo)6V>N!5@v4ubW%NA0nx`hrLVdxKAg}~Q#}gj(N~pk z0Y=8($X@Sq(78n;wgkI>W9m4i8@CvBn8WQW0(I5WN zBz2m)KmR@e9##<3l(_B<@CEn3c0j$fLTP5NH3b9#H-Rd7x*CZ4D?=IT=3 z6H{ykY!xz@%L>h)TRf9BZ;TnR@tr=GU2b!ZoWRGOHZVCyJYY=Q&*ZVa$vFRGlezOn zChJ%R@48Fv8qd_Dsr6T*oy*wb!zDGWX15y8h$-ka>3f*o4M$C*_AM@%TU3xgqhM?) z@9`=sIHaId9=q@8*j;Wh_m58aevNnP$J*@Vi4{o=j3!8`$F$VnD|Q%ZMg40o4!8|E;{GMxseg{GFeFTL8Si|6z4$!-(#FlN_A~46hcrojiP&~5Q2kqS zCQ1%O5edgZl7A=@`zl4%b-VxK7@JuCsphZa(7Ac?9=-i|mz|95>iO>Ct4O|xO!K{x zJU=p_L2K&$ns3Eyz7P{Vz8$Y0Qn}2cz9eZJwFdbw25QfvP0Y)V(e$u zyOyS@Z)4{}@HvQzqk{7g5@#@8UtTbyq;y^ada7}R(syx`#x+mV7Wz8+4H@i6VQYZ| z8z_dY|G>Joxb-YT&&5%yYlKYocsNZBYoQ~=4<15Lzn;a`wx`bHsD?cEf6{T3mS2iS z((*q;`8T%5rU7>=bC{lV+{1C5>J@S86#cMNc>X*IIpEbBCOLcXANK$5)1@=!?FA0! zgj9yaId&e?j)Tak={Q&8ann_OZrIY&kg|F|LUSCLAm=pyI$w|WDlMs)t(SJ&&xzzq z`__DaqE1`L_aK`uzoOxwVRx{PW*cY!N$W>MPtrIrha8Tw$EE=%S^pTf zd?Nbk^grwyB&?Uz;JOY7%Oy?*<2SLQVlnEMaWT?pATVxN7a;Y9g8};5U5c0A-ihBD z7Iw$qU*mrlzol&M{F?Y4mr&~(bau0&dTRZbAF530u=YzRwrjl9@Hn+Ewgn&3@T%pc zsoHKeUUGdKdnWj+`tW@uUh0$@H^f{Q9{-8rO0N^s+JL8!)ZpaP1YdgmI_Gr0A?V*k zE8^A5&f_0nuNtroIv#olbi}Pm#WZ}yb_=iv5K|$2NE>IA>LP|RIhJ@}aaW~JfIn-m z-XlxWY0lO+`~n+`WU(dr!;rT?l%JH+Z@t+zl60MU0R&l-B7nOsYq5G6u9C|d<#H+O0+0e!4!^M@f5-*vvvsLkc?9S;QsZK=|cK)YM4Dc@k^M_=q_BETHwj%IgGG?ovdO#&^#`H{Twc#u?C@ z436dmN*!4z*vb0HB;+qeA!&K9K>ml=W79|*_sYR(oRBuI<&C#JM&v0hlQjQ-QLb_J z*fgF;-kk8H(McoK{H34JR>aGW?NxD?N9w<=m=%gHcejcA{s_NPRFbaS6KgiX9-Btt z6{q8U%ZdJAB#1lzi2cyD0F4*fTm$x2?G*KY75|(8-P`OHrV%IPH6TDSKLbEm?>bv2 znt1(4QAkSnOz1vhk4@ui&|Dp?&xwH`Ot-UjsFlXtbGu17afC_vbsdw!muOO!?qgDx zPc$hlySW^DaT9kvMCw^YNz(q^aO#^jr>XHH%Dgk!lS8q|N$S0bjHJGZw%sUdBdHOW z7s>@EaDaW&xp<8uWSy;@XDDm0WNqqNCVlhyCiADkX7EclgP%+&AM11;JyBUd()hUv z-SrLs?+Q-h*)G?Tg~+O=B;+ZgBB>so1$S-s*fiqMLnv10VonSOVLj?>{a@nxDg_M!25Kmi)bjJh_B7=fl#kOR1< zX>WkFZpsG;w+ZjrMAY6?1)XjZ`elCk-I!l#1u3_g!8G*DeO{(dc)#gaaf|WR-`)(` z@&>y$N$BNJqpN+>O{NL_9k6>+H6)dzl=d8ZY?{V#@<;G1CtxA5_$X3OQUxT<|30L1 zfIT)%2XT^ECMAUvLqI0bcDS6ks=AfmNwfoDm89|0Q0R% zC)2QyY+$|VTvxvP**}4ElA2C~*6v^*4u%0OpNnEhwiKSi?bofNm6tE9^z8ZSx5aen5QP@?Idawga>YC6lW&qUXU zsa&P*ZgFybfc+~ae^S#m$aEH%&w<#Kuw3hq>ng1elU6KAZ76lxbQ}1OoQWzI?b7;- zMAwIDxlo0s=UllSWd9+_pVagyWx5I6!vUr#Qm$2AA10Pbl9p=$q+S3o%9*HgJ>}O| zqU*!7TvSEV7p`2Csp%cbpVag|WfFYJftcWMeXa8PFtN6h)b|iKHbJ84YdI5Du21}O zCAvOL%OzDo3Xg$^Ih542$ZpBpC5}}uR&jlp`j2Tm4~x_O{llIbf7+j!6PEqC7m3?` zQ)Ilz{Tu1`QzR)~?~ETVA1`_T^^=YtK4LO{deW7}^UKt(<9SVOyyb37Fb?cvybtl< z&4<}*bUbgGe|_vWrhZ0;>!*?!ffl@cV{~I8Ytvq0yM!6mV%5;#doW_N?2%*D@2Ghc z85&sb$}L<;Y948~%lG3y+3Agnx8xU;=N1-eei3?zR{i}i(3%U- zLh_S%CUCu+lhiGpNWN5&=8Iijem1zm-p?maW7juo@Vbg-$^4_)C+-|8H+@yt`R%G`-!V zj2LCo4{J5)v+_*(XGA;Qr3G&rZ}Tfm=)ln?^h32tU*|=WK66i#e!=r5{kO-uyPNXI z+t0K0bc@YV^-YTUI(Spgt+KvRD{frZEN{Ycq*+Ss5xUUR`orBWe-(VLbVcu)XIYm9wY<)?!mHQy?J(HPac7diU@_)7k$w7oy z%l0ksArKW0+b5Z?-_tfdm1{C_gq53%QMA5<54u^)S3t_vS0eVHikpJ%P-N0%ypN<) zLvr;b^!$2S%oRjj%~GuH?Lb6cB6X6~wIM!k9-@cr5Ln7wzc-Q-q8?(3qsD#p_2v8J zPG?m}+%(&U=$bw z@O+Yz;K#K9zpXWIXLB;mJHSgmDB(mpfLw4q#eU$?T^u*vK>L$#oC*Ju?D&A%J1IIz z@!FM${G}))KXzDNV~{Aae4Gq|yAg(2-{L9$Rdt*$LouB7Utgmv1D^C@v_N zm~ZWN$D+o~m)Z^GLr69_|N1!l^sO{Cf6wM%Pzc1S3-n-WtQ-`_^$4TTo;OY8j! z_6H~-cElgkSj{*(7T)A7z z$-M;`Nm6>qyZKA#ts!UPle6AW9(q46o=o!NM_650FAz7JFvT45uLiF7tt^HZ@JXz*OTl|bvd;h zhIyF)rg1_@Tm7P3zXbGWYH4n9nSB6WbSO#vp{$a$o`@h?2)9~h${B69K|7{)qdY>? zElBrGOSk2=?L+AK`bNubnGRI5wEfm6t#6XAuWxiWT4saOwH(6ts_UEN@9P`!Tg$oN zJk38jeUtoreVasHCxfdrzo5Py!`UJ*7n}tylq;fBw{nl@8}wRUcKU{oZ@JUu)I#UO zqmhONb3%gOu)ZyJ??JKNBHx)Ty)EcxTem=8Bo6-0zBhG>Z-vL|jRXP*9OvKLUdbAy ztHCQKWewh6yT-#NG=H#3S$n1lT{ItDV=_Kl$Mh|4HyO9xWYT^|OL{UT+)ii}eq7yx z4M^CZMdVLYZu!B<|7rF=a^-6If|D4p5Y?^y9F@QLgKuKwsbPdQmJx~CToNvqZI2qu zxb|NUPd|ZQB*$R=wtTxvqT2Z+d-_Srg+ zZ114ro`IhFcd~D#0f%k_ICG8F!g{`h_loOF*8)bBYa}Hp*X8zZwW|$~9t7ypN6WRf zAIIWnYh0Wbu&D{OYed)bA6H(6@xVjmTyzu#KEqh4zIsTMu_~z@)YACi#(C$6>oS0pmI74^$3f zuYT&(zWE}Ndy_5S-}Po&z9v{W034+G1?)*Ho-g6@YP)Tf{Kb!6#r8b%J_;PG`Txc* zo>0&_5gaUMou1Xru}_f&-}5K_ab@Ga&wc@w5T|LkK@iu4EIt$t25L2$!4o%A= za{4_`o)}Y+WVueYB(+@4@Nfl?I*qcwtrxlaTQxgD)wDin+nia*e%MZ6JW?~ky3l2- zYYf!>ERpBJtrIVZ^8WB6{wV=_(OxC-Q|rIUo}}e%;rL-dFFmHbbgovRUa|eHxKyDb zuh?v*ZZ);O#K}oO8VUy4mQ(Galry?BoMic)w4}6rt{M=us`VF}gK7PplQ)7VI58Lu_w)Tt zjw|GVc<4nFho!_Jr(rr1Vo|_`_w{*yd zr1|?>D`(+D>?=Ctt$+t&qc-V^bx$X9KNeW)=|JwMENxl#etu~Q68*Q<_SJEkw{QG>{gwRH7R3%;K$DvFu{) zT4}MZXp@wvZ5L2t%ykn$F?lAD+Eu?KCrK)Q^tbIuaI~CR<#rOupHgakaXxv^1Se?z zLHQrd*<3jbU1?vd7GI#M*KO_e`9*S`V{Ai zwO1N*Km6T)8o`B{VN} zy{J0%ElJ}$+Qs#o%MmBro{}9&Vk{-eZa@#Nmv(rgUZHXy`o0NmM@iP%o^>UIz-C}? zkZ1a&tqsQ5YkT82-f{KbnIBt$5B*#Y0Jvy@_J}y%6J9+tjH@yZ2vgszR~gACw8$mnx1fG=d;@A zM@edHu-g^exGg4b#Tv379ETC@idVnYUUZnx3hJkh$Kc&o(0Vnk*oe(ofO}HwgQK)| zC;0xoRT`gB`c6yK&d|+TF%mLjXI2PZO=@I1+L;wZI4jgD!B?f)953T2pc9wduLvJTyF84TxP`?1PjlFTf4Gi0UCB8U|e9uwb49jd!b!+o>U)x zjBe+n#^&XfR1}wwD=m;0F6)h*T{pV3>sD$vR_trJSW)S=_qgqK@O_KyN7)UuMdOjr zx_&QVp)5;~kFL5m6xw)W;-snLCr=nVZanr+Ou`DMcPl=0@$;*kyU)@#D;{KLQ$Pr; z_CvZgQGDFSvBrscB9Q`DY_4+reQw{5I3jmC(~h}$6gz1#LQW=+^kyqo1?+O>>tkdYx+6Vf6iK9Dkub4r5rjyIcQ1FA9P7K2LA-K z_90J!DgfU@$AJCFXA;}f0rZF7%=1{Z0%CA8Y#KNTTmoJN%Nft1%)>VUdw^MhvJJl; zG?6F#thR{fSk?yHgMWkXj9G(w)maLj*95enb$>Qyz2l5oe>f-x@US7hpAGM4jm-_<32aLRxWkyups^X{+iWS% zL@zUD^8o-EZT<>?H$-VhuLdaZmKTBB!9(D6o-eHCyN!JT?P_bvw@nUpvJ2mE{1LPm zv%`*HFV^&I0G1fD>sjDpV|IhL-N}0l^|8l7@Rc#+&NXH{bvu54aDg#<9RR40iPYad z+ZnU(t^m4|klmzWV-6ty1N(s;jG4SSIMtY`?X2C&Fy@dg0Wv%k*&GVp!^rQj&jEZL z_NOt2bIsvHK@m6&P!ESwuEQTR=7@BV1<;ox$nyyJI^r^LA0WRY$nOYr<4DSS#9?d? z1}6h_??_~JB;`61-i{i{dsp`X+&hhO=X%CWKMLGtOy2e2HSh_bh3Ag|qX2TxpKHvF zb--o-`OO#)(2E&218B^s;a#rC;EXSfITL+4`y6A=dD)nA`|wT=Xq-O*91AGxKPkgM z7Z`KFr^Z~!Jr`51izkA|jJbsJUh=Uqmu>;L{!(OpDS2M@H!vH#Va(-hFMo^gJDmug zG3H;F0_y6@O2GeDLHjCXam{c5pVuIVwJ68GQ^6#_b=yp5Bmy0|ZargmMjqEg|N7^V z$pB++L@qZ%_s09dQ{Y!nM?PcOUTw_H`-3aN>tMMtx9kcI0oMV_d=ol*>m6KwJlj@d zZaWAdVa$KF1IK}@xNmc|zo7r{aK}FY^>yd@yh|2Y+%*qC^Dg+h z>pt){KzHs&ws&2?bMoliJ?QN{&>Ka0?xmjY<@nxf!HZn?j4}5$F;21?pz+*KdGDVA z%D{!-8t{@a4;1m;s#5`Fd#C_BY0SgO`C;yV{Q@{#io`J7th5&TwnN7hCU<`oAXW;Ld>Bc|RHn zZ@|wRS>R$&#hP`>^)|Zo&e4E!yo)T~{l=L09tP;c`v(B(=7T+1+fKcFc#1I}4Fs!$ z^})8rd`$g(au+}*pZo-t!YBECx+d5Jj0XpTW5Dsoe0C9l*UugU$ocaSAkWW{&*y&! zdw^NS?41qZ?TbsnzrlZu`7iYUOI`i8nlI;qKaBb6Y09{tF<(Dt%r_|j{=T^o zAcJq=>AUR#`up8Y;484)n5yC6AOK%gh2R`;Id}q~$5lUoHeT9P`;{{Nir)SD9{4Z#86cP6JXTv%&c)~Roy;3}$KESE z6Zkyu*?WO!y~tDEktWaB2A_@bpI4CQC}cfg)EX^#53iqrPg%zxbMCTUMdwD*Rhe6B zy%)RzYUoqKgN`d7%og3bE)Sdz&I4Bv*-($fWZoJF8*lB?!GC$@=$pn{=P=`q*vfb# z>5q=Q&3Nk{0V=>*;Ck?k@iyoWHUtytb8Z5@0z6x=Q5GmS=7!sO#-$&aXS|*N0X{L_ zZsfNc_ujoHxWjmloD8lq-s641Uf>VoJ<(#kC&z=|jQ14xKJ||Ap632%=np@0objIh z8)!G)bI^ZoV?bZ|xh0_4c+Y=oycb4-3_zdw1@c%p49o&Nm%s37z%>hN08!nG>w%rX z1TYOe06qkZ`S#Rx#(U*bxt%J?2KdY|%qz|({u%;z}_c>Z`7!1bTJXS`1tU;LDD z#!uR01^OKf>3Klff|n{(qz%e!LmnYrJ1J1jWYt6&e3J2`n?- zZ^&lRzJNOWoxFdC-`~G9-eT%_@!9OR8t)I}{l~+`TS7f8DFyJkgnD064dAJIUDjru z2`(^R4fRs99@x!zd_~b)Hp6(e(5~OfcnwZx%cSRHWObSwD9c*`F(Uh_c!88y!Y z%Iiu1&aZBu1CB5`X;uI zfEU0L!11Hd<%Xzp-s4M6W&d->FOr5 z*`)x!HoFUO-)7J8?X3eqIXDw=e)CUE2on(6f_z5hfCIr%;7afy_|$~9oC;0{@U~?g z;J>Zb0h7V8CbacQ09kDPr3r0w9-vIyECLNCv@Ks{+BOUDY~{B5gG0ewz+1GpeHy$5 z{s4`PlUJJ1_RoUXO=t(s@9-h`hPeu8@8p60U^jq_cY5B0hMmZ^h4o_av-5vVXqVGW zXxDlZ+6|h!jReSIxBb8&fNRGf$1!67=f)fXjsq6}>TnEoF@|@%jQP`q#%6$_fchNE zbz>KR%fP+hN$?T)7Es1<$ZijK9yi5=_8ekD<97n5n$QGjO`r^WtpVOKp}mpS-p2s+ zW^ZIQ@dgu`v?VArp#z42TTJLc?mr0H2SN9sRuh^$A5dpgkjv5N%hB+6%=RY4JD5Yq zmYdMDy}>WM&xUi;ZvxABM-6%9j{uti%2m*ZXIiPpLgZ1nJD6!gB^4$#8$L@p$LIe- zrFR0#Qno8N1>A2!<$Hly;BxR3XfdG*_%ADEdlh)ggytL!t~Q~$N1D({l<%awSiiVF z;JL*4M*#AkUjnGF`ILD+dCjNX^Zx^02H%3;Kpki|p_BW8;Q-m4yeXIlxcB4*fO}8A z5x~pIUjxd03Ot^|HK!DTa{%Q$1>HM^JWm}6kl(2f1L&Lz|EH}1HU#^ED1fluy1A74EbLQLNbJqB64UqrY{CD>C;Aay$2m0qin*Xu%i&-wWX7Ja|2?44^;f z4>F+(HUQ**;p*TI6S{~tbjjL)doQ~VaPD7U0P?&t2mB2j1!jN?!My+)S5n3+Yfb1X z^yDh!eARy7P{vzg`v1K$UhA2S&HqFS&kJqmibJ$ylg?*&GK?>2#c#Ut43RF$qf71? zqG9AsjHOq}wMZr2ar92-Gos|Gv~$z11CUgg}b!lQ_Hn$N5#xg?I;rDjAJa<`P} z5PMO)bbG0N(A)W6Na6NT4ZXr( z((&1X;F;jQ&YON1Gd}AM-D7@}3uf>wVf&b2X-QF$eo4Bs`$oreUsvO`@|^- zo$~0JFWvT8{(DjOqwEaY6|a7GVP^vRsdk1)-MphT*`XV&MrTj9aod?h)@OJ|=m*>R zYaG2L^rfADBRi6`k$2M0iQ~=3?vgm^_D(zZcD7vn)qh<(&t5d%l_cEG`Dm55*6t?z zp?|E}dyEdMD9k%ytUh@+`jEo1irk{(N=owz&zH3qKj@*SpQ57Cc<&l7#3%u;I`HI^0@3zDv~<<%MNrRm4ILv2 z@=9Gvo_8?648^GdNoSh{)b2F%J`9;wlVh=e@?F_I3(IB~<<8rW2Xz^)ik~ly50nqz zZZN`Tu7td+1<#woi64Rd(HAHmLRa1|JY{Cd+$nit$EW9(mRWx4-Ff@!3GPUWA2E?6 zT^q{?ikEATJ#Q|;=>vvyf?+z#PnFM41&^@fUh)qu%rBp5Z{auYdWy&+#ojD)x&}My zon?9ITbA6!~hW13waOk z)ZFO@l;*2%m+O;|163?Ze1K8?w4q-XBP_BbZHD*hqJkoSXO7AV`U1pCx?{jDgzT?Cop!6PO$5yiE zP2}n$KoMZ<()%Z1{Lf=d&wCPxc76?hvpIJ5n*_howBRai3mMh6C&U(LLiIFpkVO8{ zbV%AC5j_|4B5{hhOm-v%^A|l2_Q&F_?<&pG#S<#~d~7;oLd1t&n{6)>CXU~4PfJql z+KLKW$$G~A2rIG|-o{H`*TDtykMM)NRelQKB^zEC#SINoJ5pPQQRO@3zEKsrYUj&* z<1$l?i=2;_j|g4ts@l|bp|=iL9}Lj-BDLZC=SCUNMCf!~UhJvTT@QMjgRQ`(D*q-a zZ&70JDe9UI_EY709Qp4G@ZF&`_4|fm$@(JcM$WJe4F?;7Z8#s3;+AU+AH5R~hc1m_ z?=O0&@$lm&`}cKS0cZm@wJ)G$UDiAO-UCZZ-$pvK^L|OqK`HU0ZR~Awz0;oY z*NXWr*WFL3#UWM z&pYsg>z3q&m=aEX8GORg2%!9Q;Um?)N<3@(QnFy}fKqv0EMEH>;m5_T%8&FPq}xyO zLLb2k!-N`7t;?CPd?bFGm{(Fvq^IK%dcFM#%gZiC9Xoq=QK5aZ-@Z{J3I4Fdl9WGY z8g-n4V=q(-Z^OVSj@ARppVZfHQh&M_Hb8$;?yLg%tz@mqpR8%vhB@Zx%q<_wymAxq z(;3X|-pAbS+ho*>DT(sqA4pz`i*G{zvFv#%{E>DHkj6d|Yzo40y}Xpmegk1*{vo-g zdS3L}hWR!NxjtTf(Q&qvEch6P=${N{;N8kB?CnwoD@~Tpehj4TBCpYyl^eD@+R&`U z*$sZ4r2byvy#=Goa*GPebZ}sF?(D+R$MGqX(Q^O#>lfJ^!j>qI!}{x&S~hIltnE$p z*Xhsu@V}wG!b?G3Y4iuuB(Pl{g!N~!=#PD=*cAH(aMycHKwgpdW%~tQ3Z)}?DckFo zogJb5G5C=a8vqIVw4Q39zh}X5xfo&XCP_O>tez&2{r=RG8_OeOFXb?7?V;?gG}-4! zw4MSEAzWF3b3q1oGwpX$Z;y0SZ-KkRl@~Y{%+asN;CN@sXyg!)Yp_4`0p-iJ1@lrc z%xTTW^pOjsvaKD3Kl$E~w2M6p=2&ZxfLtSVgZ-ipkulapk|*!6@3S_5O$(9u>v;MFozLxa&7wJ&5pY?S}0Sp97oD|9C0q!0QBX0K9Gt zv_G79{;pr7_W2|7m*zzBQvOBWnA|?IIobq->p}Y4;y?UK;J>)bA1RmgHc3kNW60fX zkG+&fpebd$gcD*Dm9E6S@?99AOP^T$0N)46zTs};-QS0`D)ew0SVz(@*QDN>V!WYa zSbGN3U+e_-VXYRUktwH>Sr4To$}2+_BG%X3_66N?;zi2JL7&$-u^A9qYd zYJ20|T*pnloHP!v>hie}_jF5y3ADXkj>6kWyUEn6ywr8v*4Z;Jbq!8Ij;2QrY4ipwyDXu@)XuZ z6XSo!I*LuUV(rOd6M6#U*Z02^+$1X>QM&u=@e&x4pWbC z`Qkp4C||avt9*O`9}9dwE`*0qK?5hY3i44EVi8BARkfk=*UNs@)#1}<4gFs+vnp!co+xJF|&=&#|PBQS6#^?s%kWwB;+#G z(%1T7Jx9fmW7s*wEC=91CJ;g+7#XXS9}VxRsJXuktK<^+x-VrOJtGtu}xV%Ju)`Rf=n<6o(S zA(Fh*70~*fslrr_{th%Qm-7AsJ(<4@xTXE__Aba}+A0ZouP)Tw7&qFH*3TY$X#=6X zCJAQ?G=?6^U9Z7S+Ip8JmJy=FYy_k}aKh-Qr z<^Mg!KHMIAX-87_x4?&-*ac|$B~A*iBS>7{f3x{3y&s@A!>4xwwCD`H*lK(KvxXfRR2;(y$Bp12K&&4katSeBnz9aH^=k_AyeT|0Lf_a+ zVV*bTTJR)5qf;dYqJNZnD3}e-0GEMV!DE14nE0gBTBH#I%qpg>2et;2!8E{qX_Z{V ztYg~!@bmvEB~jlpBu&!!;y2(PPi!PCOnX9hB%#upWH+`S5U+kCXKLh9&ClxA3`o2N znCnP;$;PL_`CKS2$<33=j3T}!Ra6?7%n&}}r7Qfl2J;Q`LG-ISJ`?(AOWH#4iJh;Q zrOujfHCSg|$b5ywFH6hSsF&HX)^b@X6gMA{@`oHN?Qaz)cJ_&IgyoS@=3(N zba~u#x-M^uqkBB`M3ZS9X-ls?MevmaRs(}o4h_dK=$cW0v+FC1KDVmez7MyX&KnIX*aPwah21-rD*CUc2^ zM_|351@8iSy=jXd!<=i51e<2E(i#MwavSK>3C{dCn#OjR5lj=_9TF#>9m^8=tJ^ z=$-^UVubV^!PZ*7Z3*c$o&zs~x0RvLC6g^@I{zqB3!NsN@BJb`Vbm1=+hT!}Zp92CT8HaLcXNGL z^O5>oQTjY(%1eL1Zu_3)j)_vzKa&06x*XA>#Pm9Lon}xEb$uVPM*25Olb!F_k#W#5 zfKGm7Jg|}PY88~0?@^LJ&-#tPb0qP`jXEBy^qtOV+h+VAy&6&^FI|RC4*_|A&c3BD z@~dNf&aS_VtPhJmKgsX$#x0)+KT=eZ@$BN;#GvqRhU;iITj&1Tf}ma2pU_>Co75 z9(m46+6i44H*6li-bCagMJ8p72#8hsx_a~aZpev+KoqnOAi$vCNV)k=TKPm(m8k`M z5Q$fGipubBjNC5cI1#-`Ip{sI5b={FmhlQr%H$jDamwVI8B?APM95=+2uSCH?R`#O zQokvAlw(K!CZ$Zdhymj4IYVPr#EP&z%jbg_7i+?4@V zH)bwT^NDw`pAQ&?=*zf%Umd~bo=#HS`e(~~ip@gHI|a(jbN9Vc&LvP@#+~}!=gRvw z`!qL6Uf4*5STM|1-FJ}*0x$V!v!>Nw>tjC+;q7+k#N>7978-+Id5 zU;f9BCx74C6~*}&<{R9HL(J|qqXPQ*4J@bQxbG-yc4PO!)#7oKj-MFWS96u;~lAtR4dnh2eF+7 zO6^^7)34!rDY3NNY2+J`gG5s#we$3=`puIgx$I=wkrd=7NjpzDBui(PRpxke-tO)7 zyAYgX^))c=tK;Z)E<;&}Hy+me0{KMfQhKF(D)g=a{{UCE|3>aoBh35vs{|JdHHs|t zT_2n`a_8gZqnG^JV#~!}{a5|klZ=zx?n)Bv*Lvyw`T zeDwPP{05}O&=Bemv^=U`JKpYh{MCL()bp$XYJRM@(&t&bxqhX7q@V5UdHp_7&b$o9 zUo)Pf47H$1&PDkVv?zYNK|2V3=SJF>Jij--v^4x&YA5|^UqWI!l)k^Ub|;|6+9pNb zt@a)-g9&EyDfk|w1GT?#wmWCnB!8z<8Dhd$M;`PfBzYNY^1GZJCgh^u%hK8NZW1pq zit%@R%xG3cQLfBL#x2K4xvl*-$`>k@-jB#hp_{1dye`6?We1}3(KZd=u#OQ zX9xUH67-$DA0%Ub^j-Sd*aP}FKwg(&ygdGp;QwzRiTuS|k+e@mZ!N>dhwMxw@A=>? z{_PL6d>^nQmE4yL@DRiYUd9MO43V)5m;_`1z@;Skk@|;fxNU4=v+^r;`}lyWJgkvp5zmJ?xK?SAu=<>K%cx*Ox{f*>&>Lk z8}|8{M=$-vUH&R5Qa@>DB-Q0Kiil6mI1g0X{$PPM5?rDE&Od_wlt*g)MkN2o+rC9! z9o9!EAGCMXY5FG_mw~ImY3j$DTs?(ng?oe^?O1IWPhw@<4E_Ty)^c{T-bAD%sRznQ z`_;C!0rb#}j7Pw|D(~hpXC-=s4((X$mGw;-FMwCT^}+XnWH9rU@lQZBm2oHNWLzfM z^7c;r)PF5o3xD-r7e9HjJYQ2delpWc_7k@lFX!l08_x_xBT-`j?b`qEPuuTLd+(3` z=)bPzp#LG36^)Zlu=^cCo3Y=1te&$@@JE2T%EMI;ec$1Nx7LB+2W)H^2J>>F8p-EFVHw#ueQA z*Ep?7?e!|Z2Tl2LahBTXMX<4zrQr1!J{X5K;*TX*(fCsRN?_iuhCif4qUnrg#a&Mt z=P7+DDoN@8PA+@cW3PWcJO2ci0|`!)e!TuKlE1JHe_>sls>cwTV|QTMC63i@OJqWv z)qhjKI;{TtgQGzq2zU1F%}JEk##uJ*VSQHrGbJYxAI;LHAV0BjPn_lNCBN{2&*EQu ztA61r-V-HFT~fp^%rxF$M)B9$z32SG_>*Sm7Uvh_?^jZCLd9&m;=uWbSE=?l0pm&i zKee0;a3g=}AByx`CqHWce+l}BXeu54A06|5SN=iQ6ZAjN^3wk~$CK>~c>OCwF6DD}+}FweZJZ-{19rDNR(MW;QFffwsQs66 zArbn3VPHM5r+<^(wpZF`mSk?V-!!}h{b{lHa_vA_5Yfvi?)GE-n#d#QM?Qd48Kx0G zGGJeySCNGzj^oY0cl^eHg+5Dv?XCKar|}zCx^jg5Mtdc4zO;Ad8U6PQ%Buwnc_+(> zJe(2vVzA{z>G#rm{R3WRbYS0((z*q7)}IZaS22M8{Q%a`4R}>K^9Ja+s%8Gdf!xFMonz z`a%C$gV%BP-5W?*J(%8kg{=W>Kv%^_$VIm@Ufu#(1kS4z>{^-M8H3U)A;Y*DZ{x zxd3-I78;{zr*9c=1NvY)G6Q|jOI_dR|C5CLoxF8C`a?>!o#cf-9e8Ls(||l;Dtd|U2YM!TQD4)i)-x#&KHlNJ@CoFdnsE$OM5`%z#H1enxJkcllVwoE=Q&!_}tm5m%YiO$M2CzWJ81c&-`v_TFajBYgL2!KR(w7CsrbysI=s zS!i!mTXQ-h&Id$W1E;H9Y12oF^%8sBQ_lnV_C@JdLXXj}fjkc|aGKiVTKm{c0WW7Q zDYb*(ahFT`H8Jz)>07U$5Hww(=ZPwv0nRb$+h#D&ZzI}NlfF$oXNXM)&I1dy*zwzs zuIXY=Horvadjl^bXV%LMyuiwHy1$$@c{(-ZZ2J%CV-IouATa;gJ8|Sd@d^I}N#e*u zFJwj56|OMhIMOgK{o+X`eac3wHvX_bi)(X<7H2SnPyFOR=3wXVLlarUI*^{uK>G6o zzf~U6w?D)3BI6Dz4|XMFZ70iOa_3^ztETXI^a^j`4ZKG4kril?(zkobq;LN|=dl6< zu}X3uKUR-CsolidTWlN?)DM~a3DrYKCUfk42X~sRd;-))bwi(2midu7K_BnLm~+~L2Wvx7b3W$w&QGt|=9M(K~l!Me@^`cnV8&LfwHFZawX z&$V~Qtv?!%Dj!lRlKQG;@Uf3Q_A)2I!I(cViJ6zzmjyEjtDJtFMI4|5`K7$J;>UK$hrlgFYi0syD-1tfMO>ldx!ic zK|dHLvu-DIdz+h=c|5ddgOfNx2yW$)P+Y8Xw{fwZJHC$mr8p!n^AvtA2G?^WgS2Wt zq`o_whw=L*;U|qGkEF^g>PAw1ydE}Ogy3Z|H{v}CB(%!}VSc0^HnBLbs3O0>ReLgW zmS~@(bZ>yJ?TfN=Ei}Idzwxg$%rITidwJj4)WY(j0=YM-@=Di^qFY``l z{s}`O5Yc(ndx?LfA2g+KzK~2ppZePTRi7_}-W+@EWnz3n7{ky;oRBhVIUi(4Dt|Cn z(l5yz1EzpHPy&eXGA{v)gk;_aUIutP>HlOd;l7xZ1ixZ>NGc!vTjo4_>}9?Mue$;n z+RO$jpTzZFObSW!=gkC}pV?zC^9%B(F@&abf&qz$`~&loNtCC*<{z=~Kl${2u{%_% zOB`Ff9hiTNw|q6+EEW|nOkKEjz1rTzRFJga_Ywcr%aL5xC_9p3=_fNzUZq(&|DtVb zLwp%=*dS&a2YEJrlIQo!wei^FJaHoV;zZ(>YiIod^^8(_rMnUIvH&CDnS6VJ!Ufg| z*#cAKxaAsszm0QLu6~?z7PQs}nP7y@OVt)yTg?_HOkORmQL^VBM03Zk@#PEPv;|^p_y`Jko1fuq+v45d$ z`wxTgdV_8QcY%kLC$CPX{z%$?D6#t;e^ozz3{V&q*blA;7rPX^uH%e^W^VO8kcT5_ z`=x`#g&BBs-r7lLLc`!=p&n%H|S@M*8v-FLV^#8U9|jNjIY=IBZ2x5|F(2? z1uvmJpeTQA*}USseM+Vy&j??^{zM~ussD$aK~4P7=kxZ19|=-4p3?jz-n2_d?TAML z??06LnZ47)L^8*eCBSaD|zSi`@D0S8T;*rnb6rm*z#%c=Kbj-9wI~YW9>JNx}Rj-bgy$^zDweb+K_g6*u@0aDa<1?Vtcd-Fn=j zk%6}JxXTqA4?PI~(ix?(96#Ea6R3#eH)BqMMqWzGuRw_N{>J(WtnJ{5CVjIrO!}7V znC$01HQ5W-W$aT1H3CWP&x*om0L9y^CTF9lbE;^6!payO*| zID0%e1)K}64wgCr`F70*?NrOh4B%kK4+h@~u2Vhhf%W&j6BiEtBU%c7)gz4ypJT@O zRaXM>xi-x-*-sJW^nbAD;=c48ApJyGR zKk^f?&-B~ZU~SFNAw6fG{VxF9FI-J7nd?vbNmc8-UluV!);-`s@T5xD%aXMVB(>Ah z3_DG#f5HBEc->x@n%+l0!^Dy zjjY3!A1_PH0*xkn4X_6?qo%1r|ZVCNGQ8%+day#Lo-exEeL z)owNi{hsVXUI)6e@5u(jf|zQQ^6AG0wH^XYiT?4{b9r;NNYWd6Ec#c*JnA;aTbo(6 zwR_pJMCrwg(Rz}d!!b$N4R6(6YyAiPH8V@ucD{ri>1MqSL@~suhy8WHUUOPg*k4bo zm=#t6{)t;ZBm7u@9c}|zZ&(Umwu~2Pl0r!0puLJ8QO;E4{vu4{Xeh6jJ(6>zBL~!KU zJN`QR8fEG)|Kt1XMZdbDMEUEXL-1)6d(L0$$_#56yI7}_&AN+h`u5rQ?d%(rColVB z%bWV^(yl~q^)z5WM|DQcZ%6 zUh8KmKh|#Bv7u(zxF6CaFZ*YHPX=cKG1cAmvvTOL;!jiWyuCERMgerCXfcS{FPksJAW=_?fFB-8~zl}h!7n=%B=3|`CQb?DT(q))k$@_ zwwC>&WzowCi#zBSKj2>(cwkgG`ws9Vcne6GS-F|Bn!VfqO@bd0B}x7CXXLn!9N}(q zwvru5L4Kqi2I3Zp*Lc=ip3{?O3uNt#%vnhPHyk_IOnT=x-tzX2-^@9`cS`ktovZVk z-s;k%Bt`t@H0A)P(;;Jf*l)VNt?k$5oQS%W1IGGuF18%x{G?mkuPw9t9e*`mUK;R! z)=%2`(BOIN7w!4Z#v4VC8Hwd78(HBbvq~}&B+;|qQacjw!83NgJI794Ne^6-H^kP1 zmxF)Ik>RbVeyeC-y!vnB;#fZ%)L-?(mqX`fp#$-pNBP|Vh%Zjq4_6v<-s{HO;ysi4 zQy-IE_5t>Iq)92>-=wX67a8_)id!z~cT^5e=T#0@Q2duIi(bxW?8tE5At32E0R576 zhB8hlHarJEHH1;!p=^h{6`Ph`@BAhqk6;|a7(&jCmNPHs7j}w(G)i%1-NqqI&?iAZ z7zeaLe<7quUQR8)=YdN>I1Y%nKebSLXj+pg?)>hTLs=(SBsP>#u_P zq;~pW(3z_=*^yvO=A!-%lJQq}Pcx~N2O6(oEt9tHt|n!{1}5#SOH9h8Cy`+{>Gqwt zZ+o7cVr|aXC8p0O6HUs^o0>ke|83H;>$I%J9R5&n+v&~MS+!9=;NaUUwv zUQzx)Y9VgD>(n0v>rwpyy|$q{T3L8QcSaqj193zHfR5iuKJpyt-h6S9$8I%VlH+kD zMHRD(?e}e};&?7m?Sj(x?eKr4c+eO3L-L01!_S#OY>y16YMdsT*e$4qDa$tL@{ z4T-&YL)-<^P4;C=P4-25ne6NT*#+?=PU}49i%HLOQWBl!w0a+)9~@5~%ILfGqpDBN zkLmjJ^(eh`b4cD${FnDFsNrZ35S`ZX5BdI>tx?w~`7Tbp^%>D8>)-4*cvyWrRJyw) zZ|Hvrr%<+#bUZ|dm2MS!yr{73;4&UvEGo*KT~^4ms*XI@*ztxWp8tyQ*%Zk5q_pX9yO#L@*P@are;>)62!(b`llF!#)I)Y&h8B%0G?^3GAl!~S zd!96Lxx4PBuE8Wi82Y|X_akUB5EPQ&USzN3)OftG%n7}~Z^22Fx38t6bZ>#~P4?Iu zivJGLghID)VhB*W53(Z_FV=iZFa{g|&Ii|kdjNgkp>F_ssYCGu*J25;9mhSLq$K$5 zXR}d$S))3%-X42Ho8a{+AYqd9iNkWLSN(LB-d-IyT?t~u!ZKQriaJPHBuPjUwH190 zO{vyD^+(3hQ|PM=Q~44P4HKg{7K{hd$fO|JKHB!rEuYDO94DeTmY!ri5=$U{CkGz< z_4UJ6=R_Vj4oD-CDFU?j;JjaDvDI)U;< z@iB-0KY)$I%efg@laz-HNbdpmlrvHJ@3Kne6nP$rW?V(KtSB3HfaEXbJc!@Nfb?I) zNN7EZJcH#-u3USQ9Z6~44XLAn#t~8FI&_uF#Y&Q4+akLUA+#0yTPsO+X0!7(_zp-T zkv41FLoQz%r+&iq&$gE%?GE*nN`r!H1fFIwFOof z3_DlyllnW4pA;ZKx?mbhH(6GDf2CUhuG489Z1uZElO>oQ<5tSE_cOB~k56aUU$2@jIu_Tys51JCmZ^xItf z2>DbAXWAdYL~6{#?D}xVTd%zoT-Yx0m^8k@9N{sp#d=>m3t-Kz#qeBvHMku-!d+O- z;rQZ}rMUTy@P$d!H5$_I!~YN86pU1R(=4B*r*jR#xbuyXNAHaL3_odQGWhHK7asSi za6F49Yihp)y}J7U;{CRE;HO>31BSC=e0T|{0H-P=-f*?sZe2PNSm#OG?Ki>siRe+L z@WMKGdxz^|78ZB7ex>sl!#CG#z2UiT`wlAv@u$O22mg?Bfp+PM_9UjyvGW%}{nOZs zp3`u=v?Oo%W&B^85M_;k zH~cO@ADi-d!$0?LvfCueD_uj9uKQv%Z8$?qaKlcO>_`goBlbCod1dRze7#p)8wQDL zPzM&Peh1$pDtcC*Us%TXo#z$Fx5phT@ya{Kj|AwW@9MA4qm4^3SyM24k+!Gh<+;;K zO2h9E)S?R?0sm~dup-g_`CGT~@>Qjx75{^ts~m>IMWv-1Xaa`O$AJ|M}#)CKv%$SNXTj$t|iVSS32Wj{pIJQqIFcKErEg8%(5L26vy z;5z^NU;Ni?*FJaZt(4_SG)cCTQSs$L79&o5or#Qv>zQTg%PWnwy=E`&VEc6x~48Xyjzs4nG4<^|-tqs67X%4Jbe z!Q3O5C*)5r$$Sp)C2#-E1E&4EEx-ssYizla49_+@A9y|c8`!^+vEt3ayW+Qvx_yMp z@A(BfACnAc&pK{wrx(}}=S_kZVocitmHRfn9~%Q*5h+Q(St$DY26t>beZbDW;29u3 ziTY>Dy#q$!^8R*YDKfO39s{oe9qn_Cmtx>Yibzs_f%rkEljI0P+G(ZiNTTXB$!?T( zF)?8RUg!Q;ES_}loCWre zV9coA+$-{2_(;cZANnY4%YIDdGhCJKjm{0O-ba$r z>d$S=%`eU=oSc!B!9%}yyh1nNyD5M?i8z6d^Ma4dFaU3FD% zRmCEo`F8xh?`S76y|k#7ck?GT%C8sK?@W#)d9v4S7qVY1yAgB=AZdBF)RfkiE*zr& zi+$PN{E=&)$C2Mjz(r$i=X2!VXp+kNqXz2}d<`~O`gF}s*9Sb=g!KX2$VpZRXt{k1 z)|W$q^rV=Q|A7?JlU|$~vlLAD*PU{Cp5v^9_}2|S^5p49ENcMY=W->TjG!q-Ur`q85%*EhJ%uNVE-ZP&l*WT2RKsKG%C~0=qu_Js5pT`j0TkqnN zk5|^H`FaW!XO$1Hji_Ho{JM+hZ`m%Q|8PIetw8)M@#}&~{2SR1ZAHGa{>I0WINR~@ z1C>v||J?#UJ-%(1z2V~tAg-VA9P+={*M;6AAAJ8Le`|_bPU` zXL;qNpLLNT9m#f?&d*>lkt3Pf(ei5hqCV@luW04$%H{dPGNueL|JmhWaHvrA_wO!Z z=VLDy(W)-kbFIe}>@Se~rCdkwGY3>~)COp|gw96F73|kdE04G=ByE$-<9A`+q07;7 zCZare6wN4)bSbzF>Bf`w7(%DI9WwV4$4bW^kB+uH(s`suGmw%tyLE-^X}{p4#_RsV zKRl1tg}H(*7b=~N-g~#@eUQ>VemZJ##k?ckN0GcwFh$+&HC|EwJr_zJuCyNzukFI9 zyvr@%e5JRg)+u8+45m2HL(ge_O8dMAJP58q9xm7+T0$go1-LCp6?sK1XXNCI=O)IV z>Pi{@7gErl`pyN7Tnlvtt1&Ilp@r_gEPnn}rZugSoyGBoQ_ zYiU~ht?y6y+ndG<(ZO9iD-Y~+rQYzPY&%Yf$rL-P`q5pWzp77UUN5h7Zh2GUr)tlX zzVk=q4Na14*8#d^Cxs&nkDbK{vEOom>W{S*bvb1fOuF!Oo9f#9ax}ND3tX*yEUjJ~ z{_YV5MN`yr((zx{@sQ5|;v%_ZyJGXYH5!))UZ&%}_Zy7=A{$L;k~!UMy&JvqXcNYN zjpXE3i6e()OlpB$4e@D%B#n9{be3o%S z{1){CWt{$VMcwpDViOChDAd23FGdl^?P58!GB#xKvSF-o)nvw4cjR zh+IRu?M6L@@Xc(-go}x=a9W$$YP4R1_%8O==_Z;Z4E}$#x0=oX- z#x80z~8sctkotN0S#Qfqif$VD@%u5-Dx21C>igOLcCBl77=?B_U1_p&7CZZbF+dDQ z$lk{NeRax**A|tJDZ}D*aZF{VSwMw%bGeo(trJI7>SIiB?~S^B2}7 zyI@DXRpaTebNG(d^XSY=%x-V| z#kBtYGt+j7HM`!EYC0xAYT8cMjxj&nCL{bOcJMgV4o*GVC zW^6AR6ec*i_qTQXSjh-=Nwz!wY!Bx4yE6mXJzq}w?UM8c*Z;lw^TwymT|fRUCx6B? z$%Xq=ANc!|#@)Y!&MbF@?S7=&;bJezec~Vc^?{CG(&n+$wqg;pFv!t%pKk0xy#Mj# z#->kTT;12$SC;bJ`G#PIiQDc-9|j*p^_3sh*Zq7fujs>->>ud3v)x0^iNE|}54Y%g z*I;N#FIT#sHCh2lHMJE>BzmxQg*^Y-UCbIuY)$~1)BQAXhMZCP{!adKKyt?{i*Sdo z-)(RGLO6fy{6vvBExG$C;3CcM8-B&&GK<;$MDQ0m3!N2|YkT>=#Q*Q?sGTLvuc#`m z3_tBlz7kIhJjj{(zg3cq5bXbXggS`@xN^=N4M+)xggJ%b`ba5wh|A&_g*|Xa9JqM zq5WCf*C!yTL*8=i+V1ZJ`G&M6j-4E}Jr~TE9LRU|J#hBoI*!b;~PI0 z=42HVW|w5=6ldh-=^ruod*RzRzo+#4$6@}2Pm!^-7_3{5Y|u~nSzk~%B_ls~c1Ce7 zK1_W15k2VjgC1VX5CYhfpxi{G3twz|8~{duar|#|Ft;;Dy}>Au%Q-K_EUy)0AS0(n z@-=fz;Gq>Jur$y-KelLT9W!UC1+|CgRqzdlkOQmo{>lBD68sl-{O3b=aXvBQ5r0iU zH)!x`)afJ7WH!9Y^G_Ph z1wDhFvOTIC|9J3{Y|k!k+v6_&dqDP8uQz)=tXJ>0$Ln-A@f*J)|EH7|JI}H+2#f>b zYKhs2(8u&;ZKvx>%gS=9_z?V34We=iO*P6WU zNXskwj^$!nUcCDrpE;Vg#~17z0OkNu30hw9lVx37wtEyWuX-MDfT^x>{WG%M;;=b; z+vIX;u`rRe3fHP{v z9Sx->mrMNtmA8nJ)Nv_4tWoOOS`XQ2$IkWO9w5P--GGxT^7gf-nB*F!AM~&A+N`vx z&5$A4o=N;Z4qgS~9H<P9Llc@`@aLy21E5D>jHRh9m^_N>|U2qw_j1vJU54rpkE~NX$yJJv$s7n zpv}Nb)*h-zln?0-(oTvN&#m;D3V%0;KC#lC#1yqZ;=%UxJPz9v7s<8K&K(ckEB1!{F3)%r`ivF?ob2A zAuAS}o>qQjv_evTu+2Tca>uqORbwWDnLvzONIwdF;is;K8l+JmO||qwmfMh7!9fapV+OW8-EC z6|zd_EhtZ&S-~r2D=Ham$&gdmN1U4|dOG*ka1&f(+8J&iMe>5Z4&Ca+?C`Mjm`D$9M3v+BH-XAcACKhHRRve|9YTGM80m1+0p z$EMAKb*BCO(@Y!Qu)X^Q``Z}#}!*WYZ?dqT(9q{np2ju?z7U^WnA(gUbJu&KJLu)Io_s;Ymp zy8M`Vm5a-G!!b|U9;2^d(#Z+AewhjMyUqlzL;t;ejoFE}VYlqEyJ`7wFVpg0$8te} zQTo&W^T&uZqeSr3Kq;SSB(v?G2vXyvWOq&5Lk1?z>))$!A}lnHN4l1&mnpbW@BUW~G{H|$7d6I~@Ao3w^~ zQj_KA?2WrSIJ0bfVf%UsnaK8xr_j`KlhZ4`7;*RN4+a|B`yL==rSy_iuXJ(y4S%)W z{@~S-Ys_Bjb=T5v#m8>5dcA4&Sea>E_`PY}bAxGhc>%B6u%^|huN&s+KXYH2u}SBe zw$BeSyInuov_9_?)BgE(rqySMn07auU|Lsn@L%0<-_Kv_w)m^BN91_Z{yDQs@-wF8 zBq|Qv>!^mD{t?fpeSVhFQ?19nc)BhzhCeUG>@jkET*j5f<#jHW@3q$o+Gi!G21|k@ z-B#BL9v68oe5B)pU%d7zxq5&3&!_s&*KZ#hH|~|Hx9LcdJ=^Oh`b-AfW5Dt9pWpA7 z+E#rQ&37Jz-mmr71Nz&G>YwkRbEeRdj(Rp52F|t{#}f1ljn^X9y^-&4;etiYkLo|A z@71m9gT;_NUFbu$*WdUV2E+kw1Efo;Jl8C&o_Azqr;C9uTJ*((AR}2rrPrmpW#=}I z<^r*iZ9!kKbp<~=D{L>;EA%=aFbmo1ea?|o|2BEPnjAEx<*{L`)$0N9FF6%a&s^p7 zO=(R{(1z2*X3E>nJVUPkZ*Sd14ViWYNyem2GUm~R#yoj|F%Ml}%(G{JJB)eZPC(G| z#i_=;@iNb2j{ybzH`AC;b~onB3C0Xbg2TJGrr6l;8MS?X5%|mmhEFnq?4>5~?z<-N z?_JE!D?T+Xem@#|jU-o|@~S1VmM7ePi0t;-ggv>%zzX}HI+C{67o6b0{=|uPK!PAj zcl9Eq=lW{MS#>wXT92+3g#5!^KfuS2lBL?s%?m;=g4tm`t>q@^5z+y_5q>fKu9e9d zX{-GE;=%0y%0B&pAI~4)dfUrebg)A@bX&bYxb@|ewAG)Fa&nYh>tZMj&24X@UA<|q zy<2I2{5fdXil)oES|ml?A5|~;ozV{rh-ycNI*||m2^D@Hq9Jg}fPb=L^ zpjQiy2Gv^5AC+#-%$&S}={be!8OAEt#LQFl#v=SLq@X`}`#C2A+xr7{(!c>gOo;e- ze!rvl3XWyI?t9|S+nD>{a*gY}-`TWy_z<(p6L*_kURq#ws!B0C7d&8gI_Mj-bMgyv zRpL^U$GtxL+WS%XS3g4KBvzLcT(i+zrf*5Mw-|D9pH2fZ4p%w(>?QeFk(H#7yc$N` z-2cmwXA|P(iRssUq}u-nlGm^In0`O)95b)HCiuy~ zts0N&GsM_F#OnKu0~wKmZSy+Edq5Ut=NyT03zs`$a*5k&zZkyxE-p(tu zefH6-Y@g@7Z5I4am3@D|m)6lVJ5+yM>9sH0rxMK~emVYdpCX}y6WixNwi7`y5WVBZ zmF!6E$pwr6T|a7EAW`$TLj31G`;jwA>~NqR$8&*%)|`Lt)&mT!cRWOoMgMJYToukA z?st)PIGMcXfNH(prziU0KlNE4XT9=mFJIM5Do2qBDq7{ZnthD}$jOt)=VWjh5WS>w z6na59-pIa};w(>Z)T!mghwO7UI7dh|IZhZZClSp)M4YvpKeB&?q%X{D87(kqua#z8Oi%>qbPsCQ=XsEab;3{=H2{Y zvS?iDvd?O_?K{qGlNmiHkC1)8eHE!h-A*+=Qs2J%<*NE)Ep)`BivCE>Vk^c>jNZ2F zYw~R9t6ginfke%p_Fv^kNE0Dcetu%V5b`9OJcHlE0M3BgsrGEO|Ng}K+ibo)mBkZj zhga7w4W5_v$QiYKsIjs<_#*hI`B@?MK6xrxkyKyr#_?gGRL(fPQ5u=KoZpe150?`= zm3)R*&UNe)A(dp4YxungTn9wCYB{C;Hpu!AVt`fUyw{jNJp0V^q0zSkSFUpICTY1k zK=L?nqMT7XvvMaJz(KU@Qj>s{a~JJl%ZD9q;fJ>oQ$p3 zdcv+Hzb^SoIdKJSCJ=|eCD3w8yI4axef_m4KK-zuu+>*$03!+L8Me2v|_`r5$$ zPVP3_m$qo>)K>aeD-f!$U#PD<_*h(exTkoUT3_PAlC;1537Y7TzI(_Se|`03RzvmI z23e6_$ugC)@+R~**8lb$;FW75`#mIoiqp3jKaT@xnBqf+$|dXdrnCONqHaO3vo)<9 z_7&Hdq~+QZQiDLMoQWt`KaQo{|6CJEOs?Be`wQ0_9(VHnUimh$f49()@@4b$3x7zR zwFX)~`Bx6aIxw4nCA7)qfM|a*E4zrt+2r52d2cWr$RK<>sfltK?y^$3>_zU=z;rq1 z>;ljC)>Cp#kb_hqB@X#m2kS8e7P=jXc!^_ePyTu8WxVkXYstIV^!+6=e=Fk_%5VG1 zU@O5XYB{cj5zjx6x=D;*-WR?7zmU`~f6jDVDH4+u+!`~-*a}U3&CF<&uOeCc*eigcE8#i&-rurF4{_a{S&>XB@}pLkF|T5 zj`v(>I^I6kbUf=9)A29gnvQdC^ye7geLsJ^(n`WAuJl3vG|uS$kW=t$q{QcsHs(e~ zJdc2{zBKlM<;Fh5{NY2+a(j2jf8)kseHUrYw(l)&+iySbcm?(ImF!38XL>>O{Sw{M zVEv50A88zgxxK#9gGsip_^AWI5FoB{2jJ`+aSQK@QVsM}wEo>w;(055ug&W_r@M3R zN63(DKN*8e0R#_q+_gK~U=mF!`=PDaDS5u2sH&o-rrgO<{*RU)wO7gyeDxb_)HYgt z&VC+$wqG*&9S)8H!dpll_21*-kK-*fJKxmLw7B3K)3TK{EeGymIzIA-*`@Q%rp2Es z%uaXz!|c>=I+-OXMP2?CGVbi>Y?Sj0u(177!BAn%-|qVD>$QVl=gT|ml=JB9pvu?t z+r-9Ne5!tFuIRR3Iy)BwhA%ok3dz@3uThsLT%S@^B=z$*Lr=1mI77cVvLi_vktEq& z&QA+~*MeQOeeuYUitRTNWO2S;Qa#s}g7Bsez6C1Z_mX$X%KODaZ>OnuOI#15l}BRi zaKAg_TA2T5nT71IwhccU`aDH~;;g~%L*?$_cB-`&jeh&fjfhf1oIBh-rl5@r+1hh6Kxr&m7m z?=PcE$+&-8ex>nBMT*MT@`+!#k$Rg^S6+)Gn^vCwQvDx=kYf5xfW4*!dEg8owf0p#-qSPgaoq4N00kv_Thr#Cx3e134W z{*t!O{@o!%(swI#gD~`V!_(DG`$g7z8ecdmstu^z_@1+QHAr2VIZLOByrk9g-!?}XZAT@%WMUhRL3D;HYK z_CHkemmNZ1mIB*@I10tHf^m3_kE7p~nU?9#n3g#=m{zy`W?J1g6WjuLp5*on%_yNi zO_b+M$Bg!it`zZD@Mk#}Ay2$^mFH%STQ^mY5l8EPkta{IM*lM$P22x0WO*z&l@nqs zLj6MKHC#WhYhrnpxxBUA_kh+V;8HmkQJ(XH<#GL7T4EF0hg3aWhiq=L9z*C3w?k%L z;&|)b{7B)5oArAHyaw=J(MXnFYWt4|Gr=<8tavb&ZEmBLM`HZS{_D5N)F1Ao`jyX{ zj$ew)B1tToOACx0fYp7_#wWfL^6-2y9wFrX$^Ji3>ubS2V6(@8w^4uc#K?2uBW9Wna~s>(w9Rf+LLSJ&SkolCR9x zCZlwcuLSq;3{Go6RH1JkK=bvdCG>|sF=G8s0gr-rz>j$N@V?Js;7;CW4!wP$weRiV z4e*sQ17?E-;3RMbSVf$sGZ+TS0i%PVPus4p;^}(6!1}c_+GrXF-vf^mLR{Q;qmA+a5&%3gx*r}TS{FYOI;ny|Hrig zpBeLK_&OfGPq@jL6K8`TcqavUo|FM*fhFK#0IwB+wPj)3|-nX;T*4o(7B0pxiy z{pA$u_0$^yyq*f5r_BJ1jXAw5xEFi~HW+gT`J91F&ZM5tq+ZYBy0b?EWP3JcKKpd= zFYqp)z5JyEK)!#;0*8U6#+(C4P1ZS*?_WL_Z{#3qMcs9 z4BP^c%?;Gm4V3eSOO3hdQ)6!47aRo60_%*q1vw1Zn=SqAmS@1Xe3$eH-VxNznA?9f z=8nm{8-_Yaq5kij11Qg(l=aRJjQPiIV3aZcYz3(MyO8VM)cf6+fP2APypy9C&{pob z93abkkvM^4)hOcoclZ`?cZ!e#&z{|KATk5AgqkrvUzch;l!CA~>Ho zHatHrX_%%XIB{WTvq^J&q3!o zIo@i_^UI8RsRpop1-@Rn)0o%NLB27sF9gRM^X6bMAHdg}*YPYK@?E}>_CPy$s~nta z%-hzOci`>a3S-`*KHvMBG5?_r{fDxB*x#6sU*_4pW5JC8`k#Dm%%{j@MQ>w1r>;MT z_b;( z`!<05emIY@)C55N|46%A1Mh2ZFy^QBfP98t3;qcnV@=0>fNR#RGUjLa`FRky0Q|$4 z^<1;?1!I000^R`B|AtN=&6tgQ0NG9jWq>-{csroZH&MP#$Y#^m#%!kSo8K{J3wdvu z2Ce|m+p@`+UuomNjt27pa{p~lP|decq8K}pS*8<{9^ac^>pU2uK$;@ zH=bhbO~~$MM%=gVW$bO_BkyCsoe}RH9~yfn`Q3ezvG;L&-;v-nWA6tK%mH{_4>Ia` za5N|aFM&^)Qz`+_eu#V@CKCSeP*4D#0p$6w1>gd3C-}hFM-Br^08#8msgFl90J41) z+K+Vr%#lC#rLm90-{bJ{IC(w(IDpm@HyQgBa(H@AW1o4@*ymas`#g30{7gXIKYz8c zFHkQpP~R`W-wQ;7UWB(7uK-;C;=9JabRgi|OILwMjeU6nm|^TIjQr)j^sk&{?CYF+ zo%Z$mdte>kVuP)zAS ze=ig0KM|m}-|Axm`=o*?;8hdYcQN3eeIErcgU?N1KpSwp2@L$n1O~SU*(Q*}`Jrc+ zz%c$BHr@n=F9esEz{qNF4!932H-S+t0Qrxa3(f*JnZW3sz`iChW*j)#1je2Zo;87S z7n#6#_!)m1_y>Ug_^(VL?I2JCwwS;K?oTfRD@|bHY_I~r*QAah1yq5{0rV%m0oIs6 zMlUb~Q09yU;3@#U%thby^=ZL1QVEpJm!o8 zFM{_?VD3@iBomnTvm#k&LQWN`sN z=8LZfPk_%&U`aNp1n{}!MiV%CB$#Fb$57U#wC`gn_pu#J;5hO-{yP&mp$^;ypnKvz z0C}E>yq8hFlWqVjOyJ~XKpv;|0`PolIXDR*-_u%yzX0m;w6_55;dIJ$I^{lN6qpQ_ zg6jY@&LodB=~HJO3{C^rg7?7hCU6$@e%3*NIyeiNorUbrg2vfh0Cjr~WjJTG3E;N} z&g~0c0-u_|dC1_rV*&S^_b(GTe-9J5pctHv50S?93lq4IGGB|b_^30zJezI-^KE-pV3 z{9poq+Zj}wz}1HW%5wE*CU8xA@U;nCOL?zrXEgL>ND={)ZDQh31NN7^|M*GbP&3ap zdmM6+R~EcTFV&cx_PLui3E9nyL-BZRUg_d0o*b#=!I60trImTrhgVd|+c9dZD=W)` z-_+aslxc}ahGiO%1+eY|@b>*l;!!rtpZ_oRH7@y?k6Ow$sWrTA+g!PIeZTnf^XR$t zI0GCXb^xO{(oTJE(ybj(2;T?FzCUgyttHyHX@mF{eUUtU?M>!)cE&mnm@9NJ=>z7o z9Skx-0PG4}KJzO1E+t1Cub@MGzipZ5|IyCxg!%F6Le~d<3>$MKA2=GYnBRlIpU~iyu*iu)zu+q)6 zYQ1nim>S5bDRM9mrjSptEij^zqXC!dmYu(|BbBrSh#VNUIytQ4`yJD&Ys+1<6w}3d zsh=Mtj#)2atN%7ZPOcx_0{J_^DU!D)JAhIAj+3_2FZKI6jRbcY%#-x{IxjZ1-dpZx z!MDqyLHJkRBp1;?&LKakUnfs#!lVGBVZ+Ma0T=5bJ5RH7E?|hO^Uk}o-MYd%*qOW2 zxab`4Ab5fEq^SE{n7&jMN%~n}XL5R7j-;QxDLazHxJZ&+T`!pCeVr?MdWo@11G^}H zfA}ArA9;cKkyTz%JYB=l0%J$gD*C_QJiFAOX%>VYeOHps9t~vVGmz2Tz)qm2{$VAG zE=lJ{PImhZfBo|xDd9ftsBpRee_sa)|F7-JaVfcbcIRECWCynLwg-FLUhvmX_Wk`z zT0_+BU+DSgRaD>l+mrT(7SI_gbm$KQN3bPy7y7Ph$nI=p{?vPL)2)whD1fN>3iBZ( z^Spk^=yqVL@Bt?Sv-sr?GXqHHZ4W$q!*d?;SsPAxDQdba$VwtZn$*S}%yB+Yza&D= z#ORzJ;JI6UT9sqb=Q~`tq4LGP4_x4t3m<6UBuCQ@EMZ4%hcr0Un=97}?*Ppd5xc74 zJgJH0D|UD3w`z%83_Jot!r{Okxw4-SUE_FL(?j??6 zw#R;ckwt>^>jy!W|Jd80eqDK`SB?n%dfmmw-cr^~{py|-*YECRm)Fg!t(aTxl$*Dn zaT#@f5&flH=v2+GOI=XSi|JDr@l{n$E=lF4BU$c|x)9S^yQp+N{c1^RZE8y0{IX+G z7gbkR)};;`F)EekoT|!7Ys)ff%8$vbm|I&~yVP6OAF;aM5%pD?r{9Ti4J3j%kOcN*R;TX=F4Ju6z~|g{ z(0TCo4ZIT39Jo@>Md%?~r|bVa`i`X6&l-HMbfB+&tG*|)I8gjBk|osUrTYD~{yO(f zzVDUpz@KJB!1K`Xbq_IhFrx1#wrY=^n>nE%OuNh9GrR9S)3lj&j%mN%$20*&U688drwyt=iHbBYE1o%*fNgcEB}oKgrk>V(%%N znSc5R^G~NmUYm#`zg`*CBcgxe7Y$+tBBYa!a`f#WZ>YMB_SM|)pAI_0(a`?a1NtX| zljK|kpEwlSo}1DieSU*b@#!H?-KcLQwa_U~#{c=tC{%Tl1GX@y+2x>;` zf|N?a8YDaD9=8)ImmTPTXQ{YF{cWVAN&W3Z$nr7pgq(_~=Lh9j^lnqXx2pDS7e_iU zudNnk73OBZc0`)BL>7jQu<_3W+oWwE>817-pTy&GYNmUBkE4fu=~ zKYlys%Re!G`{3~^%s>2(`t2{8j$gI*iW1?s-_Km_s9)mZw+CHz^;rE&N1fk1csOsa z8cnPCg6$;b#g5zLc+$AYDIR|fHac!x<@wFqpyK~u#sE5S@Nwb%;z1i7&A|iRb_iN` z1nqZlCYU1U{Q5#_-}%Km(syzn{jEV9#NU2YZ(Ii*R!B**gNZw|d;o}gPX{t+aQ&Nj zuJ@uJ*S|T=T)L<{ue|E;Ma~V0nlIJA%7<6yVhb&+5C)e)j${XuV@o=8OH7Kshp+?N z5Z&;Mi(KsdNr^XSl~&GMT*-@y$|hIWE@V&tj$U42zMS8wad{rUu!E0rIoZMIU={hZ z)n1&K1e7n0k3e7En^Ig`T2%)Ryd);4s&p=|0Q2!zy|AWwaaEbNf$$4mu%8_|-UXI} zmH0`=GGA3;TAw`2v_2)-QBLG<4E5&XAf}BQ&)C79r0w9#kqy3itI05&0lI@2^55B& zSMBm0$lr^4*})jqR?LmGTEYdHK-;ItU*3P~;&kO@dDYcN@{CyU1uNQqx43>P`NqJH zOu>-UmLCT{SZzsm@W0?i+QbzcWr0vT{YlzG`TSB|MxfsS;J+B?2JO4_kG&!HJlT-! zU<`dLe3Vu%a+D21?eM#LbbUP`2KwR!l2lJz57~daV>|eLXnzX6=7d=Hke=8m^eYap zSk#2~28H`wE6v{yW;G(o4!%*h?9kA5rHs4w<%G1YK0x)s8t6^0n0F*EiV1#fA?k9j zb-4$BqrUGcncp4EN+?#t+QGN7I$>)bUOHrvcySG2uaY z*{S<`tQTf&2J0nv;u)QthNpw2W~UJsg3lAfpzG(p`Kxfdl5jpr?F{oDDJkyQrVOP` zVN!R^c7&ia;qvUs>-L9SJo8sNv>G>ujkt+T~^?wObF5~faY9q1Sh5j>59GH z1l_#Sx#gAAKl1FF#M;!SF^;Tr-1BVK=^t#&GDfT^#ir%nFMxHXWvBLFFmuG+T<-Du zjk-UC<=n>6R(){;T*9p+n}W{X^&~(MOfHDf7oHCh1HHDAyH~GWAXDLvZ3^Ps^;&Qz zC-wuOdX?{n$_K_PefBrnab38a?HnDg*RIeF`Ufe;Lh~7bem46D=}NuI_fw~p)*Z>Y z7|QAOYNgi=dZ#=3Hsvg6eFnbcL|%}d#0h`#=mlTS7#rQ)937=gtT5%T?%1YWX7mkK zt;Il011jHOIX%(FP)^B4nhP$dYzKd-TXt4KkG|SkY<@mS1~KIC^t2oA-wU0)y!?j@ zFsAKSfMB^P0op!Ajz3k@WtG;I7nN7lRV=DlQZ97m{CdvUmg8%RkLPmPs&*meaq^|d z4*uSq<=3XXj8DHdblk{}8!!0dbV0+$huUkGrt3O|SE7s0McnBH=KSM`6lP0Yd`SIp zDK1I-?TzsJwmY^d82r|=fD{p(6_$(iqv^Hf^Y~I`b(On1hWhB}?$q{0go#zJnrsSn z(fT-W5y#VkwlDGXzJ+dK`Fu=f)x7fJ(pnDHo#vVt=(~utL?b2Hl%I6V4(*^dfuYtf zapC~b8)&`DciF@AtL6Hr>1z8(Wo(y9+$q)5A!K03R&^%tfu!#~naG*PCrZR!|3WM@3IsfsqDi;IEq5o$L+q09AA)AjUC#=Lpub$pmM zq;DG2Lt#Gm7CK(PzL}>ogX5M|batD0KBpmJ)u9dz|>Qx6j= zzj9(G=nSGRuj?mxwW;)r)JonG_p9b>(_b|9OzX{Odb3ITPsESP`zO!84!+@A=&L^W z{8#^Zv0MJ}q1v(P+OmqO(n`56EKey0Nyoj?kB@f8HWjpu}cD(4?P`Da(u)l`-)6&2+_pXxs!z5Kg6 zLK+vi6W$p8NV2K7W4rN1+DfCK?fL9fMO}k_6RjM=au)HClrFPYsiA)KFKCMIFou6; z1MNprZ|k6Y_~EtXhZ7U>dTi9~KTKDe5lQLt1WfAl?%1aO2b$R9wu~Xn!62mPRztS} z!(3J|&%JX#`1Uf|@iG%w!5aG&uYzw);PXzA&$+t16ZacK`Fl8SwER4klZsm)$)A=*3W51non>W<}XRkd+p*L*!s;K+msvN?Md(kCqyZWT>dLc0Hb6k;g#ls z*6jp5DH`fuUeBVAXhP z4LBKG3#8V_JM~jQ%wh;yGlhuBkW?@p%mQfnAxpto0F5(5{(lI(0EnmzSp|MEb|{v1 zXm0?mp_FB4J~$L$A%+r_8_KG$p~Oap-UhgTDEAM24={M}rx@CyxPK&V5BE`md)=`e zGRl~CZGafsIY8TC)AdUqm!IZ;Kc&rd$94!l1dpkjcF-}U!Td#EZo)1su3J>SQ2X_+ z|G3DQ4}RiKK^vpq?rcurAJwB@BVTN<3dI}UO|j7L=WbQ{($bf?V>^UFK)dUJ7#L&`rvH6K zU3Pg511_1~$fzotT2TfodRq+g@9*d-eQ607xMMry5@^2;zUD+Z2+4mH^qnb}=!uw? z+^TGbe+x@1W1#Q(>q`G$(7!fFAN|$tzs9uRl@s%W^hH1ZQc;&vHLrGQ4aIjC$0GNA z-K|RZ5$J}-|8(f~Nr3T#zW-FqEp)LbImZy8#T9f7k%M@Q*C23@LFk{$9kG?8z6+MB5WA-(lQMV&WgP%Pn% z{Kb`(&X#7>%`UI4mb+u9ZxJg=`5-n4Otzei%D$%I1oE2W1tY-H5GMJD-K^!M1-*1b0T6WFDhG-(tQ%TLHj%egWmot zu%3TqY!RYMoN4N!g_R=v(nYR~$3Qn#sCsmtGIl7YNs=9kBe@#~yUDbT{ z<$4ol_=o15FL~zk3Dbi21GQ*#h}pS1%j|qxg=ulgOQyw2;`dj3mXIvso?|n%t-E!f$mVb&y({r&=vQeWQUH2W~AJH5K1YEebi;c|5hbce}(9^GdlH^m*>p}Ekk1IKehjG4cF^D8PVr5nXSZ@9}} z<@+4;Bve4MLm2?>hOOA`MvjgGp>nRRsGDA1yRd>lMYYa<$5hS{Ld7fR^N{mYz8#9- zc6$`O#=o^7M3;Wcn^0?)W-i4{v5Awy z$C{EwwG6k)%iIt>204p+M^ZTx;~09fJGMhlH>N{dki>~aK

x^anrPV6@lW6$5?g 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�^8 zu6^6gSNO!+6F$xex*i4g_xrDQ^Cism^3T_3Av2gS=#ZXX=)m50#ol*4L3%!_+?NK~ z89pN;IH@wwgAVB_paYxJm2up)$;X3qp6A|;vltKXiMKa=eL#Ou5br0YdRzv-7e4Vi z&XHgO7^-=?s3}YR@hl!3i4TleGj5$8klPyVFSKnMKNaVq@JftSJ4vTG}0cBM#b<5@0FZ{GK6O7;U@@t+3oyMX^o z*EiHJa}@Uo9{Z|K;7ND5Fl^8s=#U<_UMvQyz&z>s*ykVU@e^OVqeJR}fgW^7&j56M zUKMHU#NX@GKWjp_$<=9)IkA{G@QQyR+}{Q}fUU&8tdyr3dawq+A71g}ueI$8eg<~d z`a%4*I>X~pgdSChC=Z!kXK zmyTiZWAoaWFKs>4E_3UWnQB)BKH;-QIzFFZ(Jttap5f@g{?(;e->adoQEzx4o9`H-Y z82Fz7FM@w~9i{k2aaU^B9`H*CF|f8b0X}`(Yg$K_w~r4WYS9kxihmru^T9GOOY6l< z*3r_tMLtKT^4he89&||0cyxRM@ax;wXrBIu^U=-S524>5{$1LK!7m-GSKYP&JAy4V z4&NxIoR++nf`Wo>8oT#3T>#ge{xLhI>G9 zJ+9&ADpthhd|25t_@(1q_}76i!D{cfR9EI_g>JrEQ2jDy(Ld;r9@dTSTLWVG-M3J? zxO-a_@0$g+%5eG(#wq;L@hkXu0egU*e7ltLluD7qvZ9DK_8uM5L;SQmet&oT{_gwu z@#5lRHPNPMbt35!b4uF|i~fOMIxc|!L{JNkR(|6LCA+UR?mg5l?`>$D&=(Aw5@BMS4WgvL39Jp4piucR$!?=yt5(uJO`7FMa_IepwxWKz6C_f9U^z z_49x9O80Nj?e+{`@V7tzUsRr|QfY}cd0ds^74V7oYWQ{odjWs{pE@FLr?8@dPO@~Pk5?75 z$qm{Ae(Crf{KLRlFht|vQ}@oK&yX_Ug-^WK!$%CD2YyA5$r=Z173WvgIzzt!Uh&@m zFSf3Sn~xW2-I}q1{a0|oE3|b6?ST&Ixe*;Vf!o3LeqI#wq>3961AchL@3{X2{tE8V zcqISBUpnGp+(f#-fi~Bst?H3R;Fpe@;m6+hz~1-xyT1<=>L})iEAZ|Mqg9k^v#@jM zkuLUPJ>CW%f!DmCNEB-&g zyEE7gd|&*_UGNnDI^iyIyL3~F_dz1?il6nO=f2<|@N+*7O8&Jng~DW4n|6R-I{pa% zF(3+#kd6i6lXS6muNIs12mI23ztl4Unn0cG*}9wyjq%vF2`_x&C0^UJ8|VXCd_R<( z+qyH`;wwTXI^dU%yWk%JMuXF|e!gEC54k)6Th*foYWh`fb1mixdZg=a^h^b3gNecT z&=Td+9BLYMG*`R?WiVgimyUbj$H(r;e!S-eTE}N@Y@Finy8?eU^9CK#b1you!9CqN z@;h($JKnD_Xb*VBe;>Tq{hrwUo_DJ~X8HFw;)fJplyQ}w2^VtMY*vpvf)44qA01DD ze}TXIagu6m_VtXC(Z+azhZT6SKHu!lZVlQ6e(7*+@&D)?+2wzChWK!(NaRI+{{2hMw9=+VUd8hhgSs2IWHfwN6-+&)p@jn5tYl~;VqkcS8 zyV{L`)8tbu4EW&{|3Bb;1-u1bP(LgQe!m{PZ;e-%Ezkx!;Fpdk;hzcc;d_1H<4?FL zrF_1inoly5Y0NhT;W&$ViVo>v&(&)+SPz!@_=YkHsJ>2~5@stKPwE^p$JK@)tYD!B z9nwS2N1-$L7Vz%_uMGRfrS+v$LfD{x;1xgPv+zBDO)qTk=c`_gV7*AtH$*r%PRDC; z=EI^L;FpeP;r}_nmKT2Nb@=x`3&pbEB?sT2J>Zv)=iomQoB$5d`1tt$EnaF8_dtjA zJdch#kOncoj+DPAWwwsMEB=4N+Z7Z*v-)MJmM|ak2}=ZMbeN0}_@x6ssW1Qx2dDV; zjO(j$B0tJnXXd)Ug9&ReKH!&*7vP@&P6uPvA1mA4XRw(k@QVLMcrOH(gL8a7#YXP4 z=Hf}_FSgE`9HaS*9_e}sJ)C(Ih?f?w@%44dkIgNx2PnAp>=D0yRK9l>hOEo8EDXjgI;7{{=y(;p z174J#k6e}(wXJ#H${F9%iEJrIW}pWh(&MzSA1JUND14;;Sxek9OCC~q=wdT};1&OC z@U8^wz%tKYmZQG8*D+eXDsucMRaFsq#s7L$q&N1yH}<|aj|=-h9Q%Li{#)^HcdokL z?H7+YO#l1lKc7X1^t^!%?0;|Ue{XO97lh|fdQU;S#qg~lgK+`Bbi4`wo?t)lQ$KHA z*%_V(Y~x~*-F_Wj@v~3veK^2}?|raezk<5!!3HSYn;P{8{L=9@{Be*3)oO?3#GTx` zKs>-gzPfvM+hQLEulO0Uy<0&qkPX(0T#n4NC_Cg_VROBV=bzXyUfez_;7aje< zFmST^MRlUEX~BNoxe~5TjQRzB>39!*?0#?Te(y2Tv7r3PC?_USm-feC7X1Uibi5D$ z`QTD;j&#fm-YJOI)lo={SS`zXa5vnbU*MOH58%HJ+zfsr9ShS8Pt;T^#r{ZVP%2@g|YE?(!hUddR9%=S# zXxUuRtToYt4(Va9(R&$K3zlentoQT9XuW_>ytCl@Z&jqv7X1CW*6}q#y&K{#T;U>^{?|5p+J$+Zz5P1)yBphJ4* zqT^t26!7o=tqI=m(5Z!4zrZVg=0%@skO2Puza@Uf@Q1|aek}abF(3XM=ms(xAH>aT z8nJ1`dRe6eY=dzMzjWXS^f?&}0zv&>_Bz>wyPz$^Ym@SX!M0>1w5EcU&=kVaU@jETctMSrJPp0t4;bV$!)bX*1S>HA#n{Ul%a z1+#8h2OeJWFM;uG2v)Uy~`p=5ulB_(a^%-p56TfbV$!~bg(DygKh8grrKjw zG@s?AJ1%Qv(rm}w3^iyEc*Va0Ubj{_9dpIMLi-Bq`v~xgpO`_PbybnR`15^y{@=2| zH7!%H$-jR?{(sp$fiKz31aSm(NY5&?Yz?*tTWVkP-$eL4gGE2UC*IZY{Rm*w`}+5P z7MJP})N#-pcvaPbgY5@7XVw{*T4U>LgyCl@FW_G5oKeIFyMz*{Ol+D z9t*JLef|4Ci~V`KJ3}fP5?1X1zjS;8e+o2%daV;PH7^MMI%l-N;e}qxsJPQ*&@SkZ zo=?%y8=MBZDL(x{Sl5QT+(>fHdLb9(#SG&2)MoOx0n|(u{e>Rsa&vbiz=!Ya-~XA> z?mllrhU{;~O`bFA;Hb%4O z3S}sL!e$=9EB?>ny#?F}Zd5xgt|jNqbwQT@q-IA!=Lc5v2!84K0{#a8K7HT&{eHMu zFDtmPQVgqDj8pif<3I2}12|Xd`=t6~rOVq)MN7L-lXVSV@#C}hB^KD1xI$l_|3BNs z5vXDtw1PiYQl=L9dDIv6wkI`Q`> zUJv`yu$)QQNaaaaw9w{XN1P7nVPDYiJK%d@E9v>Da-ZsNd{vW*6?9-UTW6pL9nwR) z^xF;W1%4zwGw82Wg7BzY_c4zCndT&`42q~rwh$2Z}}|L=$Y-_QI1OQ>y{bCpf~J9s#~LDeXeet};)wuFB)m;}84zoJ8TiTmYtfJM8Z#y2oU~B6J4*0I&G*CHh?nehV)3`;p3fXfF6bK7p>n8|Z*v zI=%(}t>7+jv)W;8**T!BjmbEGSNz|G_aX2&_>|6W!`~NfD?SBe}#BjChv>&Q8bk2^n z_hbJL^Z!?DUsculGa+&)yRj2tKJf?O0B{`G7xV#mG$)=7lHfk@1b7V)eLoRT`9yXq zC%NyK*(dS;b5a{%r9FvN?j%;4ldc1I0d~D7y$p!%oJ52niuH`{0DcAzN2Q0(c)R2JAj-Xz3bu z4mDWonkeW3@FZ(S@b8a<7Jye7<=<8F6ySH(%m!8@~;H0{FI(K5L}E8~cKh0BhFBw~c=Q zeA~#kjqd@zZCqa!Ny3|iH_5ljYQVQizD=YXpKnv-ZwJ_qpeG@8>_fLj3V zoPHL(4Hg1^Z-(ESfj7gq8NSW%ZKeQ*0oplpDYzN%ZRQz3|7YOMtf`7LZ3XE6ro91u z*3Vu>%g7hG4K-j2(09_(=7m+bH4z`fJT7k+#rDF+{NGq za4&cQyar~2)m4!${N64<0F2Qt{N64Npa&QNrh#7r+N#T+!PDS%Fb90XOKIN%KLq=O zV?h$|Z42MFz}s>OxCt=NTAl*5bIW|Nj@MWCwsjZ4x2?wkzHRLZ__h_^R(M`sk6PDK!5z(A;qAH);P-ar+pgWgKrjhh2!03nyA8x7}Jme=q^?Z8yH{b~oVLZZ848 z?MDB0=iBb|Z}&X`yxr>oyxr-e?(lZ!+wQ*w@OJ0h?(lYJTy>{^d+>XE&__M^y*-Wu z@b=)_9*m71nTU?!lw`gR8V=Dt4zhk_Vr0km~r`l;`Q zfPU&rANPG6(AIrv>%OblaeM>p1n8%J@b-hZAH4nG?FVnai@^2Z9`FQs1<=R+;BDRt z(8tYu+k7-=0NnxKHctg;ZoUcp2{0d;UjuUizc0y#~=2jevd{F$B=oBQ6HlgL}Xe;8ida&|V|? zcI5W~Z9VcRKtGLycO>7Agm)z0j^x{s_kn)^z8yImtgecTqK`-Y0I=SUIug`@R?r_z z1Q!7MY1G}|?|^Sd%>eL@hIcgIj%Iv}hIe#5;M>uBJ9+~66}T4APort;(X{nw#`Wl> z;ESrrnC-ys;9yVq z;7o8CxCz`3_|0Q!>#_XivHa$7ox%6O&%xoK7PJ9$j~frp2iJkS0Ka+MD_|zzH;?Dr z@wD~$J;7lh4)WkMz_;W1&ExsacqhKkAV;M-|ifStkK;7Gu4p2lyUMq5uq_cU}* zqo1bT0UiY}fe*ows>tc|)9L6w{igukr`LcMKp&qz7Mu&N27d&PfEU0AU@7>rDl(mK zr}ORfLqQyL1@KO%kEg>so%Wi3C!n9E^X>Haz#_1|DssklU^f8o8O(_@m=kC80VBZ~ zfc83r_Bw;#e8w~2Er6XlgWr56?RDmlzyaVykO2iS983qa*O@l~zCDv~&*a-P7l3tD zk+b;rEZX|4{lW1d33`E{U>djt(AH=1?OD%)cfdmMSyklhZNRPo-m~F7y9x9L@SY9t z+3=ptw`boEo&>LfnSgP9&Q^f=bk08DXyOFz&i~8(|F3=juYLcoegCh0|F3<2{QD_@ zHTi4b|7+j>Yu_LLp84>#@Bg*$|F!RrU*8=J0aL-(zW>+0|Bm?aKL|Gz`t0C6dw|KEvdgYpp$Buf5mumjlA=c`s%zE9+?mH7&e7I|dwOUEza zCxX&{53sY(R}Ipoc(+0oid`PWX0Kn+310CZ1TWE>{zRSn`}%(i!~62ZI)KH}Fa|o{ zmkuIV{f`4g&HDTLf2&fwZ^uh>>3AW0BFcatUhy9SZyFGl?VnKI((Dd(yUQ=`(<>(Z zf)43%{XrzH|0$rm#>JYT{#Y_v9e2fMZTR68|6%YB1!KS<@vo|O_1B6u=8gE_6+e;g z{_I5hpA9B?e(q^S&GSs*6+c$5Kb~^`tH1?5uf9BGtq>G5^%v<3#wGmHK@__G4d6EL zTeZUq-5V=qZrSAj!Ylrx;Jpt#1n%;AjokmvQ!3TvBR6s9qd6B|bFf&a;Fpf0;U@~* z|DWJ7&CfZ$P9-;{HdLz8YJQ+YdX7QIYv5h*iuz@3SzR%)o2(D;ivL)6Iko7&7<{bu z_$a7j!N}z4+Ty*!umX&`Y+x`>(IGu17l~=k9bigkioI(uvCio8M zBpvf=DBj7%B%bN!LX1y`=H{gvzXm$smyQ$Q|326i?5O?7r=_LSfEPaTa*{G&FTg%$ zz#e|xD%FAJ25e25;efr z|5??N;Z9ij^&bm=sLkCUQXTzaN;}w8$RF`*@>Bfo$y`2l>}$V zD{tHyj0W+0Mzq@9IHOc7g(z#{^_e8~2q;g`9CaS3)p~&r>1jj^o&Rt0_$|c= z&?S8-^nDlX47QQJ8I|`rV^o67wCS$6o6ubPF=;P!NDn^hz&*ge;3t|tOSSJT)+KWL zJnxm5=zw23GVtR&4`hEn@R#b3^|czg>YvRYuYgayP4Hps1~Q)p2K9f!x;t9XQf~BQ zg9g~-anSzWNoicbFCAUrZwB2##*Yj2LvYVYwMKl+E>-x8a|_L+KhPmPS#+EX27x|) z-_ew><~F=9RAuI;!Ylq9yko#*Fv5?^vUiR2Rv~vYwVIi<1N_qA`h=Llzze|{YKN7o zNKQdLO-~hCF&G!{il4pTKpw*{zpqZ zEbv$Ey_vKJ{L;}2{)51gU_Z@Q>Sq!Ef~h&@SkZ zo_^>!3tRyF{r{D!!=PF?xxAhaval!cil4pLpew+2;8MT;N@NPfW?-v{)Q?(jd_=l^$z50v~j^hg(e(qQcU zVC?>p2V?gK zpC0Nc?LC?jHI06pM3Z?7`v<>txVE?)TnjGs_OCjVaWChvVi^2>_{7T|Z1C^F9pFYk zFG9Ot90nHr@QR<9&)^5Z-@tu-AE-Q$u;wz+FV-xgFXaJkgZ4m&^o&Kvv*0E0WUyY< zxmDBeLj4mQJ{o4yFYrspIQZWJ9|B+hXL)ff7CXkE9pDxJcz73p<-phfnNf74u^=uC z#i1x64~p(kj>*^5H_(F)>6w5Iw-5L)SnKyir8;Q_yzq&a^=ZhKU|aAFKR;semV#dO zEE+EZet5-?e>CI=0H1!y_r$-Pk(gs;D5Ypv%ujg5KN;S=!GT~;|NFh)oN(bCv-egy z!7KhL@E!?H0EdZxZ7PvYlvg=6nTPO-e=58U0NXtz=IiOw{>Aq*F;ZkO#gn|Ts*-ud zscE&(LyvS#Lk}^ZA^49&S_A*N-8(_K-~lCnq~HV@j8k+-&*|u3&o>0SGGu`IX=N-^ zlh?Uc@nFY*A71fKhu5{qIbeeN>AfI-NY6V2frOw|db{Ili*`Yebe(~oOTbm&Lbc1X zjwOZ-+67+mp9$}c;1A%pvS&*&IwAL!+|0)-{L;Z5YsmfJVQ{x}EH2jf^?9*1yfbf? z-vhsNoDKg!!1Lg7zn%r<%FCP)gZ_Y5{BC@{3f=)P`|(iz{)nHl2K?}f|6F)yfra2B z-w&?tDK$T1i6E6jp-8Ls3x4T15B}9)Jy`B_bUe2w9d;7s7u8I3678=ZWHSL15SweQdVy$KVzJMex>w6sQsZ z^3X4mf1-zf4f+9I@m~yYS5N>s+4pvJrCmdm-VS9nrxMKude9*~*s!6*42I&r5B2Z= zF3c5b3!I7<{;%BgfL}U(4L^I+q1d;fV|}~0cJS6Lu=vf?YmbL{%g*u}v|9WsMxJKgiY2FbV!eDkNdzw;7;k8xq)~x$xrcgjGZ&VK$~?99ny0JI-Ugo1U~=Y zzl&G82ho00Xrl)m(sLy`-UJ_jSG-@bf%a)1Zw~?w2ICn$(#1Y?=v=S_%<}7A`*^#> zd+VLx75{JG{RI36tkQg1m`UO9Iiur}99>Agcpzxd4)9CI)l^r*-VfUbboTMM; zb?_Yyjspk#b=1{g*WS1^N41KYtXuF)$8X_}gCy|z|7*%}o9*TwyyE{Iyx9F=*!^Ky ztqX6L@>yz?P@`JcrC?kTgL5mW!MH$=bYWYDVgH9=|A%?|zu3F=g=nk0A5$Klwa@{- zbldIYk0hQaVz|@z(VkW)|2;3OUH)e_yv~&u9enc+@eRiZbQ#XunsJjomn5tkZ`6Uh{WV<-7Mz zqd`BwEB-&i`!nzhu)Fxzl)r=KTgZSPUh&@n@1furaFF;{2lF<_g){p7@QVLVcxyld zILY(NZ;Qoi5{B>EcY;^^tewNNpba!>+lu?6Yt&d^#cPzLF?1Pb`gazJ;7%D z!7m;6z&{2|2E)DIs`k$j4vwdT2g@rKZ5uu4ke++daSk93GyDv{Zr5cpb?*7Drl$4@ zD+code(At>9*!?EoPE#m%e@ZHnChF;E_7L);f=&ZipQeO#tHn=aXc zgj-O9@d2;+{{rv(0NXy?=l?Hpar|0b%}~p-o3cT%H<+pnP|Sbo`N-;-nSX_1N_qQclfUa#Dhj$ zrunfV#~Yo>L$}N~f>-=cz>AMIf_>tMoBe(`jH_@C7~H@#`2FyTAGPs6(aEC+MNzl^+L+~Z8Pt=Js~;{smsKSNc~ z2;A#|fB)|z$P>-MGwTFF-8oyKRP)URG2~BuUUtvlo&T@#_jz zzX2W6gU>J$e}5$Y{>XIMdJ@LZi+2Ew);0L0;|2J!_am|QBMWMmk6Gu7d5y*UqRD6* z7l{K^2J;&o((@uZ#sJ~~BmMpVMHP0Z;G|&%)k6k4;Fpe<;AbB&@>a$~$Igu;HaU`b$jF;DF6I{B zgQi2ch*@@{DVQ!6de9*~|3(MC!$|fgBmd(4xQcO#35wzH`p4%D#s&P+fuBFpt!1u# zp3yqCJgghy{D-t+g$DfaivKlu-vcwjo9dTYE+;F7n^3B$**=BAKo2^k=XG=}0xQ9M zzaJ^HH-4B}j0W3v8J_9w{XTUEV@54U=j0c1Lx>ddh-C%hPi**AX((?g2&H%px zQ`Ii>OZgS;GZ_uWC;Za!A^ewvYr!Rcp7?X8Hmd1Rb*ZL4tU774-+*5_K7#)ia3{D? zIuM?DCL$Beq)kCWgWkl+h3mtd<-a4uIWKx&`| z9nym*Hwt?{3VT25De0NxgfM~gxq256Dr&;F%DbW={4vmj4(Y+}k8*3P>#sNc`LxE1 zRUR^Y;++NG0zxrad=A$7Jcjampuw5B zuIj45xvS*Tb?m6h*9?k#Z?`_n6OXU9sg3Gh|zry$_#U0=i z?_BtP0)7s5@%yt}KHCy61#4`^E4<>L2k$Qde*ftG^tbcNwDgLZ&d{7c}y6kH81QadQ$0`E;%6Du@TEtyUmxx3|F4lAj9Q8k>waM};D=ZI`0b;eZF2L%*Z-eYypJg%!6|hyrNSvP z(1Q-?S%r?(U_Dr=arv1`!AeElQzZtx@QD}BG2aB=0aYFM6`Gvon~QL%PzM?4LXUK< zLC+5WHhj#Ee&0}j-oe66wdZi+80dgsI@ZF!55Sg>+0)zc)+qG^yQX4=7{LSuzK9mP zs<{^Z1iy5A0{_wAByhN2Ke1wE=d;mff}{i(+*)GL9`H-Yr|>606R6cXwwjG*>7JF< zxPVvu>)`DM`hXU-!yon=5ASXI1s&2uOmxik;8t+0+GVj{&YP&k+LX-KQAgMnmsZOd^bh>ffxk26 zZtxdyr{DKVhr5etF)rZ~?|JvfO#GoBI!!I43sv={zKm+4)Y((u)mJbjt4;}OWXAlsW7w;Oc$t$na zrRov0E#NFP#qz19O&&Kh!u){F=#oCpFUEc!>HmOvMVu2JHc___u@?yFV7YKQ`~jNr(0b!q;wN=(YkT;{+YjvlTi9 zfsx=e&F=-S416pM2bOtJCOY7kj;-OJ2&RMavNP+#R0xiJ`Da29`N?8{kft^yTdE~ZQ=bFcojV3*CVd!w78eSYLb~ehw$NfO>s3a(Sr`@ z*$y4=ftlcK-ygm%TM+jyWT~BFFdpC)|Mu`M0{HJ^gY*CPr)MU=A71f)7hd+@Gn5e2QxPI0ABI$05@}Eocr6q|GOltL(;LZtwBG)D;+z+&)#9&&%n;Xem`DX zhJz~@LFH-#9q>!X_u$_j918aJ^V6qGxf+oz!Bsi~et5;t9%|h2AO?d~zSm^Y<>y`UigLaBJ6t;4yHY=F0~a`F%mXFNSGjzRBH&iK(o*nJ)B5 z*N@TjEO-e#<;QK{ZiI(sHueQx@&5$gcfiNsb&cDO@7fW4%~wP;4Au{HNY8HQSOAs- zpZ~v-g)6}t>!Mp``F@?@760z=uB(cS$KH=ytNvIXzRRUUfAz{H|Ni#p{~PyD(IGuQ zMGJe=@z}rdTl)QA`#MR5Qr#M}yz8~n(;%*d{n#01rphJ50MhA9( zJa&KlAoWZ5o_Bpb*@VH>(q$LVf?qoJf&X-HE|~1cNBKEgxC1b=C-6(hzVKfPt_J@6 ze-Ux%RHAsbkN&CQG)+h02J;1e>G%cwH-kTd>(w4hQ;oq6*~M%EPu{FO;Fk`!W^gtz z{!wtR#_PxJ+9L=Tm;P6aJfY6$kRE)O@y~!4!9RSvxOcg7++`=nEi7g2o5f<@z%LyK z!2cHb5WFTGi-X{A7}g5z;y5V=;{<-`I1qm9{dnyCcwhg2X61RSzYnWBp@rs5W8CIm zOlNdR&o9y8?Eja*+y7;?&d+srzqki7Xb*VBe^6Cq!q$NJ!-Or=FAFR0N5{L?B=b3* z+Oz2w_@(1u__6a7u)h;_^6R{h`{c4UT>q$RrqCxYule~3I;01?KY_730l$C3KE7Ra zztSIqmLDD1vkO~>4}&)ann6PCuwWzY zfD(go3cqw54u1jQ=TGRS@i8aY#-VGfP~I2C8RJ$F6FumVo+HpP9E<}#|8J?gFkSwZ ztveC+e+=3Me(5+8e&PTV&I41_KTAk$a=Sz7D0>HnM(JXv1Agf^3jWK%wcz4lpO)vr zqg1#}tIUiw(}ND_IT{_efIETD|6dfur`%(Zywk;wkxi1%a5v~5_@(0*_#Xg&1NWhIln zd;lHN6GaDmg^8>;6ZhA8H@jnAMK04N$wHjVC;bcW2IB`E(o>BN*G6^V1dWp~{GCXn zc7RX3>`Nv#fmV?6@qu`bM66Q$%w}HzulP9^nb-&P2R$`^=jWoll3s9GzlAROc)qNv zib4CsFCB6CM}YBQsNbjQUFha`G{u?aX0HEPn)mREzZTvzz^{P6|5tj4MuGTXfz^U) z&<^lRhZ}#K15D%`VB#fy9V=T;gGxUJ{P2pu9^T&r;{OwU{C|F~F_BEV<2pTLS~7Je zemDHmk%0ft;1O`2+F_-ujLQwkvK&r>c7Rv>4e&ky>3;b7t--1ik9t)bHZF)Yjj;xVZvX7NW6LU4o40OOR9d4Z7 z2JQwoOUJz8y)ak9gUf<0WRhs&qJ_abB%R@xj;`=O2p$7}*1ll5t6$NaDReCbuMFA& zUh%iV`z&|~`1Ai|J{}QR!6p}CHQR@GXs8j#b1CIyFVGbKY1U&Z`C-ZXj~I@<2D#Jv(SSM>FJFQVmy=a z_a+~sd9$?goQB$mK{ljGyTC6U_}Y`%8%<_io!scx(Te?Q5R{K4qRC91LI1!n9oYQI zu1!t@J^VUSen7-pUK{6yb<&udGZy^3%TCBTc!3&>wPloSwa4zuY z{|hP(LUf;no}sXv$#{TYI!=Kfe}D2d;3B^-h1K0(CC1J%MDhA6HB33Ma=EJ}de9*~ zr=sH)a3{Dydgf*b_`6brJ|u;@W-8nHTIqKCQ*=m=8=u7gC;tuj`2YN1Uy6{*=gv*y z5%5b#fB2sPFM=nvo~{V;m|N?Ka$CJ~-x*%-#f^VoD zR&~i|n#+QvHvIsv_=mvzL$Evep62PyT-+Vah3}jCntC}dkB0Yra49&~k4HBa0^@0y z4-K#Q$H03nxC#75{L6U3U4CKdRM=oV!Yh9EaZ}hkO!*V|gWunFypQUVJY9m8fe!ek zV;uaCf+xYlY6t3kau+cdlmxaK2k?rYbF3*Zfj7YOTAydNt8W#ptINh+45yS@Y0w_% zke&(X_yEiX@A>sv^D@ogv{(<|6R(?#>=mZ00Sh%A7FClDmv%+@gFr>;Mv1}ihhI7- zRYj&oz*gv3ul{iFc$DgzSKKGj;Be~%f82jB{=NCn!_g&ulhL*Vz@|^#Hkdc1x+VU8 zS}}NF&`$76#}xR98BE<5?B?f9S6A?}kZU5DGiVqCet5+{72ZR@(cqWjUz2M~@vvEe z=PZI_9EJ0By_}3!r)-ia+Ph4s03*a^IyyopP`9s`4$`_v)F_<^-irjfLHt%!%M7SS}izM>*W%*p|N}o zXA%@xPqr2EIT8cR+8=)DzACnHVk0frv>-_-O^MruFv=Xuy-EdRaM#BKPQA@9Yr0x;;5rz z1A84cBmp8Ji76sFV+`Q}83Vy2Ffz_4MZj?^^xk{#CE(b5uVXJkK|0bw#qs;Cwa>Zt z_vAd!n|sgAz588z?XuQhyPSIPD*s@3@p0~_zr5eu{}(y$)*N6iBUEek z0DhHY2>hapk-+T#+id)8v6vWcoeA(KrYzJ0_*IUf@Dnq*e>Cjy;xo7_YT z{O~IOFnIAD?q3P!SK-Hm4^pxq2mC6>aQL4G*zWtEGJZ^y|Buy3iaKz>f;`Bf@{B-^ z_W`#2{&$QWuP`5DtDVBD{8BH88Qi}StX4a*r%i4uA&XR+i-ml{r@Z*I_v1U<{{z@& z#>0_yu(~!mJ(IASiJjD%9MS6oqR0Q`;dAt{E=60|DT!LPDzvJFfo6M zd10@rE~u}uoDp95ly?k#CxFwzv8tbS;q^Gou{TfWL>p!dv(%W?m^WG<5jo&jImW_& zE@%qQ*7~{KTVWWPuC(D#z^nY@;JpSUfXlVL^1NK#Fij&h8>oUig{}4H$f5F#M~*fi z8?-d%MpqI8KQDuD0<-I~&5ZpZSbkgW7psBvu-D&=eew6dgr8$43(RvYt&4$Q<(LdV zzE>~$_g?=}IW|Y)8HBma!xy}T(-!mrzsfNMekqF?V64iqDazjSG#4zLt$GQ+$}tuG zMW77KGv(4Eg{~_r1!p`VQyxs}85=wG1Adib8vMixdc6XkH2Mgie_$r_%((-$^Z~!h zF&+N*z$f4>BS&_64%51oPtmi|Uf@?bq+YB6n?SkBu~EnGv=JUuW+G`IG z`?}r45u(b)TT131^KPmAB8SQ|%W-=*1V@5;s+VsnJijJU;-Y>>YN7qYuX42xkzsfNO{`0`a;B4bBhr=3C>o2Xw{g6ZDnTs6P zfkben%Cn}*dAHWdCfs4e?jVQCGY>h^!7U)g_yfWEqGwcj6O#vcK2`0<^^r&AnvXoW zfN_8CKdIlgOV+nvaar?}w1iB1dVyE@7r@IJhThDV_BQ+fH<E zC9(6(I0hEvK@OFNF?er$gx=E6O)%rl@YV~N+OTE+;8p%5@CsIe1=_!E2$u&t3wWr! zcXX*d3de#T;8r=7!jC`D8-Jkp)9R=0^PiJxg%>{MT?XGf;3M#s;q@mRt?S+Hz&j|ZF& zJM9!XRG!C?<7#jtxZL=uUdWQ7q36g=$uMU>NSRvD3;Zg_zu`{-8NfXMXKN&0#mdx{ zIrz;M_~BLlC*ZvmVAK2DqW#9+@N+$EjyH!}|~z1p2EU*6DshGv7-;MkFvC5wlPa z;8!`Gfqyh0-q6Ra|1;~}!gH*a^Z>8&V>A2Ui}%5v_wm;MwMocq%^AkN84JvETF?Xh zD#vs1OPiF}GA)lSvWlriG9eyDXzZa3M>nkW3-GEO%q8@B1H2DjQ8_k;wDkc$dv(p_!Rj2-Hxe)_V$oj_NRul?CKOmOMRFqIExwV((1RgO2|zX#k8 zN>z>x9)D^|T5Iu!11_iqIp9}0-h%%@@EGW4$|JllD^)k;+v(TgRsOf(9SJ6YVamVF z-;N(qfQ9_StNe^r`_2K_`@Yk(-}rz=n3C-+^YWK?6U=7|VR{;&V;&Al{8&$`vmh7p zs9f(N5B9$=cDS#x{~My_SrVGdp2kG!Ff7Oczsf-@zpu0z?0;Wl|0Cy0`304co@H$v z8vH7U@P7%u0iT#SZ6ZrL^dJ~nW0H%voRyvyUYe*Ky9K=N*)mGDn(}Vvd)HY$LKE2mC6>$M9bUt_96hjx81a z#qdMw?X+L`RgO>KPXsrC1RYoJ@w`R$BUor3@G0-7@a2F%fedZ0Yr}r}C1!mZD<%oK z=&o$PzSe&IL=KhbGvo+?LeSpWndozJt@NYtDnDbF2YP^ifMTr=8~qb;!+P<=J#Z-eKWcmWxQh7x|7M*5@~B++Y5k4?CxN3>FWZw7Qxj4$b6X~->x1j; z=mlQor(X0U9?Tc0e|TliIujqtYxcYthDKV%1mtU1lj^;hs)XgBaG|0Z}l z0pbAtI+%8w#EP+$MA^{nKT5~~KfKDn8D7T!{q6^5{J%bj4wZ)}wq&BE;&MhC{RjLi z#}@b>1dRXtneqSjgq+NTik8KK9^h5}t?=Rx^ur(MXZHVXY0gYsYnEQR^MD=ezt+YRwF@jjE zs7}*Pc_EL=g}>Lo8MqQ$V9LuISL-rlZ!>k93_^xh&J%@S<=6**0%!&PX!;M?-||0; zcfhZ5d*?7f(BpBScQ%~VnIrhW<0QeW^ZTu`V5C}d&+d{d( ztNcI0I}D5k=KSAv;q|rN!DqGboYSiJ`M|Go{1^UdU@n-fdf1)FuBMb0>hVcu$z?$g z@GAdL@Gb|8>H9C%`mjY-_joFhY23^dPO>qV1v%gsIpQ7oUjlD}=Twf3;qovC0efLe zJNgiQl>>XyAA8>)d*ACG!T!&d4^JaVW!jOF{&b_a-DdriMl@toJdG^vI98V|q95swVm_W{`V0gX(3 z_2PtyndzK;6codT9Pq0g_2EAiFqR*1qS1$*gW)|EfyG&zO_pZ1`Ph&HewCvE{1*aZ z`UB20{U`y`B$kRrrYUXk!>jxa;r$~>0@o=2*1&#q*1)7OaIXD+BOYGmZv<}|Af`Xy zCM}1JEqFMVWS_7>5~u8Diqh286)vMh_K^B+*S87W4qG@*fKC z-QXT@m-?e0k^e~i+7DcNi_X0{eXlFCAQ$qeT!$e~Z}1?vPxZ2+az|=`A715`zG4s< z2_7}&;`JASbA>GM!>jy9z&i=d1ZMyL4v8ft(MEmm(~2E|SNV^GcL`Vp=Bpi9>*e2U zOC+q+k|k=^`%UCfd47W&&x6;%)26+OKOTv(*^N)f!>@821wVFv0Cs-BJ6itlM%EPv z_QB(tGuTBavo5RRREvdrgIp@#(a5zP5RVzKR_pCfEim6HQisd}KfKD%ocTa}kpYZj z2JF^y+N9fNcpSq`x~xG?|4;Ov|5K%(8&5i#9`<@5eZoM}AJ`~*{$Dav|76E$Nc6*T zJAjA6dj&M3b${wKP^W=94b*9%P6KrssMA252I@3Wr-3>R)M=nj19cks)oCDl{J-s} za2DMDH!;I-8z=<-0FQw2U_N*XybV@^okS*x#t%3SFbh9`)ocS=09J1eUAcKj<3~2;T1m}ZmL2E$dc}Nks4?G4YgQb8-+mQc&Z@_NH z9eOA@8C(Re2WcP|6obBC2$%wvfENJ29m;Qq^4nnz!3p3G;A(Ia_%rAN?gxXwB*1Tn zJqO+cUju$S9GQnB^KgDU{2GAF!*2(7fxm-?0W-0~(bsVFH5`2nM_sw0**NoTnZ9F76^gvpdX-q zjF}FW0m^C2e*kiiLGH0ffYZQ*;Che_?gZUHZ!j28KgKQw&w=;B8bCRXqdkrLEkN#Z zR|9lC4qcD?3n0(q$n!Yb#JD-&aqt@W6l?-NIPUnv!71P(@J9gm_&jho=mUm;X`l?e z0zLs70l%Ga7~r=PE&$hoHh{94Kv_+otR_4LCW1xa8SoB3XA_7SPDI}m(f7pj0C}DW z@5DPm5$FX50)9Jj0pPb2-vwWRU5-1cJ|NGN&IROo(oNv@aDPNHTNfjSM;X`oI6bsDJC!2h)dqR0Og=KpVFZlAf`y1D^lBB4b*9%P6KrssMA252I@3Wr-3>R9E1j<$NvX)j=}ewh}0&-(z&ql$9U%#9LuWz zlfm!6@#egr@bi*W6I%1YCp{OzDCMB?6FfhW_08sd!+7}h9EIcHXNB~@OToD+$2W3* zMrz6}`W&>(l*GWPP!{BXU*%xM^gvd44@?4As~p~QX0wwsGI)xSd7ibNQflRV6ZlmQ zR`(BNrTD;XaFaP-COHi)aIBs=u|rD4f*#;iepa0iWR?2B4&XNB-({Y+o6}rgt_ zr(U02BWKJcr|OAV7UY0m<&ZWy2#f>|>v=b;%`+3d6Ya8+QH(hW-8?_h&U4M1fu7iqix z6V5Hjg*+-3J5&Zf57-uJ<$;2m?mj+}eQ zS*6zJyId-0(6c4ZRp8+pBeg^Ib+qJ!J zj-0_%;c#I){U`h?2ljLjJ8%ZEb7)YUDF;1oJn%GXEB!aT%FiyVLG624|Ubh1IspGp&##BQ?F9o+q5dBS1KaylpE? ztei@zf?24q$fI(djXdni8pLk2L01|*alTxo=USx5iF>V+&Ew2%v|r>+d?+FVC0s6vN4P<_uNoVlC(eewBlra)a1uHYfycGjar{uQ2A@~Bkr*dpaPD{*er_b2VZJo>m z*nO|aO8LOAax{hi8?XheG0z*|2>Ile>JwQg2l$k?8GL)0advs#Y3iqUPNa8YDCena z8EE}{ni2eaoeGQE=M^>y-P5hGAitorq%^NI)FsrlG;~iWzk6w@Lz9jLUHQL!UXZW# z+W%8&{9pC?fykxuVGjr6BMfFdKDeQ=KmNJD<{`u888x}`aEzSP1jA%OU&x{IT!I|< z*n_d#gHJSmi#%?U18>{N5sl`=YzzGGDnH}@!L*^l^7;qm-=^bEZp*};~(%TFFW=JKLUn=hfF)b-{9Ek-~rec@(r)@Ujy%WFb#~>esi-qu3kMqeRg4T zctC4G4)|4$YvG>{uocKy12s{$IF0L`L@(_~BLl8{z$lQ)e3R`lI#-dlIsFSY<02 zy;|UfPk9sIJPI5S4mW4+LNwAYlH=P zkVEBR+&%=~VF>-!kfz!`cQuy>6nIZ`x8^UwtNi#0LqsPj;0Dt_r11c$q})WFfNX{z zR@x=J%AX8x4)_yDH*uA=3Cx-J{u&PnNXz2+k6Epnr_0&w5$DBDe}OzIR}19n2)cmw zT3@%AgV|H1y6972ydbe1Ip9}0TEdU-Fy!x`MBD4Wr1ZobX{}bu1wQ3%1z&%F4Ik3S zS)PoUZ!%xQY(Nh?RUR zV;Gqqv@}17JStZv@>~w^qlaFi?fF};J?rC6b5qh0;F}CB0Np^o z@lS&D2uUefgq7OKqK1SvDXA5rkyh+8@~B**o4+|}ZsSn4kjyvIR0+^Q_c8bce4to-q zC(lY~!z!2bG@iC_PAt z=&SOq<>7=W#6qa6I)B0BbV6E|HxsPgi4A#>L*?m&93#O5FwC?c#y7HRfaQA`M9oA3 z3*`f^@^^+8dp`_&KWv&QpOm!btQSbiO-s(!2h>Tw!UMJCNu$}eo*NyH94ZgK>9AGc z8L-0GTW_4;JxW_54;J(Ruk!x|-dDjp;3ehXseT7T1bu*^E&Bqm@=H7Y1gr)hn)Vuw zQ>C%cRjP%J`T(!;7s893ABLSDwodCqxvU`7-ojXu12kC+<$)Y35An+3F0$+g->E*# zx@XpqnwX)skM)f31MAtfkfhzz*7(0XygnXzR4(Q~haUxq{|`6u|8Ha{otef=kUwP6 zXY*Q`4})LjD1sk9U^srj@KaSk+jLxeYa59zCuHSh5~8tCKJY3(DB{JY_=c={3=H={KOoF zGoBfqZrZOt{I-HsvA_?n@|VDiPcoeTY&+UmdHRsK?VMTWnDA}xn+Dn5rd zs0a&sfM4Zcj$wFT@DS*wde|z@&6edF;(8?6nx}?W`SE#%4*{dWK;_>d##C)dLMoP2 z`>om^N5iZ9e}#7nm<=W>|2A)7S#CO>c_yJ0EBykz%6|{M%K&5f;b#4x%qPhBB;}Tr z>~<_MzQuO|{Wz%=d5}Zp>4_XKf;WI!|F_wj_TkC9t;5rE#&TGwm+-3`(k?y(UjVcI zZ({;Bqg_@?mZy&#_OjR;H^HxR+zbCVU<)wo|9(hGOG>`gR{sE>^8OvZeSkUp;XBp8 z_{zk$e52VWy}2x62*;%@wG-q}c^H?BI20TW>Z?4f!|`%)H3>}1bF`UZ2zbC2>IZVD zJoh2TDd0?SywOiq4xTp;c_-eK5F9#b+`(3y0XbBj`;nt5xB~n^$F-l)jw8=|kHiIY z(}+g}qqJ7qGxDfhy^x1-{|LtYBd#-gVpgtAPMUNs*{yI6b2HO(ve_>g?(M9|gB&VP zZ{)!4kHGGaNK?DFMeI#l!YwH+&Dc`<8PmPk@Wmy4RvLKS z9R-$IZMLf(3p!mA@an!@yWDNcFIhrkq2_;WjVikQ~`DVL=Y~RgV7fPXlwo zWYxp2;C@AGb`M_V9{}$P@FZBQ?RAX?7fkR}nyRc2V(C_9N^_d6HF=Ojb!4>*QOL*_J2aDCxVHjmu5Q zNWPUQcNXnd6=Ojj$F+DY>joENzfgfJwr=5;;;r;>a)pFT@ zP0@9Y8AR8qGfBA_=}g&5B+9Hq2ygeTd|&(Hf8@G0*j@SO_I0w`Y|(|4T~8$S*>Ww;q?YmL2`7$%0hcW4wYvRauE9-Njz<2p0=k= znd$h~vTvU`Rg{#HMrc#rNE?0${3^#__!*my#LpdBta7Z^{YGZ6liMn%d2O_ps`vN6 zuW~RZA4%UkQtFS1|9|E8FTtY0MyD_i!I_i}*FyOqhsrY)IYt8F|0BKlKZTQv5sGXB zv%wFq^5dI~oC6kvX{H@9;z?=QDw`dPen3-wCH5H5y(MQS$eo%Y8*(9!$~7E$o&e8- zGSlDayo~3?GOw4DDXzY`H{#fk2RT%p5y<+eT84;7zO{gU=P@&a%{;=Zj;VHD~sW>Uu*4^2mC4r zakY`e5JolNb-$L!Hnc!@-zLSMTeQ+{;Z^=IaQ_DU796hp-!d+yisA!=o34d&fLHk$ zPmDSZoDEL#)=?8#Gc)cMc;Qptaqu+-SAg?PKTgMxgtMG1krMtyvTvh3!mo0ShyMo9 z0$k^{N1}@6v;w~XEa(AV<)^ypd&f& z?SYsBQ)D@I>=(SsKMCHu!9Adh>fsyN)-5|N=$%_6CuB1Nm79^!E;T(N$$}o>S2-rb z-y2}tN8P7-*yXJg%E=;XX3bu~tNc^o#m5*$|1`?%|KBKs77gl3)H~2Btn^Fps~l6| z7huyzO)&na@85WFAl)!%-M>Kwm4}$aDCPl1{TnRO`mrgcMJ79P%#k8=*lcFb$z&6; zoq7tt$}t^&e2G!7foHY9{EqceS*htVqP9>k;Zxoj@O=P22k&Tkl>6(Ra}rx8dtF4X zH+IsgLM!qhhsrY(Io1Pg_^7W<{RqTOy-nrbmIAXV+m3#aL*<#p)5sa`k7B$(YPVT8 z)q>$jb}o_bil=(Xri)bKAl`JU>}C5u82=-$$~_yok4EMnc|Bb9_@$iF$J(<*js=j@ ztvok664T16c|D870pL}B+V^Pe|7h(0Xk-8P%91j8v#qS7hfjHlACA5VTn^6Hes+hy zPROiVveb^@RsMPKUJsJNwaWi(LQ+yL!LrCqM9uYF_4pB9<)05Pc7HT>e{^dt_pc-8 zCb3KgFIbL9)Dcr=j@g!DLmuQ%c@`iC_J1_?f3&gxyVMaEkBk;0rD3H%fmit#!rKk} z6?8G>!N@F=^+JKY0~Y#Mc$I$6<1TKXq*{?BHK4@yKVDjyPMFb(VoM(6PJ91Lio-NLK^@2iuk5qH53lmC0V;1xPukt?!FFyDf?E9G6I_}yp^GMd( zBYeusn0<`&3Bte9O&NE3)^Uk+q^@Qw-44(pJp&lTI%JUL(5IY#N2blQ( zdM}=lokCE@gm(O;))wS|U*&k&amO}5hW)&{S}$T*|NjvS0#+X&-l3JrvoTcZ8p|CS zrz4-r`3mwK2TlP;`~622hcwA3(JbeS%&FCwx9V{#{3^$*@Sg?F2fx$y`+Wux>I4nE zS>T0Fd5O1;B~~!@I&iT!4$$}xyJ$HJ2lM3}kC2&@RCB#ooqzaM4%+b87N8AiZpHy# zJTzGLW_V^p4)|4$H{fpz?f_XT$A+kL`~t3yg>r#k<#-eRPM|C3pzUX8c;5)Y3)8V% z;D=ZF--4GpgR%F6QqwLtEw?4pn7W%6XG@0zdMt#E@_=9EcpH9V2V)0SY{9C0Iq8%jfy}bE$W6_a$*hCvpR4XC;8!``hhO?E(Z@?F$Ckip=#i>m zOAh!|j{m^_DfkL}q~)g4HV7=<$8$ItwS5-@Km^f0d zuHUrKF5p)=K7{`V#~l~P>vv|}rWN%eDM8o&)&Bk&_>}h}IFA6wf=23ht?}p4%zg!9 zyZm)1S{-ckQ^=w6e2g5YfwRF$S{|ENkCT!}hp7{K)Ca5Q0mH9yd;)(na3wfj_3|al z$g?JhYK<#0ti>0%rgJI{$nq|6H3$@W4Vngb4+QC9G_%ate8r22~i?DSvos~n%hp9eaFTx~CVZ`Fg=Sz%|R9N<%4#wg?N z2H5m*U5!6s&dmudW3#~zukwEhZ*TA*F!TRg{Ua94`ARYwW1;-vRen7Gaf84}@Tlhh zTRo@RTL>ZS2QmLwb$<=7@~?(>GQft98*l7q__<-SaL)E~!{Apruvg<2gOy-`R}bXC zJ{Fs{X_MeR0Kq~zz^nXU!}}~?+%xVe!*A?XmRSyB%WlJ~{A=LFcNi!A^;^onBhnAF zOt&`Pf>-&86O5BG*Z{sX`LD2z%~t;5RsL__-2uJ>-zxvN*aumf7Y-R(X$SBs|2oGV zUk@A#Tt@p9&;OHlw1?i9*2p-cg@t+uzsj*5{$s#N;3(C@HrWrB#B(pwTjsW8!wW0F zE%3vu{FMKAe1-8BfF^3E*ZSwI=JL?G#MU~zvhU9#hsv`NIW7a&f=kpc?eq7AThRl2 z%DV|Z#{J{lfCSaUS5fg>6RcvAg?7SYNu+^TC>P{VdGM*n-wJX;mdaCJ@tmN_rvX}# z2RT%pEy#hdFun+cw4VCU2lI!2cJu+S@^6K=C+G#boAFlQIWhL@C;Tc0G0pK00c`mA z{${)rIB$+}$wP&$;QAbHxkOO{|V;B7RVB^K^d|}$LKVJ2BF>RwxPd%7$DYynSGvyEr z>`LyflmooV|2@1(pf$Kr%VAxXJghfIV~JWF!_#Fp^Z>ugLF{TmHn<(!ta{kWlBbI2 z|Jhh)0$OqIeM~}1}LnQ2mC6>kMQ>Z{{UwHAJ0)t zzBQ4^hz3byHrIb+qdeeOIsOZOfA9$CtL3pxHntI?k=k)yr?|4e{wpD@+**S@{blT0H<-by+XAh5A?@Ugc-3I^jb=9BaaV%(y5eBbR`U z>{+ppZ}^lq9zMoq6Y%pUtWiI6b)?9}xip6k=;Ua4VYdZ&kVECE@3<4CE=a$6ro)`wU5 z8^U`AI2W9v<+s+Kx77J$&JWF%m8IEou7*8(UmrPCo<_)VIk*m7r1j)KRXzVZC#~`m zz{MM|Qs0qF<-;GGNE~1yae#?t{(p<-4>7&RvtluWjH-+nHrgHhD#xMl=YT(fEEAt6 z>_F@xo!F>__648v9tK}W&;_*D_O&q*m-Ip)-tHqSc1^0mxmE)TOoi}Ta zZML8f_*IT0;2!`U1rKPyZ_atG&|)m`!>jy9!iyg;5kFw!P{S{MEsw@c&*j`uTj#9Q zhgbQ31MhS&4@}j1_&w`<=_@R?L->^UDEP4V6S4Obml(Sf^^~&aIVtiW%V6JSp&XDy z<)IIs_zHL%ykP83LJnoXfRP2REYvbHH>P8-AP4*^M`QRu2K4k3KQQ$n>=&}FC`kpd zzz?tTGiIGgjB+Al_=(?Wxs>ZT#Se?-9^lw=8~qh>s659a2ex$*{>sFCS}q&>=$C)K zo7Ys)j0L^GuW}rR47Axv+)p}0*rkD#vf(KOOuYoMh~M`1#^E?s{T) z^mY~-dO;4A=Xm632Cf7bn06Cbm+n9E&omnwa=@>0oB)3UXa)T9|67UooNL_pRt&by zLu2gJ6Zln*6XDMU?SPs8-{7rZGNU>#2$$PNTC#8>}68!n#FTkAt$NJog=l^A- zrnjrz=k5LXWhdS%>e_p8Cp}+#iTz)u%^wvK!LjBA=U zZJL{#)gtNE+>GL)zl8Ex&7GIsIX9y)FF(|(sIWt*I5)THC6`^%G^;ePYlpnz4hh{t z_oNoIFU~9O*)%J^bEr#R)1**IesMwjPvH1gHKft(^GQjh(pkbxz!{6P$*p|J`vK&UX&I z>k{Yiot+{-h<+E8^MKm$e&G2#sx|rOr;nTl=%i5p?M|9#UMD|I>EO3cdJViSpZ&Cr zKT>*(RHb$rJ6ZLE>CKbt<#)_G|Bxt;+LUBy{|@8-VEvB&m_(&-|5U%go2|Ur%ZEft zoI}7-K-1aRDO8%8*FJ=_CSJk4DU)uc1w~!?nnO7>=z5e>Z+%Or-jz+Adat&2;+t=C z;{RIYxL2JF(j51i7r{3Wy(_<{-799jMD*ab3Dv_nNQFM+awqc-_hfJ;cZUMigN*lg zk?*v;E}@ccG!gl(r=LBdpQ27hImLy1tK$5>tp6{Mp}Zn;#hH{I`td67n1jOKvaJ?(EL|lzwv?enX8z5grEKmq}%?ag-N4?&fBn1@zj2OJuh%102wcODwZ9Mi zHrW4D&cS}Xf%#h8x4eFU4hNfick)!~3|*}I86W%x91XPI>?tV83KfR(OG6!`-dz2X z<6eBP)8L0R%;s}W{JyuHxT{Wd;vU=VI2Rx1IG5e+#0_6%QmyU3G1r?&zt~V^h}g=7 zMkaUiVqZ9lUN7#A{mU;b>S{XbnEAHxW6$1Bo>f8LjSNlP49AIMY&My$Sib5`e%1Vg zF9-NVI%7n|-no-@@83 zTK9=-P8RL%1Ld0EeUjf$X#vL2)Pulzy|LPh=y-pG7yG37r8k{|PNoo_pZs6t+1oYj z9K@WTs(G+e%7YI*g_zCc?cm#=-bPu{5*l%LE%*#<0?cAeX$TlCPdU@*TK>i?M<}edWIz|5;y^D?s{^Y6tQ$ktoHZjCY@R+?n$ocgEe0d*KepU9#74FJG<^40qN} z{OK)~IS%HNpnSn`q0s{JNxS&o$S*u1?^Rb}lWA=tv&cTJljBZ*SY-tg1Mk&QbUNWR2pHF~9dC4Y=>le>2Bl3r|vxavoI&*#(u^Lz8R2KkljaH%|E zgMKjg?o=v39Am;b8IUywDvyk}B@WQ0sC_|UD2ko(;F8~mU#qVl?4n#MPgB~URDCXY z>gmXm2Rd_i3{ZKb{>yk!;u3r&{m4}O%xV9oj|CfhA&vYYM_7d zX1FxJ#P_G3Z|>cx7m?Tdz{7lSET~W)vWnUhv-Gnad%KU+L(iXA-is;s4L)xYoOE_^ z3;BRykl~dZDG6rr=qubQE5M6@k=K;3z%HZrsb}$eDM$f1pak^gcTraj^d$Wwm&(fs zVhW=)x!kE4$Vz7s_d0jK1*)g&*SkX{HIktjIvP9m+?;h8P7U#4}Rb{m%il0-E^%}|HBQG zDMBBEpeMXwSdJ)j8oV;sski%W{*UK*@exk_q3<~Lo^bj77N`C>rB1^}qxgM$r@`DM zPQCs7uH1F%{rN2O`x@x;F#To3*8R<-jgK!f#H?5O zU2xnP;iVf@-nsDM>rbUOnmWUb14~RJmSK}-7(R)!?(TvyE5N|lK#mA6c2s#;Z!neC zI+Y%As#$liKSEe3|FP<|>il9ql^1VwDqiQ*SHQEzPwApYLvmFMdc}?^4?X+T|A1v+ ziOEl3{1h#x+<%|%wc2WwZ$z(*cYWVvDxXeW3%)SCQf4O5P~-ds{HO+fN!g1Gns|fy zN7zTr_d@==6)^U1FtEmak$ho?G~Gp{xgQHEP0>96cQ^5b5Y9(Yv4j-#ss%pmkMb>s z>u9*%0dM`ZkmRLj!p=+`1SSG0;U~ds;1jSB?B-XjRG7wif7%&FrUU(rSihW9&LLfV%V}q8z4<=hIPYYj#yr7#BT{=hu@eWF zcJG07{pDb|(rlmzig(bfX zxzlFw7eCS24#c@uKUC~_V0^;Ida0e4ab5I0a;)|@B99p_YhUVKh8P14gFB6d1}^$= zWvndDv&tj=lf)0a@q@8jHSp^q{MdWBR3DeaKgry?)1HI-Y#@zGoNMK;e*UoYa%uWf z$Cj9TciMkQyE#bZ17k9zK64|LfcWsVe}d5f&r8OG(_RMHk7?3ZdRNT#GLql=`csKc z$>mO4rmwtNZQdY+cX1zc`r9Neg~;gn$y(pM@v!>IV(nynB2Mizsb_ix`P9D&%-6=M z?{ZDj>(|vTFQH9CGhIg0`?a0~{YLdu4=|5`EFzPLq_45^AJA_4?M>xbiY&hY%sox} zUfa(P5kF7$AiM|9=ljk0lhau(F#Swmo;SEN-|Iy4P3Pg0)($W2Nb|WIKH_cDn}I*5 z-oNw43AMu`ezWwUO-TPbkN{57b|W=g+RYw5;dMH-ZTi{Z5sUn^0-zB5e8H-9shb`Y-KgBj48esA=B~za8M`#&PWUXVXVU7=F#~ z)Ia;0*$U6bX%DFxQa{PL_Bd+CP{+BJwV2b#=|9}*`%RA3PYQ<;qP1Yw&-x1?0{)Tr zMKd2TJ>;cn(s5@n_M1WMY5D}9c0cInh}NrDKcoGeK)JcoG2dM7^ac9L8=2=H3+4l9 zs%HZ2AEMW%Z52O9yi3p7DF~IsEZ5UmPj|Ys$>+dpP?*b|%Q$ylx_?{MtLk-Kg>@bCzm^20<2#Fc@-B$d86%hv>mKIzx19$=hfNiyY-$A_L?`w zIC}=VlKx`l3-~M3w~}Ne|DM05{>t&tu2pepIO3z}CERjx6SOaAvtTU>LWLbzf!-$6 zrG2PaSD+h46Hl1IiiR2g0KLJ3`XBe&a`O$flfHcBqrhM7&o_DTgo-Tst>FKg9_att zznS054~$)%@kjl!tVWQ_ok3ffnaArx;4%3qXji2+RIh$U+tpxwQlIl9ct#74kc(mX z5^M%CZm%+auv5nC?ZwS2C=PYto5k9|z zSFHYtSuff@s~&=O@oKXFZzG^P<0+Iu=iwg72jO^uj`PTOg0S@`=A``qooi@o+%TZTrubOZN4l{Bk58v-KO1GYtx?n2t@j4l=FGiW$d}u7x@)Z zvWiH?Z0^;FESEczisViPv$#6~oB}8vGw%0aW7StVKbDd}LrsYyUi*UPl@H7nkjKPB z!hOfpX2Jz|q`sFX8lCUOI$N9^hG;_+}XaL=f676o%Ctx>}PRn)!z$yddAP2xty|= z_Dr;U=5wk=cUGp+ruuo(had3LcE3H!&*PiH&%^$me11T`Zl;MJ%SuzZ+*#)VEZ9tX z^O>*8M?t?%O1*mZFxsyR)*GqwE@PdUObf{6&ishKpMi})Olo+%E$b!KabUfq_%R1P z52JFJvUX>R8!7bf=__y6ad#XzjSs}HIvXf&AZ}y6TMd0^oMz@OlK&1JN9vh7i~eWU z6MlMCy{g{V2IDlUknj-VdhdrCuX!c5cumC=OvI*gyoQ8DS}~}flV7#Fs=uHgi1$2m zjS<0}MY%Dt<+#`JK?Oh1-;bCT*^g*`Qw=>v_{IC+(t7kqbSUl&mphAcb7@4f_bxKe zB=tWquNQMYj__eGPx zylu=IGUHv`8#`8m`O0nl*sFKwDOm4<{@#hu-Y&FM&skmMjax_GSKLy~eJ>KDtT7&fl2zU9K&T9#<|cV|@8p_X2V->mH-mz&bb`_j!I<#7&C5 zURCx3#kUu@mp#U~<2G1}9d}U&708QU`TeN+FOTz$M?eqokoK1cy>H6zXEc3mi<%^Dk){zSw2asKcf7YyxDjU%6~HN zFYx)X|K<{IxwzB*`1>Ath0J*S|CU$f{jy30H0f4c(1S%3(of*0&c59IR{F&_yqMWH zfmBUL^7A9{a8|JW&zCw*qZ7{q_76j}t368^39G zhI|@Bx)FUDf7P9B+yr;F?=Q{nXp$l^?~-&SKi?GE+J$*1Y>49Qf5d2Rk?pIB;VKj|a+-^O@Mj z0|!p2ig5v62s7SdxkRJxJl6Wo|IBe090{&IueRR8xJthE~K8$p%2)peD3TC zhS!}v$rr#YW^ET*&e|^0r5>n$Kd!Q#Ht|Y4T%umP7-^E$c5xQ`taqHfKt8J==M1@r zygKbdz8~DT5~-511<`SFC=T>3?1} z3B-NDYaVG!`k%>X74-bR+(Yss+cnG&e!2gN$Zy6sMz0G}?v-a> z=e&~6iAAVE=9io|k9V9+?-4(s2fN@|#=*3S>vxhsxu1Z&*I%+Drv4&lxr{G7I~Hy$ zbFiIrjsWo{UmTam$*ajpUOxA?$Vt`Sp8J~ie^M?1zfgI;gC`*;RffU=xsXrWFt2k? z0H=dEwPS(b`uwtY(+1v@>S)=5&{jVs5wEexl>5!SZU{ zljM#e-CmNekUhX(nLL*uuLO-`DpK3s4}rLh_-C7mv$6!Tw794czqFG&>Yle4vwYf* zsyv>q)ed}$7(<}ta_3Cv?+f5 zTkb>wo?)+;Z>f~hNbr;9{1s52=HN|AzUO#*`{eij6|but4 zJmkO{&iySi{SdU1bC_wG!&;oVGRfjyG4n*}(~cdS+sT*f*Zrz?@Ei8co#f>sYzL*C zpAVP`bXn!)VyWCEZ(|qx;IoFmWiR(;JUq88wcrjA0w#pu&fR5Lbsp5~D=W*Pe$_i( z{KyX+RoV}iRa)FVzqEUCD7=v__`9n2(H-D-QtyK2;OPFkxhJS(?%Z_mmDuUL=H#U- zPzxFypGd8$UOkVt_rZE8V@{W~Aanixd~R=q_zqGqu<@M~T@+Ls{h)KzvI}y$kK@%si zE>8R#*-w~V)Ge~go-cS;4fu^cHS>W|)^kl#?%XHgz5?9H2jTfosW-uWe7*R^G}_wj z_$cCwmYX$RoX6oDvCnaiJk@D<$}&vR5svd4Da2a7YLH)JN6ngP%;(&(MkIG`Ie9Gr z;&>hg&IG}D!`$wCoB0bl*G2L?_c^d0?BR>vCH>Hu^gC~@b=>tIIdLs7b>beG<;1<# zz-f5)PABeP_c;xZd=Os`hq2&Ir(TN%PCT>e;p@fWoIASOalh#2#IdR;?q<${eC;Tw z{-N`o#$D!+))MFFO;6T z_$2Lh*q5fBZ&x=>6e{(7{IzJ!ScQs9&{{4doSf1Nf}y`QY>#3^lSC9dInRNmA;i1u@W7qaIhW<5pty?BMz_hk5SC*^YIQ;ixl2Ip}nF!c+5@#9lUQo1s>@93TMul7*Z z+ohCbb#EV85L9U#VBCVp_&-*=6_MBYJ4Rn$ASNEGT<(12YcLB)wZ9OA<9s4-t2|#Y zGd`+5ujluuo?1Y6im(dr>2Tt7HTax6nUoLfN&NqCMGtjoj>B4m^6|WJU=fHgi5bkC`^(}h+68_9k zKC{`)byQMXXBp2Qfl9KD=+7o9|AZ*v-aG2e+Ryo&o~PQ9+5IrXmZ z>C}5*r&DhndbM@MEN7&C9%5useU+oH@6EkCKM!5C0Aj>024Q{0{QL{;ccr+wv_9ZJ z&F^CF-TB=}yEBlO^(7!&52anU4)x3^4s|TJ$9%g6`I4a)m-4bdW1d+Tga8l2`4AY) ze=h~f+lyH4Ts*zE7;8RHEVn-1JY%x?jLnvMt2!h#TUQP8ces&7^T#@q`6JD}J0Az2 z;Y=WL^UFY3uhOq*d?TZ~4Gw=0zedU7>3D-0M zQfIFOX9Kk-a!x^1Kf<^@{*_~$daV{ZjsI~B_?_bvVdZ;eqe{f86Z zAPRi-C|>ELYU_$Q-%raL>G^BG2CzNM@6O+eA0npWXD{Wcu>QWHBK#pyb=KckOreT( zHro&j{mJNe{u7i#q+gTj$LFlL(bxIc>MLKnk+RDN5AeZNKn#?Y-_C-P9465UL!1v- z7~<0!)l;wZv_IVfzt<1B3kwPVv;!21eC$NAq`~s*(z)<5xk9lr>)>&ueo79?COifBiLjLU66%d?+V{n@kaIfwdggaLsdGJpZ+uxy)OBA zy~=;h18qwFn%AjmL5HR(Nk6AsO;_rB;0ngg7yJRsJG579*e#rD!z^ii|5Jy`3 z3$dr3T-6>gFC-E1yeNcvXyEYujL}yS8)lBSDKVt07!h85Gk(bBNOCXV`-LlzkK@c& zwf|X7YB!pDcflAK$AX!BfSzmW&;8bmjf4f%NypErkm1vc`*4K+{ygh2Y(y9M4D+g2~By{c2s-Oc)OZY~O_)pd!ntZQ=e~Y4)KBrliheG|N5Ubx(a7n$j=!w%=JB?#s> zE0kB9-#J2D13fn(NiOBxjP>!$dp-qs*qNXi|7`_?_rFv==PYm|BSZEL&6^5VfO5bp zqWKNLao{X)8MqB}1dIpg4+0Ybt6%Xsjh*`gH7o}ZU#7oy7Yqe_XTe-h23`Um0BM1{ zQ3mNRB>jb?zwlB%i|6%j&>NZl53ZkjIqpZ_ISqb#B0eb$RHt8(#+&XFH>a*pgp z$F!JEV)27uI(UJ>)&%U;&e{{S2Ic)bWtXSyQ0QooE>tde;XURJjn%ujk2(EvzFZGb z9{zJqDVOjSu(MPtxpZFfG`@YO+~H^~L`~+Z89zz*aeb}J?Maf^+l6Dm5aUlr?Q7g= z&VT0-X`XeeMt%=Cujj?_!(*p~GvTJzFPy4=&w0}%pbG< zMV>t+;ojhMCq_X6<{qJxVL1@)9? zZ($L^Ev@Udz|+v

8c=?ZBer!BIwUk@@>t;A!OXV3`)3gU-Y^S*z`PcSpRhkT*kP zDnpI=VlCfDc^=~JAE2Er!tyS<8ZbqYm&TfEM5e z)q72zuMyp@BRq$BdViVp(*SXYMX9D9-4*KD%>=z`AwRfTYCnhe)j~NkOi-Rqq~8Rb4Nf)n#n_urX*Hgc7hNyQ zB<{O-BA5ndo7V3Abr;XAaQ`zmfqoMATIIzPUNjrvB`=z3{v&Pq4e)}g=iQ^C z$hFe0SYhPPMJ!?@vFKCqp7L#v^1BeX#`+EB_pJ)~C9b69`WJZD0mfL1zSefOk=S)! zX=HLgU^;3nM|s%KAl{_y`&IZDIW77g?9hDg3_BR14()rA>x0O*#9Q{{7l$fD;Yp86 z)Ae5?auKIeebC1(#vfQL{=oiP$nObWx`m`k9bb(7Uu^6@`yu>jP%ZEfk5c)&kbV&x3z{R-nIG{HF^2&FNmdXMDA|1l$Ae zR{aLo(Z=duM)&KH{5GN8j?rrFE+T5Ph#A;LgM;y*g^%DFj{{gT#z5}E)nEtsiEkbb zP6QW#Ye6eODRB;vyQmoS29JWNU=er*yaia9vS=$g!mcbPjm4y~_#A-8yEp;h8KMt& zv9wOSn#J=07H;v|UW5D}zi4||Tk#wcne)(bC1LRj{X{I^lX4GS!Eq+}4URL<@anwXfb24#ZnKS(R9D6)DAlMi-r7vM~(T{ z!x*Q~I!Br774WZ!J86GF?OOak_?VhFucmx<))6o9VsS?HU+-UCN4%bWVSn`UAfBLJ z`aHEER?h(n?$U}n7jp@{#gfwjHhakhDv-Nmfssu2gAF$CEB`g;cli6k0uQ9n=cr|w z=XXlO&d4h$=I6ohHw{Wu)%T^Jt+fAZ@uw<@yF^0ow5TNygXh6T;8OW0*#4#VRIffq zuZs@WKaJ0duC7;V-X!v-2N(_rV(B!j@egD^*Qmho|8j<7mQ&{eRW7d%iBIdcL7YrP z;BuGT!e1G1Jr4+KdF!WmT+-`ssa#l}CD)mIcS%Ry zd;-=0f?$#LRm5q-`U=?bB_pa)ei44+1xwQD+h%|!yqD_7cUMwHu#FI*1rBV_LzlDSLzfl2%?aK&8jO#b?rpKAVoPikYp zIQi@#@+VbPvg5bunR?F$;UEI4(u;p6PjDSj%zm42C{zc=4*Km|^21{i-6bo*lVFA6 z3Cxd3e^hJxf&BKXyl=vXPq1VeclKZ7<|9QXkMr3#ti2bi%&*c2-TjU5pufGbMXC1RV+W#xR^jciXp8>6J zPnTlk)Xp#ERqUDAH671$j#)x}X+aP8{i_DNo*maQ!d7@wO_6G z{qiBS0_nhD5!Kd)>e3*<054yGxTnHelRNzTKss#SH&6R(loEgRzgspJ6Py^kGSh z!Q@h@dwK=s(RN$YeaC)%SDlOW*!QIq!6;L{fq6sa$qU!AnCq9evw&SK*Q|*Bpth(z zB&xA=7MKr4Xnp=c&kgi4>t#7sJyy*}{Z_uW;UVt7l&Hwk>G%bFtZ7kr3=AR zwZ==mR{fTeD)E4&*#4!@X+C#(^WA~$)>N-{?EJE0j23?Fe|0>LoxjuTTcz%KS7+AC z9?R)Xr`3vG_V@KB%7g49yL#z2)Sp;(2v!uIVi^{7*$FCvyNnf5a;ZNt)V#0!SMB#V z{`fmol3!fVJ``XH{y%)~O7Q>Me$DSCbz@(bdh1cdvU9o1I)OppBtRUM?*;mGsSVYu zpV9U;SfA9s-3-rp!XxD3V9A*6J|LZ-+BcC~&i9b>(?a)@YQH4*Rr6L2d9;63ey{A6 zKNH$>q2h9v$+$`iU_1!hcd;|Vm))6dy!^wvV%9^1H#kntg6=All)J1oZ^Wkm8-(q; zmRF!(*M6-uEJO|XjeS)w4kCA1TmI^scIFMr^e*lz+4q?HUrAEoF3TXDNdAqTHFoVx z_*)7sc5PV~c_UYl|84H25-_e^#wd8%#o$JON3`rtK99O$)$R5mzbPFKq(+Rpj)O?loW{r=!zAjR0ZeCZ}Cf#a$s?9M@rD1B@-w`-*?mu58Fs zmW!fU_-gR~m86jWYd>awFDVDPA9vXXKHDlERj@nMhU(SNN_NN8 zCwKX=UR>=gc)n9=$fZ!O0XG2}j~CbFjn|JYzYu=01KTPqKtDHezKi)q_>!(nZo;pz z_MaMeTei(4B>hGlvwO=~Be48%O;7b%jksbYJ#y1POe+z>W&26*cug-5e_GyvPmeOp zTCTqsuUsa2l`fp|xyE0Kfi6E=QsBeoVp#714+80WWZTlu>hVDOt(M-Fp9}?;<}(Em zuo}xRl}}7PtcKo<-IDypkp?DO^G6JH`R^n>$zO9`XMhzzjGN|9%18Z^yzV9V3&DE4 z{C)1Lm!B(1mP_lwxlpzN5(cQ4E|&Bl@@M=4lRv3zw@LbvKM8cb2fhYkihs8JV$D}X zubw}kWhFYk9ttjZc@cm2^G3cPos<}Bt&dyq!?K8o-o=3+`608Zl>f=4`QIxKeMnTr z$F66}OU`3S=^9z|>o0nibR+VL3b@WZlRu)K`}LMLeYrm$+{gzF!5Kj1{ke3juP?8^ z)^q6@p)P+68ZLLa%nP&y9k^=*!toJ#PH$>K*HBt_c^a~OIrjP&$+u*QOX{GTP5y5% z_wI81WS1#-_W?eTx*=Uh%zBTcFCuek`Z;8$z}&mbmy-5qFpm!o1)Bas-W;JfF1@5n zi+7h_3Gk?ww+DD~%O3Qu%Bz-{_O^7#d!AVEuZsG$m5=VlV(^va|hV;_5 zcoRwDFD(B=KGJseL%!+ERTBYF4IzB|kIB`0pC{o;3-pK!jNn86#;o1Rq$!8V%-_2frzUyL0S>#UZ$7;{dPGV+<_)d3r(WZtvbP5$` zg^GLN;q&$2_nQ9P_tZ~}_PbY@zSdn~)}^>B2B-w?id&Ia=e2_EMQTax^%i~q5bbvd z>zVpb=fTriIH}$%3VCe?T7fvA{)NaLobQ$PxxVU*#w?%O8vebs(slhgR6zFr<8UApumBdzu$8F{4~FxS;| zB|mALc*UEPHu0Mk*x?mls!Z<6#zr_*wjA= zzp5T}{CTl_quS#&^>dV$T&bVd8cwobCfyYM6n`Z1jHFh4&!?W38k>K!Li8)D{MOU& zg`{vApUH=1zvESW{Lw(VB<-h#&)07<@4c(m^sM`pvQn<+Ez*&-DM2 zPc&3UoIvXl>j=uOlk_B?H}bj?;7|X|c%BlK`3T=nt*v@x@~d^jt5=d&Vi;wu5$9m? zD@Deo`E5#i>X%4vL_4<3+Cr7>`4tmx(iII}}xL={SE8r!2|P zm&+}Cm_OY?AMP4~qe0C5RwVzDH7*^$wk6qX%)MJSlC%Yr`9SJ|`aiLbTO#R;Xk3~; zeq~ulbMKbTC+#xu8Xp{JJWucD(&F7RqIP9?&}H~NW%xa1tYa)21lUVawgfy2J^?zy zGpYN3YoHIwDwoRJj#O8fd$;TfWL*t5^TA;t><=FFcwWo-P`KXp+GR7||HbEhg%5cj zCxRUgsz07bLwaeOBW76kKKMXB3fkqeH@$wP+T(kb|1i=-HQKL8iJ>aF+_JCv@B(lJ zceOLVr?mA_dyDNaV|`NDHu$qUE z)A&{O5j@Qq{?1O^TicwtUeDFa{9Oxqo^9pXJL;K^2Ub#}R%QeG)0Md@fV*nE5k$uW zCznH82 zQXIjnPwvWpdi~8M@Z2q&RO6MUyj}%b0O>fT->kroLDO;kj>;K~SuXX@R(2+7F71c# zkykQ{zOuJ`67WaWhYQ>{)BlV8|GBtnBz;<^_S8jiVpjLh<}f~2hx|WyF6$;dOf1%6HC8xI+zK4P>-?c zEs{Tcxs`8w`MZqwBP2b^-%Gqs0tS~)?_8pi$3||_4g}ZKPdeM#}TZ2U8!*i z(eDl@#HafhgvSw8)stS#voiv@bvD1bfm0eOzdPDG^^UsHX?XgFB=8GY0+lp#n&WhY zebZvc-Ts&p7rMx)cjrQ<;hoce;m7TGlGt~!^r+W^c$WE>;)C2AKn>Dw zWYW{|0z0i%N$cWrSKY*)fnW-E2O8gCJ=~Q8!CdeWU{A%W#(5$HI zlg?!>(9%+h{eJ(o_r3SrByH}!NxtvH{XFXo`<%1ZUTd$t*4o24ry|(nuX7yq%?&Sw z<|1GvbQN^x-oHUYmdt+;8x0=Onr`^5 zWMULFhuKE`8*1B<*>A>ZhW`xket#nug8d%;2-yk99_@ned#kNz)RmFnAs zhvN4aW^;eD{gC007&p}{VEgTEuH z%b_@PgdC6hAOiqpHtvUvI5p5;(=x+Zm(%(U!#{!?$?V686a}v`;y~rZ`XR08ml%F@ z)9me~;NA~7%(&@mrloylhiFTenzmn9K0>7tme4(BfzeVg7 zN3RDIbY|60kzLM)?_vBiwm#bPH)EoG@9h-rbJ97{-cOE+cK_l}qJ0h>AMG*fSqQdc z%1xg~bn`_qeP(QN#I-=V@>(JHc>hK9c%$%1?i%;!qLV@^NHMu*E7xrOVp`u-wItK2 zj*vgkpSuzFQ3i~y`?jtE+0BP=V`vW}c_?c+r^^%KGMf*fe>1|y1wcB20Va11fPB*Z z0O@&K%!ky0CyW0uk|E%qOVA-jK3 zThy5PI4b8Pywp@iD`o}>c)abi&4X|HFC%^)?DQENe-ii}Npnkl0XU9~y#VXKC|-!K zKju{Tv-A6G?S%PrYS5C|h`!V$Wf>__-u``@>v~MnYx*-Ij|}{Li{pbm4L9;LWTNDW zeq^-Gd=1)X$?W$@(BgfIk;f`49*>Pgh-S}o?#~!MCJ(eJ#C{_!zCk5Np6rQx;fD$^ zI`MU7+1AHKkR|Oa?WukGGb8Uv7Wvb?xBkq=sLRB8fe%T}(*K3^n0?Edtj8RABkI5! zzmZtVk&Ud3t;hULvV4vA-d=?M4DTG&loj(jZ{^Uc;?nL#<>i$_Yc8rRz77>LJ@WVQ zo2#AQ*KGe~y_x_lOYSb2hu*m_LnJ4XIie5)Nl$F@Jfc#+LZn7`FH;YU@a z)k7*PO2|*9Jm?aKkDL@mYgdCq?Elr{awA7^AZ1YnC|FaaSbyeSeYYy3j=ADf*7VK3 zk9^UdawBJkJ#Q$CoTlT9`hHF4o?pIzTwSBgN zEb3#kFO?g)jRVyMm1J?b`PpGnm&yx)8>0@>21NzmeKtz`a=)lU*Evy_AO0M80vH!{ zIAvDU;n~`#<8NQ^*xG8FV?9f^NahDmhEL-CQ5IiXy?(-nAN&ozoe=g& z*IkdFIj>QYWf!5?v4KtKmyg^*t^zbti~5tU7y1IDP6+k#ZFK2h9)lZo6bHCPTQ{a) z-0G!{198@wJ6WqU@-M)Pz-qAk7r>0ssEfHCQf_htgC&!rFcCG5GJhX$FQbkZ-{{*r z)ftUcuifOpx9aHJz;`!}&+xR}s59ZYE5I<0v1)uv-?s$2Ff@nnsayRal{83_emBCkcokM4v_=1S8x1=BGdgQInQ3C=$XLEeHo`;Q5-(_$~uR<)uA0Op}tNlALJIwEldYpQuH#+J$;N_G&6USZ@zHjnS zDzDLj>GRvc@5Hf(`{LL6eQ26`@_J)Gw1^=TH|kou>_+{;??>+&xzWt!jQR(lLC4H? zh8AS4=jP`cj}OQ7$l|N+(2@I6fH7(@`&)r~01dj>IFs3rqLPyHN{bjK_x5X3QwDbo zi=w;e75=14wA;t8N1eBKi}pV6-e|weW=4BXA0F+!^`U6*KOG3tc1l^x#q5sB0hULj zeus^{U&5e?4`V;UJkn$fE*9|fun1S;*XI~%Q?yT^SnV(QSe*joK;roB-4=vew z{CnUn+0!(BcryHq{f~MN9u*>b`y7vxG1r!#+>7bpk4L@DlOO3S&$UE1El)j7vN-vF z!0?GbccTyBU?H#!kPF@q*wMhI0FW0S1+1W?GV&p1U7ro6y1_o0JwF0WUjU8*4mCM` z=>3wMMb>z&{WShwO3<6=j0-6yet0x%Jx4SCJIeoGXj4@%IcHav-0T@?1A55ygkKmo zH=1$b(ccEX7?NDVCHYA0fRHnLOg^pV7wteR?Qx+@HCv zTbPF*-X{L6d)3WDYARE2b5g(N&qlMpZ}jcJoxuNQ3eCn3LSHrWiq0$!{UG==kKJyH z=NHEF8|el1UL#u?8Bi}#9?XqqG~=}aykq`WQ+jQkAH zzHHEYSGtwmvY%AF$N5jwN!oYCBU^xvJwCP)CjN0W z?QHZa;9bDHcA)o`z9&*vR99m(D=pS*?1x`dUOAws{BYkf2dCG! zF*a5a_@HT>@FwJs<8sUO?d727lX@imC9)b*nB((F{g5WC<9YKnasNN&D006H#QlFu zahosS-IOJXe|Io+2S!-=Oka!3`C+N)c&uJ1$C!#xFDg^5?pM9^Ve@t1TbxOWtX^`J zd#?Als-2sjChJG>+zi+lC~nLTZb|d6Jf-Z~mEldwm44osD&PkHJloK&$1rO)h8fE- z*8;cbYQW#>c5U>N?Ya}#i-G@1;osG|7s+!Y?~nH34~mt8d(lMrzC)0Q*1!7v3oGq! z@#Lrd67n1KYS0TEYq*Bw#@x^5NkEFF_&+bbNb4&Y%>FayIp+7kAIb3kCT?F_rx$7$ zNxfjiaLn(3r;U#AzJE<=MQIf#q+4mVoSEon)!xQk%B@Mg*dLs)5VQQuKhHMk#kl_D z4(94}?C;an6n|ycR4~F;RVw=wCHqff9^~Ff0XhDVS}aex-lU&(q26@-gh%1VOrorN z0EdvFu30PUO`!?N`e*k-V-7G+Iq~>x%=EzL_Uf`*{IFija!vCgJ^v{1q2qetry9qs zf(JyCV35aRGUFqo9($Bsh<-aqGF#Nk-NjLC-*JsZ(7c@hp{IG zIje1K_bA;MI>iYZPU2T&pf_G$7-X~*EK=vZ%_&%*)QXNvq*=!1-bElmm zhAWWF-oR(c*bB(Z9;NB1K7ShYnAm4*usCk)HPAQ(_$D-_NN-5VO$1GibZTc@|eo7CHV!1+JGy@t1eZBlRXU1M(n zLe2T>@VBeDBV8|Q52Hi9VB^OAR?oxESOz!>Kv|#+1s7KTYHx3=UKI3qFRiL68(5}a z(&!OVp7r!g|FqT9w;}x$@QmSW+j312`9b4Wf7 z>n67z)EiullNN;dAa6YrUZPf$6XhSz9P!vqhF6m72q;=${9^1XU?Z>{%IX9(O31-5 z8MX=je(rPQthY=#(|U*98FyyTyK}koZI8;0I}{Ap12>T&pO%+@u=*IMM@c3x#`wk^ z4}4iUZL4QSC#h$|HRFy2d>oLko~6s5)F;~JIM#NIJKM_Nz&6>>IFejE>^N5Wk2^@>#*Di{c%`scQgXuF4zerz z1BU=sAFYWmy}T|370K%RJV*@$%9P{lI~IS6zr5{=_5YIgo)ysJN&xE^`0<7zLkBQE z6$>Y`tB-x2As&~#Quz=37dROg9(TKyU*+9ITz57DT$lTQK&A3G+kXVo!Jhcdrv5#> zpkD_LkM?=yTwti-&E|P$azKA<+_4K~B|aJVKvvJE^+fWU8uWxYn6U~8Np38$LB|UK zRcaT&^khglIh;|R#{qiYj3zrq_#C4pZp_`l7+?_y7`+&al^lC1a24=NU=q|00>~Tp z8(oM?GHlOOiu2%dhH^)AlM zPg%VQ=V-wEKK!7525uZN#kk?XL|`^~q^$JH<4@WZ*%Um-xJCAS>+Q<^%uekd^yPi< zuC{`4uohi;5g19v0f6a?;*}45zxBMqMaB8WD@iS}`n>>B?*ZOF3V*y`+d8`;FxzY~>2==rtK?QkL~E z{7JiTFi*qFYpM>fx0?o06a6YLPmLzDjJJK}uU~sgW%~3do4@{m?~0mjfFIKt@n!#k zzOP-sD|&I&H5Ziab zY+n7fYtg%50G9r>=lqrA*5=iJmpp5{_jV%8t6##e0GQmm_@eHWLvB8YA8y^k=eB!R z+)!3kS)th{9^S!v;j8Jae&sUWtNe8oy?${NZNTEaIxgxo@yMtXovBV(kxt_YeA*+$ z%UhUTc@rJ*h5zmqC2nLT9balrytpoMb+1KF4`mN)VFWc>3d&|I+gT`It}@G)M@AmEk4hB0z3jZo!r6?FtJ?zP{jwsNl+v{JDGW0}fbv68%9}0rgGIAHG3c?%!4LD^>j(OBF94 z`eKP>^tBSl{5u*kUIKXupvtUEZuF&B`o2`psw%A+$b(<80;{LU!>bLbzeaN74`3@< zO8~n8M*_yLzAwbmQCpRZ=`Tumt9(C8-vRngQB_4*#Wi`9N23iQe{9&>e1I~JU_%+4 znzM!;jsnb%h+Z$uaZPD;*7VFjjPDBClYrBVR>2Sc!toh)+``7kK^O7?{WJQO;~u*5 z-@ppiZTMoG$+|A;rM9?oaA9>(d1*CY$1W}{EE-Z)IIyU?h96i}*BpIxxjk8!@#N7* zQ;8(AGqEzn?ap{2DH})e`l_lSnZDda`Fr|vH~w5?bv8gBDm_0Sec6J%dY6`#l$PY9 zFJaWj=-mvxzDatQLkqLwG%iSh9@-`J^c~Ynsw!_N6Gfl0t|!?8&u3?QvfvbVOXtGG=Tq5@Xz1FcUn&D zj>fCTgGoucm$;DgM}fzb<@|W zPfAJy+n$faF~USLK2}AEWA+DRZlm_;=ZxPb+@Jnr{hUovm)c7MFQGkf)<1Id2%5HT zX`6Mr{Ft+>VyG?0v(>sg99se)8oLq_PCfo_#SpaQeg4si~E3^Nqk~Yq_0T+-dxZHDV#PO@~%ZILQ!ja0&F9#x0Oe-uMf|+Oe)2&_jgq;)<{hFwz5oLct1Jo_jOfHy+0V< z{}B!)KObX!2b*N}{dQ>Dd>q6l^x?iY0jZXpzwxbcCi(Sb97ujVWnI5%x%;@+O(-@z zZbG5Q=O$c5A-({7kqjxlgpxIWi}NO22OC3xTRcv-Zi4q|sf^|ijLxcyiiVuw-z+{M z3<<=l^-Mjv;|1g~d}r|<&lB!lTXaKFVR=!-HN3!IMQnWZ(Z#_a#IS_`a98o)gzse3 z8-8lSgW>&hywildT6S4^Ype1F%z#Xo3jE#Zebmp}KP!RX zv;jTrgW2CBp)(g?hGoJy;xhVUlqRZPFQWbu%j$lSq1*3wP<0&t8Kz)cD+(7xk%XtG$1 z_twte2*$J#72O-Z9?WH`6n0(hVq4>QX~Ght<0dk7NOF_pF4#{z4md%Far+}}$W1>R zkKYA-auXTtwfKm+u8F+s07(uAf1+;!=K*rAjpL(AJ<05C zZ%Fq9&Q*?&D_h$yGW_V6eJ83PxVr-i3n)JuF^A`w$V#}07butfmgb?%PMiEBDncuh zA9HIH`|EjSDiBb7c_$zfWAfXXympqKy}LThfR4Z}^(R|BN$ahujAXjP zxaq{3{kfYsoP#ZZI%W#B4$yHO^_t6f2y-uwSR~o^6`8S}ILV*8iPI3rvB2qMD1JWz zu=d#&-&ah_L#&c4MtBAK3;em8xER_P3wJdcodG&m-tM*fJM3mZ#1hH+YXhMBLx1ij zZiePi;8rqJ_ZH_3;~xz?@%R%_^w;tH`+Htg@YSoM#NaJ_PkmF=p_8?CkD)!bS+^h6 z|1Q4cpDY`9NzJ0vK3yLYHOb^sj9j+)b2pKREJugIsePp4-xoO1h${1_So^q*aTAH_ zCbFhxA|nqISKw7?T$5ODGwBF`w*n_!<}t^&J`T6~k?2WQjuP(vj6Zji2oBt6U@94V z0#-k=blGwI}D7x0Obj!)A45;T_s>&Vy(P_STrGX7n~Y}=ptUnF74YysAJ z(kXz&0dYGwi5{)*ALRO7MdN2ra9$Mn!In-s+tYNDdXR~b6S6a^!W2Jw|L2-owPbet z5@?CurOL|Sr&r)7=kF>SKN3B)kc!p5Z|4w7H9;x05*LEp(*L<0Mvv|<=nwr^tpQ`c z&-$_GqMQ7V$JCzNtlRNMN}=dnZH9KzKK+_WaykD2$@(>$qb`#U56nn%KJ_QQ`DT>3 z_`7Y>uPH5OvhLy`dfhrbzUwBvKrOut{1X^sgx%!rz5q79`}dgLZ;3U)?qf41mI zedn=18aNS1_h*DBHhv@fy{RdKS(nS((Ppge@Xt7Uz^8S^5gQYuBXs8Opbji0#U)_ z1I3cBr=06W_>%QPKXVch$K=Bd-v+j!pE-FSat~3ib;7z-1Icb>gEG5gnomY z+?8B4uw*~X;#29B`e7IPp-JOM=V9%2*7}^LpX{f+3#m=eKaD-fO~$E5#OU^IB?a*r z@o~@U;-Vp?taTgA75E(%MMEb<(T|vUe`OZp60CCf@#3 zRB+aN_DGv<^5DCJFMxD}PXM~fgkMT-^3`nL1~vmyVvGMw?#xpphSc5 zQ6ljRR?Q5H3QpY=6`b}=RB*<|sNno}qJrM^%iAjD!5@9m$-fHr0oykDC%!Ch^3UMy zIN&5QIs+CbTD*A8&^z*Y+#D758$hD`^k;3;O~tuW=JLzA54BxbTjz+YpeJof}K1)@P*Br z{9WOPoyn8gP zLm>;v?1uDm1Mr4&GU{(tlAj#>RobraA$-(?TnPKgGG}(M#UFq?B+k8GjD5E_TYZ%O zOUgf1pTaCM$$k6uFQ(Ab`%g&LzxXifGQnapIFdwt8WbhIIx&3P+?1PxU7)Q_=`T8%n<)yz z&jc7ljP*P0qQ3!eXMW_Zoimzs`OI!i`3~4gW;d|=Q!0V$m1FI9TWjZ23_miq@gm_L z4E)IOtDT29cS;$#LzNr&Ycb9>IZ9+#1vv^gZr_XPKK8?aUjqt8{7!i>d7fzJS@{v;lX;aXxJUCN!fEzb%s&ev#q#*i?B`WPx9#-j z58@^0kIME6Ah*^UepO{8<88i!n0Lw=$dcR?nvgpS=*L+n;0VCV z(`NG>CJ(VnviS}ottp%Qxtl^gxa)wM$mk604_JS@)$<)jS1ggN|8fm&bLkN0nHBq1%`V8 z`v6(Ys?`gWJa$ZLQ zCy*i4vhs^g-t!q~nA=z|zKCisr26*>r{3y`4gZ?$-88vI>Tl}5fYCb4Xitvn4GuJL-LP;YK3;egTn zFX&7a9TA<*wi|FEpb+yIpot#Zcn}>I*7e$7sJKTdzjdHf$J)a_j>bk!T?ANv-{@{1 zQdBd@-{Hrj`R=+AO@AoK{PwQmUT?2Nhq|@)EnBhxSSQRD--=nH#i?_EdgYRzRh((^ zl=t~0$n#*1lYV}x;;n~(M*)1Vm#5^n?F@a;S6!A=GX6HVfm~zle;ORio`^_l@8w}* z96=u6kK8oYgG@8Op0}LM-qF57H}wr} zsO{RRzD5DJ#C1UA@SsIBUk%Q z6rFSh=La<@SI97Z-x$VAQrN+(b{g^v9 zJXoTZ+ClPz*?!%Q(N~lDXJ}_vaXc(Z|1ZtaH@j!!r`5^J+AE&_>nV|YW=Z6p{V;Mb z+!nc)?~L3l{lOS)K>Yr;J~qDVcUl35hcAEP4=~|w+D|=w^COb^^MHCdUcOEKqgGv$ z?2@$TPty3Y+Gi1-qqA<>v%m<$zkzM=Q`4Rz_hscmw}Cp|mH$iYi?_>e+H8B!P5XuI zK{d@EfUJ?ed{kLgQdVLAhV%Nv>qJH6R)0IDaPQof^!ML%{w*LK4a9Smw#uDgtyG~ z#*w7v<{TEel|*K1x&WufZf=Le40|yKxuxq7J*=f~l(aR|%)cYRS`^2pCiQ6T?&5)5 z%`Z-yw$&pxy{E0$?hWj#ym&cl8F?^0`6LIuw|*P*=DkX61}Da+q5_hQpS%jcll-}> zJ<=aQET*q@WNPGtae!$z13v{=lSs*3EiI|`c;MT~2ZJ0I?!4Ux&93CjP*uE^9+y9{ zQtdZrjPHVNGZdzHtgf~&i9TMgEaMArUnr#|dvAxesmSI) z4(#S1F}eN|{O9^}S4(%@r+E2QKU)VCRS)vN;A_cGc)3x&1`D}-e3R1ET1J3sr9b_w z{2#~OTatg+ba}T6FY9@A-+q01^$w-V+s>%mar~xd9)G_+m-UR5Pku~(n|&?o`D>Xa ztt~VEAA3F}8kO^d-WT_~y4&U5dR^G<>(&R1efo6!ZXgsZA3YN* zAN$(>0f=*I`x(P3Zv2=F9ui`CCNzCH<#&hFXg>T@o*YUkzJJ(P=m zEmmf_^yfL#>kmz@ukPLLqMmlXrDyLRp?2FrK8$UfeAw5H1Ev6@O%9vAe9q~1VPCJM zw9B@agW_-L0sGoIU?DKm%OP1m7hc#7bYB9_?s{m%87@nVxF`{{!Hflj7J z8cw5nJpK*ohVQjgPGJon$ZCqh%l$iaSQ1n!Y8}*M04qC$4!Xs@muF&%a zKGS#h(CX9+tiGQzy@I;G9;g9+=*uuT^qXwGcbLa*Dp+eb?}c%NBzA6#=NHEFrH@V4 zSxi6KFeksL=VthE3^)D1DUbE{<8h&CJ?r?)^uO`=aL^k!{b4^g=&ps%y`DQaU5s}H z6p*Sjsqs8(7a!U8jH?IfT=9(lFLCh@{W*u_^Sw&Q&a>Y!{l|J1YAe_jQCO=mG zP5%cl(eTH{6Q;jN?r7y^gO~cX)k4m1d%eFxxZpot!BBvY-O+L>_#*Xy90^MBo@&j15ykB)5UwNGCKtWl1q7v!n) zmh{ETQ}~kdEJbJj3O@A%(F-G>-?= zzZ4^;hibnuJ1KQm zo+<&%maPjhJ*eX(^y6v$4h?qHqMOc&{2BWIc;gvi_E~uH;~PwtOfQK1W*h??XZTF6 zIp~G;-Q!sf1`xv)BB}t$^Y)lb`HybMo3*ewKEQaWDC2{FsvQi5Aaz3wTF4F*%-S=h^c| z#4v;P1EwDXI9{&j;cuplg@WB@fDVAy5BSUY{s$LyqaJuk<%pf*0k}J}|DPMb?}LqG zdea{Y#Hcg(Qcf%QRaKFU-(v8o8)3!&EPE-X0t7k7UDju|e5CbAA|zSeDbD%GpSzhS zaPT%D!zibD0ATvrZtGLG{1_76|NHN8>>If)R_{n+EAgE>0{A*NbpkjJc0lhNmQ|GY z9y)k{e%7k|G=Fh?jKvMNdIHVNv)M3}>b}bTDSWxhFT@izZ@?_r%-&W24vN5i9&i~M zoq_!UZ?~E$@31IQeod74+3S2)VC1JOt>F1bSR45l zfWFCL2SkY%CV6VD-DYh!({h!_NNNKt+jYbD^XG2nV9T&?h?uVGLLT@fGLqqE{$b{^ z{@l&H1N`>@vH=Rp4gU)q>}@9wt1FA-X1vc+tgoGU7;rjpE`Wb!J*=B~H}DWJ3Rur` zjZz-vRkI{nc?W~_et+&}K0sMt2F8%FCt&5Z_!vFV&mYpuw(^k^wr9r2!EVr(ok=rM zax-ymZZ5ElGb#N(0P)6d>pqHhTYm`uw!JY*?EO2wf5CXsfgOP!z_q|IZfvKNwOq}w zP(zl?HnC=DCi9&$|D`OmvmfWWe%AaZ{kfU-L0+XCPw+I{Oq`h3{_2|`J6}ILjFnTD z@f3PfN550iw{D_P`E_ul$f+oCR0jtqQAay|`; z+=j2SviJQq>0k98T3&uhrF{%Nqnj1hv&`b{+F9QKz6JEK0=T-lbz{# z@_oJLsDvlt_Z9ByzQ+A7`%d)CErv$DEhSfXP&hw_@?N0hc-$!M$h!SC+wY0%m&JK_ zqgj`W4q@u7E7_k3^a0ZS9@YOSx1PTIh8uafol_osOT;954~n>V)=&Mp zoAn0{9tQpfC^$X>Fn^=}Wn5HRUCp9(JCDDIrFz-bds4&vx4`sX&rHVZ6pzfJpFbD* zEV&s>-1ySe6Ug5hE`00YziJgB$=jwo{OZji3E)Sj&b$RxUsN?QxY|SL!f3Wr; z6(Ct$S3$Wcjgp&H$M$vL13<#s5Ab@z_Y;zOVsQ+Sf+h3AMDcaU0>>*Ww|cSig#L_` zhxcn|DZC@OSq*H6UDT(s{*0AJdbz9qT2B2Pqc2uTMt=xo-}2{f*1OO?3HTNn(hH;C zCULIOrSDb;ZL^!#K=&tsZXE{9T?)v4!oQDmP42Tc`FqT^{eb6b=XL5b$02Ch=R_GDiqS9gj(@RfqP?%+Jg zwN>wVA%iduVD#xH)%6bY#_HB#!YB?0J$FVwk8yuL9){#CS$i+GLsxf+_VIY4?tISG zK3iO;Y~`olQa3P^|5}c}CwwaZ4|Jd;*(vGJ;+^#SG+EcTw^tzsuy%8m;dXU{j6_Ty z>IURg{=F#b-J$%97t~b?pUOYf2(a;`Z;SE=jW_w17|6GanvQX_FWd&r~dqJaT@&U){2XBNdr$HA&0cz8%q%sY>T@-k z#@#u{$Lf1FzIe9m>)I$W{?CRWG2x0RF_G?=y(e|JNttaYRR8caZ@}}4jqCJ+iex&J3)Fh+N z2Q#|D=$WX?^`}G~ zww?|20V<+SU)mHUD(EBJQ5+?P9FoM)x_utGymywcz>+7E0x^r?Y5^Oeujh9z&n7Pg_I>{Iu`fLISzDR22KWrPj1dB$-`ak zjqlg(ebZEH?iysE#%llZozcSkrl}_j!;{Is`0~8;HJ0M~Kc@@V({f_%d}D!no}dMQ)6F>*xEw&^=G?_Sq@3ky{Y5ZY zdgE<&1z@`b=%cI*KF-%U3b?hpl=msiYHsGdC4Elw9pVJzdkgr(Fo2uWAD%A(z6U+U z3C6dzgQj|#GkCI~Zj1NljbZ@SwH>B;-u~T z_rS*ozNS1|gQCPy{q;|`Hi?t^mKIeNXRajmWPH3dr;ci$2P^{W?TVZGk-x*{IS=>8 zO}EzGQ~z_zq@ugy*ZKcJMk(yN>_?OLW9IzYD7iUP{C@85!}&_ex6VJuHmTQWL-y?f zdQH}I27PjK8RNC~Fa$d9iH_RCCidS1&I9CJxhcaA&OMTI*{AoKGMII_yxrXZYLbon zv9@E*4y=jA&SrmFy`FQ9@Pp6B0sDjh6Ywi6$QTEl!^-Bl!8&JW&rN<36+X=5NB@8B zXN8x{xu0jR80=0!L4nC{XY$%vezx;GCdawzT9S;ov^=S>5Em8%`=aH z>@Yj!;0|b07wzyrHLHgZ57@ZPP{@Ti+RY^%X!<|3-1+M4`7r!9fd8r_Uypp>0A|4E-VEFg{2HLgKbPLM*0VJie`Rfl(|Rd2Cs}!K z1nb}ZxtsekWgQJnC1X#(%4_i{?YmX$A*~+N20(3gl<~8<1Cn&dLUTDF2PmVx50Euq z-Y))&M@ZJzn8%-63(QbXJg%QRQRlRyoYyB>`5A|vyE>F#dbCLRDfV34bQ}M#jM}zj zc9A*txy&HXU9YSReu!v{pIpWp(t2S25#Kh&NV&Q1+a5xS3oIcjOPmC`wQAm1`fGM& za~PM`r;q}vWZqENqqO?En#v)CgZc1SRZY>rn$oHpimD2`Ru3$>sj#N9vb?(R zq_2IQU-~lMUsP41uJeUu1FDLuZZ7m(7Ix>Q*fhocqApvAPL}`Ja~z+K=$bB_kGsPB zMPV$zefk~qtPh;5gHP{1+3%R@=jmviNnU(^VD86JG#0Zz_5tA6$!mUZ`>$P+2i$Kb`pOw?;7DHUYS?M{!rj>ARVux zzw!RN@NQ2xtgP***#)B?WM*T0ywN(Z6mldtPlJ0Btm1?MAmtz4E3PUnswq9Uv_kLD zS5|Q?54yym^Bw?_G93yUlACuo+kt>G6jU7pcso*3%6r{qMdf9;ghFz~r<})6%#X~| zR36F3Zmxhd9(dkwloPkR^X}6*a^5zisyMjmjo;+^jjG^c-98l8`1-IY@vWakZf!%9DExAi_~qy*v8W_U9RFmL zXtOPw>u zE9UP@?&p+CepdZ?Yd;-%>YO0YyEy)e$Kd9l2+gknJ;_j~$mFT`{@s`zl{y#KI)r!_H zwolaP&5i18=%(e_8La;d@}$Q;|3{)rapn^nB@O|O;7t8~ljjQ@_)fK(cNJES8D0FI z!{fMl+j;0%;37cQ=2yU2fd10X(vD%#eg|G3?Ro5mXpaq@qt181`6O&R|IaJ#X`4)~RdzxF@d7OGe?qeU@h4HI;l~GV(7libMTuX3 zB}$z2Qk#skTrs$uK%%s0aG%nmlG3WwXX^BxbK>dlQQ~ywmq(r!C00@M6L`=0`#+Bo z^@%8P3jg}OPe!wyk{<_H&=-B9&%WS$zyKrVHd{ZNRU5zH{LechZ|yHRFW87nJrloP z*xYsLbCY?&1q#Qo1VrPuUtHw(3wUpQf%(w5y^%I%-M<#SCi8+ppWT9CH1j6`#(@{q z7-vEa>TW}qyNf!68rg6dTfO+Z+dU#fg7e2XZ zaJhe=<@mt-hw&M7yu(90IuiU3coc5IgB*MZ7zD`p><<`UAD2~>q?a<08}i>}9K2f% z0rG&MHKpAvhgJ|L=QLkny zU>pbk0BV7bK#ISN@~i08LyC$m{LNmzzWhQ@vhx1|+S37g>y&>Z8)q8YW%64Y@&Yb+nK)4sJl(iJ_zIBG^2h+-uz^( zPoCd7!WH=aB}I4xcuP4M{H|#gzw{>;(magcTfx6Y_{A>+7w#zFWX@#3Qv7a=>tpCA zXWLFZU#cyV)gxnq3snY@$mEL%p%wK=e{bRGfv;g4cM*QrS$GVa%K_C$XCTE_M*FwV z|C>L%esYu;_Fj~Dn9I34&daGUV8Z^}(y7VhawWA>J{vU+LzeMh-S>jFG7y7XasUFkE z+c*v-a|`K2yGManKq;SP^``!w=G9a7(dw<6IXmvjQGQ`m!Ss?|+Cs*N7hWk2;_Yo= zpH}ImR1Pk}sGM6sf8A%$J9gL@_a>(bkq!oYKN|in>D8mCrYL)UlJmNk^y*hs#q%OT z%32;ap3RDPxA5n{pQ6O*?uH;ShA46@JlOj=hgn`T8^wVmda@3T@kjnNp189tN?cqT zB@&;H5{qd^PxB3&(@TjF(?bHyV97r#ZhsZ0rR*=|`u-SV(Nl><`R>krXE0{|xhQeZ z_oKumi=xEbqoaa-iANZ@OZ415O8lc|{$*(HNvqFzd?-KF+|Bc$RaYX`(l3)NjC zxrNWs!f1Sny*X2ZPuVZ|q0I0g`}$6|zYv`p-8&%nFHsd;I{pd#L82>X>Nlq7ZVq(y zd1c*7%39CTbYr&5F)y`nipS&@)OI; zACXWnwhxesALS=fbVHmt4BNyQ&%$w0!I8gbU&sEh?B9*tqR#{0@L1bxn}@s^mtJ&G z(62iw>4&~-ZsAApd>`-#8T$e$c`Hs$@$KVO8+U1F>Ay7|v$kkEUOl!)Ze44m4v$TZ z3U24ySoak2-H02af@fw$9S&R?bvX0ts6(Zx$LoF_bzJaVRB+V6 zQNc}Lj|!gqBhQxcY?r7*Efu-5w8Q(ecl~wK0pVPq7#F> z@8bAqPtz?r4q1-}6zoaXDS7L?%apvmi_W^9jW0CMlKJUMXr2UoO<5Uyoe=oad}ru; zv=|4Z+wH#Kyddz!xcZ{AJWaOP zi*5#A=eDZ8R9uqT!MkZ6zQe)+Hlg5)z)4(HP-%S0j&H50^s|M~9Tr7(MAEZ)YW9z# zXbF|P`o(CULtcya9vy0hN82s=`8V?;5SQuOq_qRUIGs&R*T(8DGx z*__8#=soSv-J)lpMc1}q1{sPC%^z9(!22b#6XfMVPemsgy^o;xsy}y&aQp>yEeqZx z;}9T|Uf%Ll(Md*c8}ugnbGK+RLS{Uwg90BJ-wb;B*Pn_`GI}3FZ>~RgixxoZZ~*fc zeHJi!)}Jq{?mmcRWW_87tM+&2Ay@Msf$nzbuJV}NqP5T@nC>8h^|?lLdsdY6EH53* zOMZFN6)Pm;_Y>&8=g-}uP0$<&2=$>rir@Fks#)JwRTHC}2ft#4WOV->xyAmJg92#Y z13W~IOkaxbrn2hq4AT44so|h}^jEBq3_Y`Li}&^CZZUK^JP*7`#uositM;Ubn)M*u0l-i5DJJk;&RqALD_ zm>XXqHZi`w52=2@<)Rvo8y5F&6<>!7AJswwaQD*wZ2Ulc-2qQMfD5@Q-sCU-EqUtX z+YGo}2M}p2co_Hxz$&Q)8}ZnC0%rqP0e=Br1jYf(8^-z7CWRW6FMY4|q zF95WRMbm+$0HcVDu=I;N1OEja4V(oqL%A3S`u{RzU7zWAKq`WGQ*$eF|H@eWOMgIR zhQzs#-}Cr>iuqae@9fHwo59mQ^N@?*Nf!Cjy|;PDe@9(vL#$*L!?VOHg8BkRkbco7 z^N?D5T{*NS^Bbrlw8O@)7PG!@@gm?Y-~%gwTPo8`viAeM?)Z$1t@VFi599ZZsc>if zdSP?dhw)9oc~O^v)lruL1EMZBJ{)zq_O__YAbNq{JR)-6_(tT8;rl2j?1&1!{YF$! z{z=r~&O1{@aGyDucc`C>y8PUMgYPchzBcMI_~59^U5leG{dxYIUuCZ43sHyOlcSC! zYodY|x<(x~%khNNWSq&q@38o{cG)eS?)OW^h4anGXPb^Q>>%2hb$e9%h|fbRj@sB% zFlvcLC%LzF9Q58TIXw7-TlhMs_4;u$OZMb}(}44V1fclP{9JSRbMgmE9H>aL)rldH z!Wu5Ic+tyG?-C3~(vk}W_U|#CXy+Pt-qn1W`BB3U4SR2;7~BT}N7?fm*oqlu3zzH% zgeWGvez(a>qCq4U7yOX=+b+Dy?8g2kK&G77YuEA`7DXR+jrQLDakT%vUyKsZz7R#* zXtmpFqkR@_j`sYSi}u}jbhQ6~`Lx+l0KscprmXeL%adNTlF5^~^CcGocVM!Mz;1YT@PZ3Wbx^J(EXl2cS~M@<}JXF$xz+z2V~to z)A-G92mGurSR!;Jx1^ShWcwUvdjN(Xdz1XWD%R35PUdI@Zb=0o?G%PT0nY=&0b<@I z^}v?MEtOyzr98?jR!Jt0Ux0a`KX*%(P}cFlOfuwyth~v2HBEbmF&EvR2VLphyP+Na z563dsB)4Q8n^nM@ob3hd17wZg+sS$!Az52vmTk#6WrjP-d->wW_u9%T9h6`#y8Fdh7Yw;&Gc@tb(p+Ybq$iE-s}-8$UU} zFKPTp)JQ!U8!fdsfQ+S|wF_)u!IBOw-pQvQAsPmzzwOhHSXvH+|A3V2M@$Sh#Uy8Z z*?XP8Z`b!a)xuK?8-0IbDLwF|#2rho1+LE&u=OX7%*;!l**w{@(4V-hLJQO@t7=M1 zQop55bz%H7@%sz2x!>Z`*!w^h?=O|>k_y`x2Y;loHp6)}Aa|eHe$bk%?TqPv6frH<2a4sOfrqEZ0H*SxXP6_l^x6JU4VNrAf?fv{?qiFQ0eA{4R zl(_1+C^6w%QK!#@9v^l|0I;?!33GYmgg#q9k+aQ_*QXC-c6BViNOF8u@Wv~tOBssCdB z-0Bmry!18@5c(!=<9M{5S0=tOdI0zvPykqciXJ7g8`iTA$>fzyz2@W>mcH!K8{fQt zvXl|7rE=GCxt?g}+4Cz&jR^eS&hc_RFMjdKk&w$TcL0oE;nn(wM)3fbEwvNhb3As_ zC$x9zo50)3i|JFYe5(pcR?l~UZ>!GWdl}W~2pZkdoGWNHzEw}z)MsNq$z#GRKWh7I z>pQKF5uk(D?!DqO?Fq`|EjSrToNlR6|$8*cx2bwjHqPUBIRa*H!YVAd_@Mft(`ENx9mxe!7ba!!8Yjb$zFcWacfCW}mP}sEZ7)9pI7(UZcD4L-I;Wj%6CVgq*ISZTy8J{h%L#X^{C9KQ zRnM#ZbR=8_@I%fz16F?7s}EB3)V;E#R5xdD&#j)48f0UZzkw91rNn`>OUilI>b%NwUemn#>XyD`)vcOWtDBiljcmN-ckLQib+4?v zt}Hd;!kpN=&qeOF{+{C7&L*?$u_4@k#PcG2I^0Dakk_nI=8b-BD9cmk{>vv2gOmX89)D978g*3O$Q z7k+fy`t`)q%SQmy41dh8E`OEW@yZSLx2ySBvzsPAS*Yar)Xz9J&#cU);JE=%;8y_n z@r<3wt8L^s6EY;@lkX2KUjwXDPE3v`+Id!f!T2MNTd{x8k9)w!NSCkv&FrO=F998Z zRD9hQ^OuVh4=wlo2d@{*Nv}8nI0#aygfw^PB()!g?V?3*VQy#30^ohVoWz?6JLW}u z=|>0`z8WPSRDs(mW%y%)s#eHdDnl}V{B!s|TxaOj3K^wYzzRTd>@M{x+xRxE&#Fq2 z>Cj%(!F&GPtvH1PO`J&Jy8(=kcsti_^QxwQVv%I?s?5`@=;qJeik^t$Sm1Or6jvPq znB8r&c~zq?R!J74jD!BA{@ksgU)fIIp*6Zcxm$tF+U0j>v8HbMOlzHP#b!WXan4wcvghcwSj?JGSBponv8h zp4T-!R-2s=%1^wt;$NPoTQP!6Dm5WHvNvGm7oEK4b#XmKG~nC4QnkF>xDEZ zO8oIeX5q)Q$@xIo-Z?-?Nf^jgCtCx$=-un<&|3!|wDl6VDqzzfyr)K*TL7!YbKGNbA zR@>C83!%8B{tWhl-avExiFyV_{Wwfh2D2`g*|mC$alNldurd2oBUghy%Fim^Hu*_Zrv~}`g5v>tUYVure+1kIWb`NAX+~b^ zPc)aGlYgkc0#YR7vz#I@4^clvIr+u4#vlEO`nv;vj4IY&Eqvln@eCa)UV@?K06Bc4 z(-!>+uNN9>CYgU=RI~nPz|WPF(GGqb=;pFM*WxPUFCMoOx79x+{Nhi}R(-;^fsDAl zHT9IHE0K|`uITa9|InYi`ez|e5bNY$+5caN+f5GfxSf7P{XdiC8A(~_OStpNXrH*< z=!;d7#qF;_-{Jts*4MHr0xG!L8K86P?al|ST@Pt=<8eFh64(DX=t-`AJsVWZsr^c~ zEp8u1Jj!UR)*~u*t|u;CPb|8D7<=mldaiv_)^;_mXA&97;&8^z>YwoEt^tGS9s^z_ zV-LXidw~N5cl&WCei)15>RDk>FU!WLR{h_BaR7YRzvW}`hJ)CD8K8sLIK|s(!x2%s z-;cS|y?OAXsvsFZ4?$I>CAkL5?`8lR(9z_9@guw1%=(Nx=n~i0e-i8<{jYjrd?nX# zD4Vx{&7AE8sNH6b-|QR`v}CqmFer}!EFQ@(jyJs~j&Jx@C@=l5hLb!E*YGtm4*?WR zN_bY@R>kquz9qBMtOad23+Se-jQS_CFn)55{4C&RC$8_$A31(yjsDr{s*kn>o4*Q1EPWPRSLK_N(MG23#PSyg!h<&n_KU zSyjqapP!$+eSg@?p({nfC$BXBZ*=mPuka@2TL@0Z1y))sipzK9ZsaQXBzZl`UB1{Q zH=`;_yxKPZJMw?!<0b!$b!gE-LXm}ADecL?X;xsjX0h%4_irEb$4$4UxAE_jshvj) zXL=l17bUlb$!P6YGXKA_n-1gceB~*eXWMU;U2D?Lg@NQ&4g{*ganj$fyo8LifIfg! zUxAV@_l<*!YP_bKp1;j!7xWd6UKIoQm}^PT!9``|+^dvddtcezKW%Ho7)Mz7eZayG zqrW9p9icpa?Vi!gs+}8t^w4bE55Ucw;K~YnKGx1xV)s`j?Uv-cwydJKd}v82>#O)E zLP==}A44oE9;B~`RQm$AY-h}$t-J-y^s`r98Ff1Ktf*6;a*l8JDCExy{vOa}?mC@* zzRCNI6#rcti@eeG!Y0>aagU_n*N2%N$PUr#Sotp_>Q>(8iMy2#a4-c>A6<6nOu*XZ z$2ShDOd34$l)OIh^K_O$m>%>i9XzC*pBnkg`Rc=u{o@w*4x^0!3;faOnO>*MVf1%3 zKivQeZl&;1|Ay~2&d&#)Hhi+L+XhsYl$9o{)JW%mm!{H1X8SO360fX$#qc(;mGD?? zwo>uKqrh{z;!}(Gz21!DsVRV5uupE~yyW4o_B*D)*IfIbd0Kh;G_59mc7e69ER0nx zQ=c#J+^a48=RAe6aF-bM_j9vfv4UpUGioKKk9gYEM*&~4+uh2Q{xP=_*Xt;q-rcnE zFx}wg=k=~Hzs@T4Rw$)?End&dPp(|x%Vc_VJN5D|@SgI_PJLJtl)qO=i}maEQuva3 zc?Y=efq!X@Z*SYuc2{{y)(&I#(C3m*vg=`Q-#?+38htzJxcke%1Yj<(I_kK`?!f1O zx!1H_Z{GKlX zuL0oL^G)8nJPzmvd=Fs7=qmb&tNsQo1~x?<_t_ixBG4W90dOPm0Ps984Okm>+?V0P zeJS_8rvR4%*8z6|j{qZq1pv7AJ1Qxa^uERVP<+;L_osN`2uk!#e8rQD-VEcotHU?;49{2}mM*}H-w!%;M%5wdXE=PX42{R~(i8?r+f05g4*Yyv?1|`l_WWQYRt*mP&<0lpkL^~KK$r&Ap#gly04aVnkJ_WOyp;C> zbL8iHpdnfP^n+F?p00(U$W1l_kO7&yfiW0mpy-s zxvhFE@b_bmL!Z{I`aQg1*E^yP7HekmS3x&&NL5*N>1FykU5@qkOYuT`e&6cLE#*=Pu$3km%;P+0B)x1b<6){!Edw^eac07>MPp$Jluc-Q@ zfqaL0Sk&c_THwv7VCl0_hi5lL9e+C`>iAC=?Ka_K;c4HLqn!WdOJnVW=y}y#V7~G) z^k|08(W7mAPf<+jdiMGw&+%4}=Up5(=y}O=HL^sw9mjF@MIfa=o4q{G;YYN|pe{$g zuwP2X*LNWG4xk#(L+tCWc|9~{A(c+&SZhHJHjZrLHyych8^xfX zlK2hB<2?npdNLW?D1|De6QK5ObT{x`CBI=Wy{M?V+Q*MYd?B_>e`3zFzD9bQwzfdr z&IaZx&$sJh``445wQ(S`8qkl7&OnNU|LP|Ge>H8a6@21-)-dO==2WBQRww=c8WgtRA>a`%><*j=7@c_gv(j)O zBwA-i|36Q@HyJwLp4G1LpKBC;_a+RDHJ=5~7l2~|{z}_tu`&E_ zHX6q=-3{Ya8t0mo^>~#%+5ET^c;f$qZ_v2mYRQA@P#hRtP5Dm*PFAtw^A~GWlNMzJ zIc?(WnHN{}uB;i9{7i7m@vfH>_GwKI=n?{kr0tb5o%(F5+ zt&v(6vwLp!NH8q4ns9gT0q380qcm#P;>BDMp zDOvonG37T?v0Y4FyYmF=NK9UOI@$kUL;t@6!A1v+ysf)2dC6}zhcB#5?u2O+g+ z&7_$A>}i*^LP5!`InMSR%<~5bAtcUs4CCKWU*a7RMzZuT<+ZE|ewX&O+N!x|}ty+hfU5aWA_!vS(af<)+tX_?fF-TLqYJ_4+lqth}6&>{#KmkVmpy z(ZMf7(ZR$!NGI{+IiXw@Z<&4s-yK$`xwYT+ceu6cq*{vG!>rej@T4$fSn(0T{u({0 z8p-VM?dpX|VX0$OaCQ;?g;AX5 z;=AN?ZMDy~eYTH3ShrhS@$vr_kNJa+QJ1Mnl}q^p`@Y4)?fQL-UL~bP)fwxw+}aJi z4Jwr+T3NSerflr}vtu&z(r2a*D}$ftRbF0tO;LHbs%wU7%}?rGH*QC7^<}BVw-^;% z+YluRzZ@lgIXX%#Dv1)uKN%$&2;MudiW0AQkC7(OMn~S>#{3g)PN>!NY_E16_$b^J zAGY3f?K4&^aiZkb-5>UQbKFJ8ala<5&9>b%@7IFfyLDd=b_83$?(?EUrL8-H{n>zq zyku;42Quhi!nyp(hMhB(b@|NitUC}ABpY|Uha#K+bXAU*b8El5Vfbki_8tOJ_c|i* zb>>Us;|S}BY}TD5s)4^%4t?C%C10c3(rj_OYYyS^^? zIC9!rp5GGAz%M<8by)Uwmn$bGPmAAL^n+zh_+gKOqHw@7C1?Ze&p` z?RbQC_e9d)xBk0XL#v8XZdX2jhxG&3t)c$q)GnvPW+|U8@E1b=l{stk!ByT zf9uuk)cM3XHtR3fe+~L-4<9sTDC=^0Ke-JOB(rn(LVADT0OiE&+*cc&XJ_Zr_|YZv zlS9D0FYpD!C%>g&057nfS&8)rD;K)5doBA($xosJx7pJ_aeRWFS7sr5byH(n;o@`kM6{L5o_>23)KZC7E6os~g{bWGnohg6V+ImXMRU#u< zUF`$8p8njezkve{nQqoqKn=n4vE9A{wNCXM{GfdYiuio}?c|Z%`n%X13aA0f4;}$n zdD`qdP)1*@l5DJFJY*m6=We~?g7bjO$mk604|u!N+V{zgu2>?O|7YxJ{ki_!t^YGL zuLFjXp;*ZLf41Ws>3UX?Nrs>P$oe7v+^v5V-1h)#Lz=fT{4a1IkHfsxx^3KjByc7` z%(K1>_#r?~LhrDze*zc@)B>w{r(Nx#QOep5r^_o=NmgFs{`KSixm!Ppvc3!`CRU7S z)1Q7jo<8u$c?UDeeXA17yvY*?%Nt$=Vt*^!nvMy|Uu| zbUlH-_mjE)U&qQX??IC_Kkyfh-|#fudK#D8!37CcRcqx}zaj7MFj3o<%r4#!tu4Su z%F5v9|8RF6@OczR!@oOKt67o@o!Ftogd!mH(BuXNH(Y25*s?6!0@)IhY&w`4S`u0U zByXrm=mA2nF};HcJv0FU+%3tnEV=3X&+OiF_ozKZ()WG5`}@svcl+GU?9R^4%+BuZ z;lXHq5_x~SeVmtKDqjB>$cZ!sHH-KvoAeqnv;q%toA@K{_No`03M$Wi<1a5c&Xo1X z{;U3SI{WGmw>1egz#PYWc5BCdcl%zMFBxAsvZS_Tw7!*hMroO@oz&2n@tc<%O|wq~ zSo6K)*IE{L=`T&0)NlS-SDaS4_|E#xol&t5hVLut?!NZparLX0usnd|E*W8tOO35@ zmoVeFq*U_4{YIoCetAX4JG>7WmM_%@e}#@lMer+@h)*bv4Ng_auLe)pZxa7=Mb{OL zyL{STwLDffR0rb!E~$V#$z5^*zt}ma21o(a-%vlNr}kCpig!&?zXCsJ$u;KMU4mVA zWcdC7AkNTGK=oBKbnS`;ynA2OFF0UG2C_e+KNr zBk{{=AP3gZ)AA7iS@JKzBXaOQKiDYo^@4bZ@Vh&|b0N0*diK|Oiv2mt9Nl9^{E{V4 zu)od;invdIlIRDf?;HPy@$QnZOaa{`-%$6x0SPjS4eLGsM&*FjJ4@DC|A2L!OH3@B zlU2|>1~?I#;v*#P-z@oo$4J_@Ye3lwY>=ENy@sGA=ig}giNG!0$(CPQ_&GrZE|#1QTngZ~%HB&NA4@&~egN7)vO7R*Zz&dJ>0F*|m)aJZ z`&xK*!`t{%$1xvrgyZedlfSIRH(0ZqMEe%s@e|JN#Rcj*OkRJjW8FAp18h*rKt1^w=`-r!@(3NnBtL z46{l0@1vh_P^1e-LNMx1#W zzU{L69Jl^>j?X!61LLR0tsH0X;~|4)=samX{J0g>9VhPlAIjSJE~T>bvL=%oC0D#E<2*Sa(MKR%#`s3|>Zd*Q@KO0SMziL78JmN7H9 zY!UDd@E`d%A^ezT#s3GM{u20FpI5tV>*E(X9=vMzv>#dBrt4g;1n)(HSA=;rzpnys z0TI7I<875yW!0)bA{689F9BT-DH)=Y0)EJ;{pMu3uxm3X2)D9sH;$%Vmp{)bN%?Ri zw=yzc&Rh)ti@pDjcw9RL7x@ml+(e4IoTgoy%u`B_cTAV9fL^ZRiBB%%dH8$qSdN7} ze=W~%sm}`^SHs3q7FJ?7hR-iOwTxZW;*>YREBqTKxHt|1c9c{2WEu;3Tiy>~g~D

z$%2xiijsM=i_EjUZm0d*pfGqs<7}x{n|=1>Lf+roRrgQz9$&%S#?Le|;+@>W90zM;hw`4$m;=Kl=-qR* zFX3^p=UKh>1PUA~a(8-a((NCUM0#oNEAzs&tg46S8LVqhmZ z?&j6Rzfy^R$-A)a~| zcuF5~mp>C==>AOk*Q|PAY~{S!hid;{9C!bhXY^&;Zu>v=G4>q2KZOlB%c|L^q=|r)C1r1FP7R zotE^I%3E*Rou0{==s91`22$D?!1q$ta6D_-26F9eLQFZR<6$dDAwCF7O(8yusvxPY z%Yedj=Gt8@iwy{Pc(;-vtVM0dZ-<2+^;OlCRVB08dM9Y#kR4coMdq&P@qf_%>6B#? z$PJjq>=Nya0fO$NM>6U6rj%&;zGCZZoag^mVVq4Uep?t(s&S&5plyUVgMxn6M$ z?R~7AhsPnp^|Ga-clv1yy6CX{JkE@kco%O0Qp0d zo(#T~-wn3jBP&Za#3K3e)?5A96~tv%+z$NB@qYgTkHgrXSPxqL*v*>P$&c~7M^?_= zBSf70BKf$~kwQtn$lWIHx486r9pyi=tc0zMt^L$?5EhekFF4V0=bLMH#bccO19%z` z`zdi!qxT4V`*K)^Xt*nFTdJQ$bYLa1?v-K&;^$8wkJiqpJmSBuFnr?VW$?WR$N)g> zOg>=x0reU+Z)R0x`8-?$O>wtNKo>i*Vucxdy3$5MisY{NmfuD|CbGqjC|%)in4b%s z^gkTvqC+*~?ZsNt72@^O zOJ0p?#iD-;bcGteA$53SN%@gZUUJr6U+|YDaj-pQJWmoia4iKqVgRNIc1;*VTre41^ zG&Dvw51JE!Ns<>;FR}X~H_5dZHg4qtTQA04D^D^s-IXQO30><-rR?>@dL#%j`X`V!slpz zEW!HSV`%99Vy8gLF7VuK>} zlKpj)^(Rb!5Lbny?RGOX{{x8I5?!wkY`t38$ILn}3Dk?Vv#aQHs{bDa{||znZn$zO znYRFUaa90ly?lG;`+xEJt)@P8pdo2}@L^XHFUGSAx?F6VFpzX4Lu5qTgCjq_?<5+cw<;&xo?`>$ftM(z20ZNJx z#it77O5Puly@e|0*Cy8g;esYz^NfC5br?`AS>gV_>Od=3t+j@T{2#wwlO`kykN9k* zyK1btc2|w3F1rK!k|9kiI>6Y&+RDjHqt2Vnb-eu~(4)c{NImn8Ij%ZUj}WdfCm^+n zYtw&9gY}XNnQuj=c!$cYMO|ZJl*oy@8mF$WQ{45frzG@PKxMdZ;#;fG{Qn!0#<#NA zKjyC;YBR_2UVw*>zSwK=tr6_bNlzSCS$e98aS6>fjX$hnoUjVpzDoM_bJ1l{-&e=% z(fQ^|``a=*k0xQK5EZ#2{C`nr|BL+z&s%BSZB>n8_g50Qt1!tVchw@`6*-O414x7J zfB8|_8C4bKZ0yUHUwo1V|G4aovQl>DnmL3BKw0%HrV574CNx!2q5W&!nDJ9aO&VQ1 zVw8=0Sh;dnq2k%)2IT-ff4slyeKHOJWV|RQW-t&{j@RUx`m_>=sxljPX}LZ&G>4ST zU=a@A4;#{DIpLSsy;Wc$8C@Y|_zL)1vZCmrxs+Za->F^pntooce2M?d)yEFI))C*t+ZzR_Jsb_VO?uj9@I~J0y?9G zCMt9F2^@z3(pROQiUX(R4)2Sj^Gog7#C;1L_cZ}H^xD%-{{H7US^s{*>DRa;aH5m9 z-91kBqD&|MAK6acL(NX+xQX$Ta|s~M`j!BC%@jiJ zJOnry@Pp9$Kjm7%c%fXrv?1+sblI6>D`%I_<4^g2G5;t0JyoBA`oY9*SF<`{^<|1r z^mGev>{ZV*>%e09jjERwAN*E)jJa2r0oN(MCH&fP$Lb5oy-ISW-q7i09a$gg%hwI{ zAN#M>m+ogr+L{FVlCjoz`HpwNyk60lQ_ifi`>m?~vD(c2IKS5zCTlPMtn}U0i)q;p z}`PMy-^Zsom8lS8d z`l31+Eo*;HerPo#|B%%^rh#vpP=x=7-g4P%PRllc1Yw$=nc306t3*22st@` zlP7?G0aD=zKST19B>(UvBq{&?4yloV`Tt%|O!;$3H&*BFmkawqb zepLH!;`)Jk(E2>9ALQId?A>}^pmT=+dxAd`i0Fs<@|xnBn)2E6N>~s&y1Ej3A9uZs z{GJLrlImgNn)Qr4>MxKS)d!8NE0ZlM!7d71^JBGZz%LoqkW}~l4!qW4yY;`PF4F-a zEQu3`$;FxM`003WY!g#ono%t`oEDu<=o53kRg@QeK2yN`_-@hfhUYSy7l8Y zp9Y)?TmoDV++(nH^&2<;13n20Na|-l358?jN;>#Maw18Tup~K+lOKKK_tZ<5`(KdM z@5#p4|Efb}<~W6~HqscYdd2VQ?2Qi{E1Gd#{bNc$@_tLhIlOzqyj%Thph^BS?QP>5 zU57P{J=-{H{M2!#Mn;c@+e_u^De$U2N5UG=S@vclUMgQ5^d|qc9L&U|`O-lw`IE>{ zc`4;q`BwUfa>GtmzKPb?Z!$#P2I+sAEP16bdSJcIYpCB9xkcput1cNZgfDt7kV#r& zmm9<^kkoG73H@z=?IcI-{3h_r1<70!HZqs7?X&7l#Si-qYvwVmd&5@1FvSj%oJ;eu)bz&4X3dW3C>_FwQbpVScH!|?{S%Hv(op9_c! zjQsH<9Z`CT%zH?CZc0EN!_Pw{R8QZ35`X0tu>XQ1$!)mMoN%*ET!-S2ZhbR1;eo(6 zmy){;^8w~Y8pKxGWa6$}_eU#nl?%$MtIKidL*>G{Hr!?X9M&^8$TSeiZMempM3-x! z={r+Tifr`4Wu_$R^Hfn{W*-~wlf0;Q z{;OO|J6Fy)#TGpQ{ow01Y1dc5|F}WnHaux@MYXHY36HDd^dG2?xFE*f2Yp54=xyL7 zEr0WI6DA!!a>A4m6ULePjF@E25A6-zWb}@dcSG<#wc_14W%!tprgEWjQ9kX%(sMom zh~YQ9pnhxU`3OsTt2|<#R*fGu<-}2wCX6edbo8hx6UQ>a5h@qsUM&~Lh84hvz`I(H zP`M1hj+i>x7BFdk1?@z?Qo0-)e*)|b-DRP2q4)HEj*Y^z4Zzo(mTTjfk;hN6{HD5c z#=#tuBi9Zbr_>jyhsO59`;CZr_Xp8i~mKZ%B3=Q26T4Y;D96n>5|= zUaxh$nJ4$kIN+H1<)x<ldf}QT5y^ z>sp1dhx3cV`63q`=7AfHOX)TmGvqcI+HT_ol;={R8Ma%}>T%mcmBaS?3s|{v8<`Pp zd_wEwHeO@u<~IJFlWBm=Z-^5t<~@r32220jnPoMl)#WqFiWiiWS4emwR8uo-V4lgT zc-6_g^%E!awj5wIKm_7I=A5oO+sS^T%E>=%4FviqB^PgNwElzoiL7pFWHz|*5h-F6 zAMhwtUo;b(VG>?qGco-KBX5hq_Zskiq}p!dcaigMPTCeBKX0i&AL8{M?8?z)L$FKF z{0j4RJj#0)&p#N$&ktdi{XSw~?)*K*g}jLd=NLVSgt==T1y}{xbhhKJ+p(Jp_R?Qb z?L=!DzgOiRo7+g}>oZddx3R&HbQ{-l@-84TO^N>>448h*d+baB%nk8H+j)gA|DivO z*e5wYY5W0_q{1`#8A3VR;F{_}m9tjXRG_(pL`*rWqn&@4Tv5Uzn8~#z)ismK<}wIC z7Fe)RW5)q0_Y4OWe#)AyoRquo=RCzpx#v2LBzH|d-TxhcMIyTH^#G1>>mBvO*Z48D z)jZ0`VGZN|H8$=qBoy2=gDjsLc(qj~Dl5j8&n;&)i_p`0bUD5;{jXK#H}&(Sv{wXg z%DobRx2f$x`0->Cavy41(~-D?7@!72_o3c+Ch+sjimD^M<#Fz0z);s4LUPF+YnWHY3P^I-9HmE2?tqg7AG{;UkU=%w$@J^+ zIu>bft1p^vwEu_pO-qtbe*~+Ps`Xt?t44=LM z6XVY{f#!7AoMte0|EqlZqI*7t+#kcI=ac1=V6ysO{OWal@Kd&97{mK|LBGeIHi?}R zIhVe--qgTtDnP~=_IlrvAwyr4bBP0Wqkqk_@SP;*k>f(gd+lb&{Us8++u@FT7ZHv< z@Ui~!x#J#siR0d*TF-yF_m4^TH=`v@e}gwo+W|whUg7?|1@)Bv)eT=_`UPQqg`75l zQ|Scl#JIm{470@_kS}E^GIzL5v`flyfXqc?0{a2#_k33^yNi`A2oH0nl+CTGh`g4T zq`hn!W@zhpgIHw~UUO5i<$&CZA z>cOUqc;X7+dh-;&Zj-T5k&MnyG;aA}cY4ql)TrU0ldxYLvK!GDeZ3f6zObJvtr3zF z=~~p!k9n;5i+R#*y4##^vrSyLJ;+ZMkk1o%GmMmcU&CEv{4bG37aA`9f!p*CA4%uO zxW_SpzVOE~chbPmK>aqsEQ-T84_t)H8)tmKZ{mVYD?6|Ck1bc@g6yg_43AF}ea@!o ztmQwH@9#d_D{(=yk%$=^ht>r&J!PorI}$YZ+I#fcZDN$y)GFsu@(tJHma9(Va^ZH< zbprU0Yh|b=a<*1X*p9%SfT$P|ND~*Z`*O&&j3b)D)ge>z7xG>e>yhm@J5vjnIqB(* zPI|`YPTI@=HTU%8Z`^#*{-%7eZ7nv@y_4!ol}YZ}o%tONi~~}Dd_e0h`=iLd9Lc=j zAJDaQ^c{cJfUMmC^dxt!&@2Jw0n#XWK%3fwwK}%7>m2Uo*3$s2iSpg~c)XLlV6v0< z)oV`wQzkjy=Vibpz#jm1Lizkr$9v#;C!?6Ba({3#4%vtEi{$B^rzH3;ETy`-FN}zt zoq=-KP9^&a;3h!Et%CvMpIE*pv;Tm|YlH0Ta{Szi@hmyD3*3yIP&r`SxVF;p*1d~z zp?@X0Yfs_#0pJNh#*Gm7<`u>7=iF z*vS}B>!f~U#6`>28$WT^&*;S`4NV=_+($h>1HO>Fu-#nypAwcL(^SLKXPvc?k6J$Q2vR&k$oGIwG*aZUmF@~BUp2`mX$hdTO=>4Ug(U3>m}t| zNBQhN1%?iINQ&P-2K_o4>D$iMe-Y)_Xr6JK=?D^Ily5c$`>Mp-pR}Gxxh8EtA`Q(0 zfI*U__3FvK2LXO)DE@zdy8sxX_@x!?II209+^r-Ry0ON+0bj7)&HGutJkR;A27}wY zJ3N7zo+t{D36%@gckn$?eP`;iqrt89cmP@l00&84SRR^vyRp8;C{_7C{`v?PN^E^z z;M|Vb-R9%T+y$Vr9rq_`uTK~9M&!4S`z)&+zF?&}IxKb3ubkBXu5;4A-pR>$9n8;8 zkdpUJN=$#CT{Wow?ePO zdw*fMQ9CVl|4K=6(!j}2fSrM;ac$K64|rRHiZPybng%-F6ZZihIVlg<;YU8^WG}hS z$@}ZcPX1xvIk~I)JGoC>>||a4HxT!7iklzW@3sC`#&k{U@2R%>LBf0~n#4kj0U3OW zuF>&|Jb|CNZflM;7UNovwHz;b^J&n7vQj=D5ZhjA z9Ch7pJiiy9Hdyd*E-a3j41YC_8r{hzX_X_vQ(Z6rQjB>dyI$V1D2%}bODT=^vrwtR z{Z6>jH+p>C#UYYE;#1Y*d5$+4Q>`h`<8$zD${p|KJ$pru7uTFQuXI$@7ncpeHY0Cm zAz$YK7Xp`?lC->I?$GZp4>RW-f3-g?x1ttJMQ;xOU)0(Eo$B{>#&2@h8NRqJ(-oP! z?n=scwVX%E8PX89Ug=c7TX}LBb((S5OVH8rzNoL8p?3f<8VK||7ruUb3;HtdY3x|R zxXYz}__}MsN>V?ZwTsWqxfS*$9_Y@a^o4Dk<$MpFn z{Mzx#x;w~~z!WJyKUDcAth&ka?`6(klIJB;oRnJNLO@ir#(lfuS6BIQ`iz3L2;rFb2Uhql%zUFuvAS@F*r1g{b=#B47 zoBDhNT9V4eLy%kntdg9le(-&d>L*P@Qvc>v@VCkp^=m<3oHqdm7#cT?*?yt#kMoEo zxDh@6kGDMo{tIhK+NMOi*7RC0tEnms{8(#e3$zczRP`- z<9_u#-;Y5H%lDUCinyVVQ`~$B>gUI85m)zKN;%0C(QTPRMip=t86v~^fa-&u@l#ku z(((6w(91Q~Zp$gqx*E8H42jn&y$3mwJ4Ax71)c)%Q`a@}WIC;Z*9TwSmZO0afJy+% zEZ?hcS;TYgQWE@;s*|+5#Kc+_m}|G?Ov?HsAc{L1(DI5tUW?qyyoO!7A@?UimpEq& zrd0I{@$?oEFOu8x2Yx;QM2|+|oC}dVV%7io3b{kp>INZqZz6Zho5PPjPjS~z^|N0h z)lIyE(Q+$ryA(34pIiQ9hp-D)5>lqLPY+L<%b0Q)Q;IBKAw$b zxGk?6;vln0>2e+(PsgkG>UmfUm>9A}eKj6w{RI^M7bG2z^k?K@b%Juv)N8uqzF6nD z&z;&UJ z9*4m>j3e=I#0;79u?{zt$)6_}~di(TDVRZ=@g z(M5g|zza(hFRNx-OMoiHEBt9GubIq#s@0TL>(Np}xhL~RNbh#ED0mNzO39OD{-WjQq8eN8uAo zW=hyJGG=?2ekAyPdAt?eq9@*p;7?p01)ndEta5FA4)~Aa6L~~(R33?gv_1gf{j@UT zZt$Xwpd(cyDIH>Ktv{G+cl}O0fvs^TlOcmgrL)jUnY4uOLH*ZB zEq~idn|!pBe%kI%dQ+~GzNy8@$i2%+oAZ>DcKNObOK<-s(Z0eWlGcwH(Rv9#klgkA z@KX-dawUURt)D-xn;bC>a&!FpD&T8)yv+Q9>{&+I(1|H&H8E>l`KWHx)Z)5G`q-c_{ex^Awor3-$9VA}-eKW7J{yD!$KklO)#}vNgdk>-!Oq%X^ zRTYl++}XV{j$xH%^sI^*$E^P=&3hL>JZSxkO4!|inw6yUDZ7~Sj=yS8R@!k)7`weS z{C`nr|Eqs&o|i{t{KFdxGE*+&Ady0M{r~XY=XH*|kJ1yvq&jYE z>d4@@%cXwHdi7C^PWJF3)_)7AebaLHcs@t*BikBxIuqPq1NGFz%)g7r!K}slFMy?z zOMa|zi|TddpRnqE%fGid-z?9Qxj{Np6>ts^<^OiZFR?S7<;Uwc7(O;Zilp^Ciy~wJ zIg%6Ns5mPF0He>~E9?B?nx|O^qF*}h<}Y}wX07A>vdQsA-RO9u|Lu6= ze+R-oPI34DfFIWH)OjMjkPX)CyBp@f6qw`gMw!Kl8VV>sdSl*D=zDkH1WMZ;A_pmL zWZ_$&Aju5*Cj7X4?Zu~ z$Y;XyCR%=C${W72<$sU!4-8Fr!$*{zF{aF&^wPWut*uG*I`3F+_!{_DvZCtqnXOO4 z^Cns!wR@D@_oY@Dn(l^ra{_Xkl&FH*TUdtkCL?42dyYZCHar9cyFTUp4!LpX8g+Wc4wsZ_$yAzfXf~4BHI)EqW0!d#{;%pMd5O_A8+Y*Nj6I8 zfxg2iOOG4xu*XuQ8?!I{pC8-5L~7#Jo2m!fk9Wdyr|WaEKpSh6CMWYb`8iMo$dDi( zi1@D~=2y$!Z&tr1t|!!obn2VwgT3?Eg`~zEg0pFBnrTKGrI9`kOfc@%pa&$K`_Sk}3E;MD(Vu<;Tnbhun7JhG}tIm3;;?nm={uST*BVA#Vmq@h#hDsOJpHF~w z0iQ)jF&`e$1-~_qxtnhBpAYv7(I>5;?=8?D4!w^TBpGwO(SqGP9&DG=@=G0W;{OHf zlCWQ+<6}ywN&5wJ)SK=Fble}sr@#6AB&qK`c>6yb#b+4~lXUF|k&aE%^^%iC<|JC4 z7n3QG8fM})4FGlkP5|)LHxaerI}7fnFZ~C3bTRGnahLm{+OPf&Y4^Pc?PsF*8M5oV zUq8-g7_9ClJLrxsSG?m~!{=8FF7=&H1NSGueA^hGZXr;bVMLpJuE3D-dmsspO$IVF5X4W5Ws&5PHc1 zGplMVtp{uT*UiTu8OI_on>bF_GP!N%o3iOVtF^_pw4p=TFWqBgNo~n-WhD#BCbLy| zRc&NOm;1x_6?J&|!uYGP^r1XQ$La81vXv`$ zGa+&H7e9nfwa}5yw1DGq;6y;26bT?l(HFZRe$JAvD;9V8RF7^hhXhIO)xRjh1;9m; zqvh}Me5c|^<}_Y>4!F+;ey8|D{dqHy&d+5=9_FiKjxfh znyJQf9RCG;42Tn8ap^>PX?c2UKGIcwg#94q-P`Q7+Xnw#l(%~o zbTa`N;AaA=G8zO z++lrM+t$FIz+u2~z-c_!E+tW3sVYg!`vh3`H`i|4L6mhlAc7%%L(401h918MrtQys zV%r4UA3vp*qDe_^+h{W3k0<>=Cb{x}xa+0%2M%e{zIGlc@ekS%Y4FtZWA%00(Q+;J zG|~64wEWB`ww2rR|A+IFl_V$A$=nY(-07|PL|R*u>ci(DaVjuZvZCr!X6uvie4^Gz zSPgF?KFb+;4WYBl3CL~Y+VU;&d4e$ik>9@Yv)f+ri~Qq0`hNCX{cSx&a!s1h0modCnGE zZ6k-@jAPInF3-raijp(O%p-e#ZCQ=-B~E_yiQe>_Q%z}q?7ylv3!TDOp6pPQ>Ff)5 zjpOaSpjY(fq{{j8_*C-j$edc+LgensK8=5L`3-O*KPq)-2}wid=)rT@BaUTkp2Hik z&gqgD@*A|(O@ByozAQ>^R8R6|t#0!ICC|BD3n4^pQu>^S=KZz*hUd!`^5B_{H{l}3 zJLzS|oBk^EPp9$y#LFD-uDyMPeRqtdA7qEd$al$2{as4TSVHU1N=Y>h6wq_-@QWF) ze^>K$(*NU~FY|N@Yp|Nh?|jmn{}4Iv=0yFNAHwrxVU@u5 z$QRL`Z^k!27Jky-SWWwBh<;SRB}k+5Vuqh7lzC&&=XH5CPkOp1j-m+5pV+nVyx3x{ zKaCZC48G{zCgUubHPfW>_afJu(KCjWI7f0Sy`qJ33ccjML#|Xp^%Pf&q_+26uv=f> zb7j1!DO}IRdo`67UjVO8 zlIISQgQRe|;pEY^9H+Z;r9_b?Ce5B9Ye5 ziP*>EDDla_RF%`#5u?V89W(w2imKP^jw~KKdfLbd$BpmZd9e+n$4;0qNf|;r`{kn7 zXt}uNbxn`u?VdYX<6oigefwPOy?HR&bMw@RK3@MADi``%%frgq9E?>Y8h7?Ly`qu-%W59i(auL_n|ItT;3_bTcpgL)~BG=*a2jxKTD4kUB-vXQs zoT=|gWWp`H>;}|D^T4{TP<2ZCLsVoO`yp@yt{PEJXX_H5fJbv25>PoiB zoic4=$&@+MCi3myvLh=iW|mb?n-*(sc=D{7gt2NO%NtoQ3;wHo{JlFLJ*lj!vbwg0 zWx;ZkjnT%H)t1a;5;;U);%J_?6EF<<+{AIu=*HGK+C$NK!Bu$u@gBBz@^3i5D4Z{G zGSB@;F?il~_GqlH=V6IGjqiv3NRh(0?WgL2cI(c)upI072M@p-F0?UX-V}~M0d@w& z>F+d7CU{$eib#Cy)eoGM?>=`@eyDa*md$ZemUF#wu#>X-C6M%Sikly=Q6*D&OA- z>w*m0G@ZEA&5rlc=e-g~ES@>Dn!OV{*o_sm>uR78XjRHy>JU=`wHyDmrRi`8+lM_Y zcDX5>Ulh*Qej3^@LhXoW?2_mGR|$A2|KTl3YVK`tJkew#Z~O>XMA6ggaqBOk*M1$7 zVi2s7)Q)@woou-ReM&CJWk3TUoi<`eWIv=4<+Y;c)Zb_gDi(Knj2;)cwQVeYi)~Q7 z6d^OT^Yk+R4@gzt^g?uPIFht`syizQ6C z9*rzBHM|*-GR&uo5|=eFuGmp&bEPZ#x~@xoYS%3r4DuUydDPCOOw=d6lzH}uWlj+j zZsdC7{CVZI`j5HZP+2?2Uk4M*j;bG;vH*No$&_;(@1|J*cH^c+2BYeekIi|jY9qIN~j_QT*{$K&W>F;Vs znPEtQCn;+G!}0AD#`Gyyo07z`rzTD*novzV2kp<#fZ=w7!AtoYGIcK?zCeEUo^_eOTi;gDFmc6#lS@1 z&%iyvla6yM?@y(O{A1Nq(}6;RBm5hZBWr(Dj)6z@2ol#GEuR68m?Ukh8kAp1MY$4kosW>LE6 z@qgmw6Vpr5@-3o#%y~%iQei(s0LQzKE7tOv@+FR6Oe|P@pC@%Iy$1g_=7h@G#B~R~ z5-+`a9u`jn$41)U#4}ZIkSTR@KH{IB14Y0vrL(crI63^O*Xv{!vP{%P{B}nDu6FAg zjNfJTAj^Ke)B}J+fSpypH&<0csX_@sTTebipKtWacvxOUnNd>H?mcxc^&Q&!J%Ct$>Ss#W%eTfw z{nv;6;SG98EiEmRWew|ng%)TTqRZPfmV4Pe5y8_w|nn%v9u&WLIemHMIS#|ALwgBKB zNeTNs>My67IDm8hGm6AZ-AFNvJr{m;pj!dK5tT|?AAoMGaf(zbl(37;>nUAiE$3MN z5+1B~yfn4brhevAI%CTglvUVgW75(2u~JjEFkb?CuvBBYHPGq@sQK6UDHeo)s+ZbK zZWd{sHV%jO; zcw^d6AxF}7m+~D55SE}ll}@NWl1Ylq2W}Ffl^Qb2O&=>y$#c@)N{{v?_T@O(%(SBb z5pzqgllGQ!G?i3TOsF2us5latjaiO>p5NZJ(83={J3;By@oU>VZC`Rn0LREbCdI~2 zxv+!n`(NaF^}Ds*g%b|}PwIbOnjP18X~;B-6LjxpjpOgd4TewY+Z#OEE6#{eX~sBu}3#qxfcHV zdW`l;T@J4Z2XrIXvG}ffSN$wjIai-)^nd8u$hXk-<(t(BX}1F!(+=yiv}$sRX{X&U zB{C_de4BQEo~N*hIfTn>@-nvePrExB``Bf>C-$Av&f4E#@R!rc{zn%D0R zzL&(vWAJ{Cw^ey}CGDO6LV6xOmp(vCp*Ah;dqcrXTgvqY+Di<68le5XclG&KO3Uf9T9!#gfYH=i9DgqojNlf3 z2O8&s;-oWXvk-(mhou4Ar;7$mlp z^6Jb#t`bX*+bX9hIhwEPrV+D7gdem+7$cK~F5u^*uJCOLi@ z&%y9hXeXZ%I01@g-p*>vIp>F+6>u-$oz+*c*nrM;JNC7r1+P4puw3XW`B_5WunD1Wz3tTKab|ur20d2*Dydw z*fI5=^jj$fwbpU&zDUj-o)(=z`?XIYIb*DxflO+@6`Dtyd%X+GkiYL6i4~|235ZRxJdGpudOqv;kc42|2lE`6#TSSuJ~f; z;tb{;GJeOo>F>$NVNh;=T)^y0#+AUI6mK2BDS&93vw`0L*UCR8#q3ui9~m!;jW+YE z8PB}TIkKPeH-jPLm7Ab23=kub4{Qaf{#wmE>eQ<0DV5{PPM=y;A)E{857B+^I8McP z+zw9~MT$vY#sjF?HvlmLKLK_Fl5Eerc$B0vE%X>UXFM%A+MX>nyl_-jT8oz)lMjZ^ zf{${lemRpe3s+xJd^#RTLXQM^{q|#opYb9fAye_Y;4C1N9tHjdz#KotEVq_xW?4m9 zZJEB!ZyyY`Lmsvoi@D$D{3Y#LXKwK_=M_o;-fr$LedME8nli7361nQF0 zPgx9MB&of5i*ih02O*gzfv^0CykOTe(Z0qXERhXKbhTP#wcI85!H1T1{BKRP->CoY z^Zz_3P6A34{}O(YD$xw--;gU7j1-gqfnQO;Q|L<7^YAyb!eH<+8KUQ23S2|R4uHyM zSNbX`{gPQ`XsP~}eu4$eJXi9f_=|&+ussOsR|w8OSouLqXI^G#dYM;JxAy^YMt1}v z^3!YjGxGvNOZDeqXx{+bBzaNwgTV>wQ)vfz&qL)r5IOautz2fQ=VD3_(no}rnhR}v z3qQp5C3%_m;67r{^H5ff^r;@`qdNqn)ko5Q9|J_qh3oD7`SB#$RqaSYc${7VZtQX9 zD~dnV9||5P_Zi8Bj_@m)IFsnHHFp0BSq37TGlWvierC$M(mbMaKGg9Fnt*1>i;@F8 zicmXYZ!_0exy2XF+}GgnG6^#0T?|}DhRCeSZF2qZ6N6Lba|>u-2{V^VUc&OI^~@A} zzMfhLu4bTB@rBwY^E-0Yi?HpIoL}ua8PisP8~^uLzvqbV>X+tZlxzZ4YrCu-!N$W= zMok(uV#1`6^17&mCrwKF{mnY+XXvI_y7Zxb$audkpt~e#ykaNXuPZZjGA$kAAN^{8 z?SP+X`-JZo`Ce5#WlHggBa0_Z88c$+D6O!{ef`8q6Go32J8JULW5$l1IAJnu=!0^? zdu<2etNr!^4gvPocKCi|@#G_iPbi)=a>Rsj6DN$PAtsM6o;dl)2~+x@9Ot&M^1jrviWO)+sN1j5QVG!X(*dpReR>7veGk4 zE6RwXNPbfKw%_=R&-v>fJs=RO6c1$FW z5wep=i`UQhUjq5vid@>S_V19BdVeEyMUcNEyfYj)hO1qHBA}P$_cKtE)L)Qt5WVi# zAUO&93qd`d`J$;U=1}`?%~)$oGxl$;)D5E1y9^{^eYWkGchbv`3Hs)!!>S zqpXx2@P?Pvmd@cOxi7hX+hU&9xY7j_fiZTLgwjmC*Ub&q zW&KWO^Kiir&CC(h zjSg1GpU&QZ)^8!}={|M5{&1!L2;dapQm1h6HBP_PhdKSfOLwwoAISN+PX0lc2%g?e z$?1vyO{Ns;CrEpK2z)Gg%C|)Pf{3fm6%KXg)Ff!Brj_jJiZ$E z6IU1v^_5I}qA!iAoS9s`v%VGzrq6kALy9;+mWcz1pDOQ{RoAkr5_>8AcddSObNRCM{`4-^yEZ%Hz!nf>v!O&L6PYS@O zKdT)hlxS@Vu$CSF6ldm+MBtG3%%NQ~Z=&?c=53-XAzf@dx$yvUenR zPsz3Il}sE+>~|DFZ*bCIRiM23>hP+{p<=~Qg$J` z*w9kD`3|&)0me^=)qf2i<$0fv%nWBw2TBEJc)djSG2~hcZTeF(^PKQ;NjpA<77c{t z6Loyv9hRRdP(IYu(aXLNUOo%FMaF)B@^hi%Zq3St>%L;&#y_#=4PW?Pbc|DY#h;wC zvo3W~4t>B$y?L3FGI_AU(%Zku>96clO*yoG5Qoja3izGmseTOik67&($l*@l_`BsB z+9UfWL&MAdA6|RT2DT<+f1nTKkg$d%mBV+TeHU<#^c_U%d3Py5AGmIbo8+Jf>L zJ_yS@GDYn(CRWU!ZQ>>YKX#@JpId(5-(-uQL-Mkph8L3n+)3vEK>3ke|9eC*+IkZ! z$bJ=I2xRNoqYQkvR?*1Q2c7wlIe#M$5y;p2-TmLan1Uz>^j9Ozt;X_ zKTj^!HTx6!$E2A0IpF`#94}|6GVp6M4g`JKLu@=jn|N~RRnL+ev0BnP84r0I0pkV{EhNcau_A&5T(l5 zPW~||rkn(J+Sx~>!*V8M2Zn)hiXEq=5|6??k>uszOKyc8+iEyhBLS74q}n4#eG==Z z5F^Ps3@8>V+Wzh5)f4fj)xIiz+C}@><={R97_0bu)PEJP-+!+FC%q!)c*R@CukF7% z2a-Dqm?;046uVsz@CLIEJG|~BJnx(PppOkc1^s;&C|zO4TYQ7%E!Bh4UgfmaoxneN zY!t8~keuDjnPDhve31BE&V1l>$?LSe5?%+P`2F^}65Py(-^*QGQ z#@^TQkKbOEYgB1B*4TfxXM|?SBsTe{0;It%rhgG@$)O>totk zr}%w($@L@O{)-PTI^r(i9zoe@yCmL^1i#-dzXkW-fkzd8phvu%+sXZh!z zo`X*W{xIKOC-+0iO^9#9^#R!lOOluKgC5yfpwgUx%qFgN+z{HwDsoF8zq>i^+k05~ zeGI1*6#O-@di8Jy~OGf$VZ0oWvYhTjRSTMNp)yW`~!vhvf9 z^Grj-%guJ2Z5XF)Q%uGfp!ek`m$sFp@aw zVCi$E8YD0GXVh&W@O!R~0<>MEe{^O)l4`G9>rrTXF&~%v3t(SJMc0o4B;0;#pB2B~ zKYkDH!+{ZsKh!^RrG*caT<9cg2LgT;fsHVf#$Aai<&HO)z1(Bq<+ng18Ak&VdFefV ziW(!Syb$+iT;b)OBsmGohvA>#^Z9o*xaI(-D!wrPjw823a(jh;j0SS|vhtY8`2vI4 z%e~xjw#C2L7N^k>C#zd|T*#By+uS?AM8Inq=lb@)=lV@_bd%+y=(o3pp73!QJbV}UfGY&V@G&{QeJdC( z-`)o`k?!0U$%(Ri^_}oB7T=`)jr#snC^`uqlH&J|f!yrF%+W5kzQ}v-M!Apr=4GP7 zQ-MORrUNQBN!2%xHk71t@&Txc8RiX^93$^NeJ@GzLqp?C*!Vm~^LaxRf3otR@~3$H zanH5jq_5`fu6XPCO#z5h=H&s5=JIxue@sfie`gIq-bna;Cs4<^g!D*W9)pn`PXVgA zDgkiP48K~cDBue$wF|D@jTcPp6e;AISNBl;bq^QreUIiP+?ondiK` z+3p15YL5{w0z6_m7UfxA4UmpR8k2Vt!JDFtt&f!s#+A-#D^YB6Qu92Lm`r+7^ zexAU49ijT2`y5y;rBMA2AQxMs@dE5!-Yr5`>i18UdmIKF#nt(M)=%}od=1V<#S0cX z&L8dq7zO^}JIDR(EZ`B~-#~*?ICo!Q8o<2yeruhKC&xM7PDZN1-1C$q-)}UORjwF! z=RE^FCwWG06ObdL=L8=zqH(_KkQv6>d9N$Jp6O4)>+8?!!TAcHmb$Hue|-J<1i3E& z*3v57SavSx*F*{XZ(;p4V#j%cndIetiwryfh!e38*by+}pHAc;x&Dp6B}wIf2qaen z4U%Kpp)~rvvP8zO+Adql*g*KVn&Y{Sx24!1QBx*x9iQ%?u@ znNQLEEU?M_iM#dB)aR3J_n=)Eo$y6vr(Ak&CU^%3Uh1;tXXb=L+QhZ;YXje7nQhdv zUay-uzpA2~J!-T^H41zpVg2IV@4vK(ynMiyAUkmo5^|D93&_&9s+ z!qo*p@_La~IGVJ764&UzH?WUnbt)GL#}gI5-(PP4H)G2Fs66lodeiH_8@UHaZbJO| zB~O*w{*=qPs8N#Fe;mBI9AFHjADQj_{=~{9P1>J^Lh=OQSCZ8!-xBUmir?qkjo`*d z=|4;Hhxs;{+-X{nMC9sVo;uIU6@GMod<{un|5|vq2H4EiML@UqC@DR}YA;PHZ^T9V zF9a@>tgs#Kf0ob31nfi5ZHR?q$v zlK%tTEICp2`=hO2B61Pb?@(~QVA~Hn(*JJ3FZH{Rx?Kj`z||!{r2QI<9f_J}O0NBG z7fRMo#GC7nMeHwTE2@53csr&aB+!1U=lctOU+!-LH}mlQUsL>Hx&J4*&q*$HdanPO zi|oJ5%1eLF-#3`O{vW~1<-mF}q+uiS(tG@T%g|Ci!pwXBI^Y}0Q~o6)ABKN|&*$Ht zz_k+4kw=ui{hZwI4dq_o-{D|;%*vza;SC0}m-QygKGDT{|C)^704k5-FLlB{^9=PS z$$8|c_0mu+xvDpad*m~A&hMx9)pKX_%wRubxlY(lDSr5-`v>Er=i^`G4^;dixyxrX zmY*xRluzo>&3*f0*SDb9VXG=6d-<4JuPvTVZYY^`^fn9g*+O)p{V~ut7qO2uI#lD9TYznUL(|K*q57VbUxu(GmH#84 zBeXBqur(8$LbLhc*k-7f??&az-p!fT2e%SuA`Y|8-oPUB) zPq^P!@zD0b5WdBSuc$HddCcm+&CDFuD+}w-?gbt*=3dT|M7?OwTsTEM-K?V?L65r> zc#9Hno{QETI1(Vf&Mt7?AjW}%@W}J=ya)<=+dl4iTd*Q#yT1Y)7w!%1P>O#)avrks zl~YH(gLbjJ(Kyl9P(D}Cix{3SCz3?gCCRDu*YyXN^Wh>)GuQEczoAZ0+WpU+lxaM= zB_yr_t_IA0{~P5!H^J)DnV{Ry=yk0AE9DBk|A=4j)1%fZubI$++xdS1E>k@kx?hP3 z-9+g;$U}KRJ{xPjiXV0ea14M)bMY>Yo5i?4>rvKX-VIeoS^2bK!5}ANw`ETMYxZ*r zZhYCNY>rBQ<>b;iWphjRm~84ly1cAnroAm@`GR_<1n)cMBSra71CMI^CHj72h)>Gb zlx-LnGk#3jM#hm2$4a0UI3dLMRIC4`i@)i(`Db#x+w`~Lm6dD}I*&(V*N1lPPH%VJ z?rFButdPd+2{{C9yymG92|n==ni{5z@Kg9!vpWn0A^APc2fL_ z_&c4IKX1Qh;G)NC3DOdtlehobz(QblNUvj63XZn#uSp+RZaD819N;$rqNRyzm6tC4 zmV&*^BPtL0Ed|AZ+6}EwNIvy?bGfgs;^^N*Up&Q+o>n==5*CaH(4tZ=Wx#C73y&iU=uHXpCnzs- zDFwf=`^ThnF4H$8ufUp2klRFVhj!`KFD*D#Q3d@C52WCH$?JeepA~bb8jlcwGgzSbm|q3eGl|y@DIf2}DBt>YhK>m`79}rGo1= z;10=)YTrN0b%Oj6x}o@Fq-b50Cy<9Dd1Y^rtzRZ@a#L4HUcn>gB$4{vZywQc$q-QB zD-=8{d0L-D^i`-mk2>D*jso!@T^gaeOsvFf_@7ek#GHzc?dnNL{m5_f}@hZEh-9@Vv0BDFzB6son8f<%7J`n#?n+-*;a2FvgNth=| zPP^i>DgRIPe#4)gK|%b#a34ic&#!O~Z?uqzg7(`)_!G3-STJB)^u707&JQy*y+Sp} zO3V~j%iCT~7V?CY;itd>0Gd7|&jwW={>I>+b$!%MGjCsbBB18p*tyX6vZY=L`!Up5 zTS5JpdElN6oT4m~cJ1sv%Vg!t$b-vR@wCy#igZu3|&9x70xdT=eL)m zKpw|I|L;~FMITsO>=j<;Q?}yRsXTVypRO<{R37#RH}U_%nf55)JrBGnS<1JB{X@m)>*Y#ty#rvKyWvOA`i+#|?>BOM6VUnEsDAS- zx!CMNU0EQdp**qLLH_TAZ{}&9587h_m@$Rg9@t0S4uIRdLU9>1h1WjO6M2 z_IeuTLsxRH{J~?=q<-vAK|%a}z?PELDSs02hXVY*oK}H*2ViH#-xVKvB&S**Ury2F z1BL*5E4?~?t$rUsEM~yAz|Z9$lVZxL>f6wFMdFv+W1uwIwio`v0P87vg^`2t`FJ@g)SJ+EiX z`6(mC1Az;GPZ)DP&m0x8w5$^tjO_(XMe9oG(3rl@KHwzEV!2{Ul-#fB|5>M-r?vm@ z25)Vv#+!)3-m_rtoKV-x*J zwA_Cv5fV6XA@C#sZ@2jfXe0u^CG)xOGK!+FZHLFxUD9^w#E&%niCJS!YA<$y$}fO@ zB}?nwzCR^wFBCs=qWuZ|JrFH1@NmT+>Q4iAC-*?fg>L-q&RBBbbh{2f+E4ueWOU#- z#U#jVlGB9x6Eo?WlrKLArO4RvlGOoEQhHqR`~3;aHLw(zrTD{qnMkfi6`99V1lm5AH~ z`jVK+K2>%Hy{G<0lQIR}NHj->KXu(*F&A7J}TDd+hYU zs{!K&2w#&K=LC3te<%~2#2E(OD>b1%NBp6ISCNZe8EAa~^FMUE8}~2fu1p1Qa6i6# z%P4>F*}&bb8^NF0;#(F*1{@A5K*p5LWoxRomf?qti?uc=}l27PJEX3_gJBtwDR@ z#ZDU%?8d?dUgC-y*21K za`9jWMH~t08^2#NjVEug{2$EuuLQsF|6+5J2>&$}Vf)1%p!hAo9E0V5XntJVBXRx< zeqV1Op@aSe{6+DH^~P_=wUY`-_m@C#Ob6R5_B|zN54uw534iV~CyDUqHuH$eXAvkK z0yGA%{0P6#r2g{UlA7AGYI!DRdm8x^{OApx2RQ)T4*<{U^F5P8!OQ4d$Da$p`84o` z;;rM?m&1F>eH?f}{xKo4=#?l`mpP_c^Q2wC(@Ms333kDm%(;M`TA?pps z6qzJMC2`d~|L}}8Y5!p?J9sN#8_81o;q`<`^&iC#zjR)Pal>G&-{74Ue~EPS}=n(%Oj2ASRSj6B&;{Q6oJD7Kq1`h|0QufG?H}HYTc{eB8KfjOuF3C7~%hG<0 zq-_!H@)Z-n*%u>)xZ**d1I_=3z4rjGqqrKdN8=)c3$_8va+SL++md@P62=BojZF*r5+lpk zwm_DI3fLh5Lx2DuNhl%IgdReGgcf>-(2FUd7nu?;y%}5}{@-(E_U>L;)-95r|L1%D zd7g83cXs!jnbT)xcdy>B`dATLRa;zD#g}7UlmM^#)7r|VC7LG4rCK86!KJj~Pk`7X z-k`@m?h4!OZ*B)9zHsdMcdR?5{2R|brvj%-T?_F~@Jm0Zu_c%8aSCv*;%}ba3Esf& zR)Ldwh8~wG-g6wZ8){kTb3%l}|(cljErW3H3S#=7#{`H@eu(XUVpQq~uzn z{BBy0uW>i1943I1QDTp~q^^bJAov40Ft5~uXx@X|2mF!zs>jXL-Y2!9A2hzHd5w?{ z%ed=HAIHTeeJr#+UT~;D=8NEM$ls><@`OX7e3=Mt?4$>C9v)A#^Qs<#AHFF5N#K4B zSg-h-r=Nm1(9hN2WJaLJ2E|*?Z=jzqQTq?k1~Cc;ulBsw@H1?8R%|NzLBTpkPGIxd_dZ_Io-Tp z@xdp}`=`-1a+jQ$LPO(0W9vZ4_*5^xO7RBz`3sK0oiktY*7GYfD56o!faG8mImN)f zayA7yg!rMO^FUp=`v5?P{o3y4&G(dni?OH5i}|aZ#ja&G=P0*BBO~%^=x^4*ML++F z_1hksz%URv6gUrfH$ES0ObNoo#ou^-^#TjzQ zoO_X Pr$eGU+^IhP6|DNV_}X}e{fM2hlV_;L;4=Kn>1qVYd7I~M%#UB@5d>#hcF z6^hNYW5FBPF_wd7JZ!5Rej;XVdcYIfu$`FWR^ce5WW1l~?5bZ#j<6Pla*dNGxCc zzv!22uaf&=?=JszJBjUadjGCFrF3UN_cK68Mj9v6_xFM?(32f$gXqZ?p^>qD(p|kj z*oN&6?6n&-Hq!SU^tyU}1AG05Gv9EA76m1#-h})t=T6CGg`fE8p1U|4wr7txGB03` z)5{B4G1H=ap9yY8*F6VFmEvi(y()fst>YG=V9&mQTL%z5%sB2U-oRde3C&!?&yIc<-O=e*KBYe0>>T0DF-4{`s$#r{3b*5CeD)Z#}D2@9+%XS-|@|hxZ(B zZ84|XsSxqY`=?vXMz73+aDj3$BbMa7MDjRn0FojMRm2Y zGylzO27TZANn`if$Jl*40hbtiEcn;VG4}SK14jU?l-+)ru`kav_SG%MzIG(=XW&s| zU+)O)2e4A~`u%)h@OI#BlYRG3P4+|iCi{^>(X!?jwckd@d0W*!ck1LQsQwkhDWu!; zJ*mqqJ}bUJpLav*yMpg?#h0mn4clpb{wz2@0bJa#2YcX0-l7&+_xxHYx{@?5+`x4b z*}LLFzCh=Y7poPv;n)XDwE?$0>P9z_adQ<~muJk8GX6q~anODf|O092g#`(9%J2KxO zG^9lMa}-p_d6YlI{3F-8D{Srrx0A>p!M9yK&K>P;QNEGys2LXpjU8Cy=X}=efEBFJs9}n&& zKuqyR<-R|)npHqo_?<}}r|UAgB3mpbcahN0VtaiW>^8O4@A15wxGr;$pSAK!GkUwO z&pevy`b;7QS)yq|t~Ip#OhDv{-RA1}ADhWNEoeBb(ZcaIc$(JJH4cT!nW&M=ynOB- zq%Og}iPwrZ9XW50Zm6$B$=rVe(l2~z?s2XyHurM31JOvowujI8sf*k#n*SGo>ssJ? zsoRDhYES8YmoHcF2l~1O+(gIRyA*#^U$3I}MyZ8vrur&*W+Q&ZVFho&F3 zDzQkr8v3_2rp-wUP1^@AGwqJZHtjpUY1)r3HEkDaz zav6u`Zq_a}?1vmj=Pl&BUQNuK1$`3ED867T`9MdYt7-H8QNRhnIlvXbO~AvzTHp=f zTVs3St$Xzfux-0l{b}=lDQ9+YXXQI(*+kf0-TiSd7Ae{zwDzLf68pLU%9jnbmCKix z#||zjuTy6&^{IZZO!ULi-I3cUO1B$y2gnhQt=Aygks?fxBD=!JOumn%e!tfk&`t!V z0mX_t{v+>OXPp*5l$|!~I`Au_de^UYi^@w%k1RMaR#UrYNp%J9To=q)5i31%N#&|N zsw?ZN60a+aTsL@|>!crB6rZ36KXWW?>i@+qb635FYh{}coa?i_=9@O}G76IZ^MmJ6 z2F>7jEqLlzA>J) zjJ6%*YHTkOfNXNbY?0FxpevyAiTvMI2K1zN@cy0K`9(+G-CvI(%z!_e+$H;9Dy9NL zSM^Z-CwV?!%quG?4|FkQy5e8I;{FAQHnyU&d}**^@2EQes(c^^l+t}QKVxZ**bK$? z`UP!b(jfZ;j-~-U0OiBC;Psy;+a^y+)lNiDHiE}@%=zKSvBZ_e=5aHQH!@neTIN=Q z@eDbBuU`Xh++WWbt`MuZ8il|57o7Pm$G#*T&xCPdHFw_Z;{x-GxpN!}+w0OeGWsTk zI{9|J#8SnNOVag`9FA`V?hu;M_4i&^Q2P(p z66YUF!VfdJ>g4l)A%BFk@52{~=d73X!Y@m)y&iTu5ch@SB>cI@-J*FN&u8{}8hBRf zoIXX?U4=jC17Xc4}=N{l|=4W;RcK7%~c^ykFbN(tX@!?OpD{St4 zZYNP*j&FV@K;_bf`{`A0^)oFb7r`IsEwj?Sk$rD*(}{Y!ncDWQk=vD*_{k>nl}H}? zOR&k@faooD-Rr*&v+YgqTuE7P;j|XbPl?^V2LocC^y-oXl7sVgwEo+{=@$0>H zc)wjfG)r%lUZA(VpvBmvcad~)Ydt?+Z+rKnHXo3n>Pu3+4fXI>-1&3Q|7`XLIuy3| z-f?89`i(%#mH)yUnW2>M+qmCIpZ{V-fqwP|cL}gm@k_EPmH@YU?*|+vwW7DQy|H+g zx_&aR)caB&cZ5F+6)`)(_^b5!FZcud=nL+D0goyE5BUx3gY|;m_eyOOa!Drd8@PD~faq}KE$I6Wz-ZNb zbM;=D5vu;Ds_&6_fCcsb*uQ@#k@Hq*C*|tHb;D28-kjdO@Il+)0s6IiX`DK~u|cULfMau{syEp8{Vf1(Fby%4!H zqF>QlWnWk%+bv)4gWgML+P=rTVgmuZX1ljp`yy_%$3wUOHE=!fZ-CgIod*;HhXH>D zUS)lZk#>ivKn$PURL< zuw~6kzwLfG+oynU;5_x6>e(J0ersc!?>&My`t6O#_wwY+Io5xRBjNi3yrCceZu~B2 zaPX~x=zF2@wHRzA`d)CuwV6hqOOv&l(8loG(L7UTm7+G+Any!fPQrH&qTjQRd;=lj z+xC6GW8H87a4=8{Agg|OtbSjymPqvN&kSJy5`eznUQT`Aq3sbUdqT(5Fc)^~vG~`r`k8fIPa-4gR^Xp6p-bFxWnS zayw1?!zSY`|Ja~KZ>nY$Q zwrQNh^F>7EJ|6==D7|`qeIDC~*xKgG8R(Xh>z3njAz8&JoBKp*% z{_w>dEz18%;3YfgyR%fO9yYYAw8wdhKd>uSB>L_I^i%xOu1v;rn%61bfX`$oeTiay z^A&GBzn;&1g(4c;*N=qVdFZA#pMk#gW%Q|h#%}vgl=}@kd$=8#6ybA2yCrv!*ew4s z6MUx#FQflE6OGgU|7W^AL9X4BrRniw@RcN$`((Pb0MPO9HvT6gyHossGB>w#O3vM0-6hW;5xEvt=}{G!qe>~#RN;7Z?1rT1Iw`SJFu&%2$@ne*k0D@pqk#woe;aUW;#2RU)Scx@b6 z#9o{Bi#qq@6>Ncpp)Jw{(H-^_&;4KAJdQHf}iHG9)GPWbqKE4`ec*x9=W+fNffB_=|muur?%aJ|n4R36hfE(KzGX^ZHw;t%Ar z1GtIC{i+oIhx`V5Otu0awWQ$}iR%5}vg)N+!m$p6?e{CUlc<*s`M5p3cYINw=f_FY z!OfVg->HH&I?n62MvmcUI`+Liy4$ngP`+oV3>Y(J>L#AK1Uba(P~?7kGDGlDwq9e4ViVn zm!(eitYKV9UrvHQut$kmtlIZ`NAYJW52sIp7i-pdCGmn;@_ugKzn(LJ|9h5Nd}Y7? z2t`-Yuyc7}Kb0ku1zb$SjQJxL;q-lHj%Aruc?++dD_irzCEyQ=hAMm{+ zxUt{<-4uV+5B`_h9iS36*4U*)WJKs@e`4fj7l@k_fJn}3n|O#EO-FBpFeh8AO|{y$TC z_56Cf>rVvhzX#x-D0Jtc+f?2W%Hv$_JjKg{(RlyaazA$0e}&sglt<|}LEA#|6#RiaJA?ZgKx3rl4~^MVGQK!|3*NwPhJy2-z{A?^dVT}Dxr$oy zdFGSiC8<0^zMsdP?|Hs=VBgQZ+x{{r)`AIY;b0s8)3hBu<`5{~XM>wrw*GHO-8OhK z^J9Xaj7s%!7`Q(G$fdv^iC6t!q_$parJkN-A`i(DcL2J=DJV8vJ8iI5Dx{h$k>??p z8O&qMtZ`2K)+_Et+wY73gJ-{vhuD{DsnV^}la20Djc*5lk9d@qt>=ZW>BP4XANs8E zLGpQgNnUrwmnr{3yn#Ls2j@N_x6#8jTsROY2d*+^!3$u*Qy_E09B`*+N&_UVvsL|UBtP1!{G(-BRL%=& z;qJgZscO`Zr7d^GANa8@;NA@g^MZ`yzv2zz662jb@{PPO{`uFNC zhkOa*61iPo4A8KjvAu`>@j`H&QOhkiTK%zxQhs>ewI0&{=2#xZ2z3#PVos+IQI622auxjIgtBr z0(2bW{6>TSuT0fl34(0zl zn6ggWeEz``;PR&p>2EzBeYj#-S$S+)VPWCo#f#?ce(2%_)s;uYN)KGTpya?6i}gjJ zJ@rMQ#fuBaO_)@;sJ5hHX-W0c;;PuHeae-~mUH2|9$Kn{?116%BMW5=*P^1hYn8y+X_sa>u2|Nq&L3YSLDZ_^4nFYlY# zyhjwP&D-p@1IGDnH`=3S5}j8R>FfJuFKz#Qvog9_y^L3>{F`TLH{Z?Q@4&eW=M~SH z>*v9udZh2{kjoA5vCa-)y37m*WPnW&;e|NpYW^RwKk;W@RaP%AsVMtJNo`qW#r&mQ z=GynNd+RN)WJyhJbxCP$-ges?Z4Z7^infPbWxzytYzItXXBM!xoCUN!k$iIiPX!Fn z*#+pU|E~+g9;pz><#J*qxEX114R8Wh5<*p?LaqFvja|{ z&c*jHI3rvjx(qes8URmKpqQ@JYF@qF?ZAVo%jZ>A({Ij6 zQTprr>$nHilvOOBFCMa@q@1rs)GmruA6-@|98249t572+7$4Ha;4n^Q5og$ zzrgUe!(a!z&(58|I-nh({9TKF!WVs=d3*djq^x$uoRXSm@bMMMQMA7=)21(hZ=^=` zIHFfBAIq4pLMPzsE715HUZ|cc-p!?SA}%T+ACCKBgC3_ek2FB&ASLb3tI+u#I-TA9 z{EE@ErS@Zh+ft5$b zDln1VOKMBR1S+dzb61s?*Db{~=FL0QHzPxP7}(9-uQ9xco-tM#I7;fAf2xdIf*wcs zovh!j5|6WkRh6LEKh~|p<3mn0*#mWMBB2+Do9v!Qy1COlV53qWzWl_&M@hv}|eVZngVVE-$Mfc4ykZD;zELx2z-&yaTvP z>QsK;mNP)azd;~fzq8fxPw)qE;|*}%2I$x=I&U!WW@_(qElK9jB6(g1?)u*I?FsgK zIt+H;>+o!U;3z6&;IDkU!5?(RY1@b6 z#}f{v>eKE}`T$rjb&lT>NB65+xg=Jdw*7?o1Ae~=?)L$g4~X7utm84KiqOb~ZZf+J z@dk1EEpU=&4AQP3XA{Kbf$KQ)DX>vb`SZ|iDsKzzp1H0;W4%0|WWS@sVh52YTk(1NMGeNm$vi)NDo>{PKrN}6VG-G>IJB;SHGUIoD^>$r+RP> z1#~_jDyKm_$318uFj{)#N-{lYl{~@@IzFKP z9^vQZ7L~4uEv+jrSyCQLoSAd^#GpE)${2spuYi+`9eQur79EeO4u^H&o|C^H-)~FB z`-$zg!uhYw?z~`i^K^rzDg`@erQe?Gx2MoPjqA}kD%zm-+U$9{s9vcJv(_?*C@sYf zx{%*|AaS0K3M>+^gLu|J?eH7P`>V^AFON@$x%QlOvxqXTh~DE?AE1MUU>{d##oii`bLHVuD?1S7)10O^cC=( zv4i8ha2(P3xqrI-ZGSbdf5+Re@7cmwX-RqMJb8A0Zgq8KwcHiGuCS@=8qQm*SCiD` z6ShZKP0{u|O?$}Yq}aiG@LLP40VJ)~_SE|W=5v(4%yeZbOb~D5rh%!o%-4wrL*E;@t@MY4rAAeE*J;ii?R8n#&ai69B`@B~5rw7!PEnQkx zyINi8R`s8Q&qeM$2Ql~(;4iL8!LRzyTZ5y9Th)hmz5iSoTUl8f+kXj*r?rx1Racgm z`_C&zuPbcox`zH!*Fy#$s&wt(-#YqNuJgx#rM(RI#V_$ATqF+>ElE{R8~2k@JyW}Q z53IKf9YHVa0tLYCfEcgLF*rPt^$-~!ezg6LrrbXD6WSiHBkH$BUS1}4@RQI#3|I^# z_^r*Q)iG8nsE(Hm=rZ#^_)Fg7`6)=4a~b@YLuLmvUtmrJhSM3&w+vn@_c|YG87&WH{69Dx|3~qQ{(N5>pTJ5sK4W|*F<9`!U+rTD zjv4(Q~LitnnDJkJ?f9YFXnq}G^vV?6L)Be)WO#90;-bdzf+F$w+csB}G z@P5dT)8qD+&Cx3Taq~B-2efxc?|56Y9%9x|iX9?)_$E*fv;$NgYvD&a>rBGG==UHq z;^z?I7`@PMr!rz5!m|!TbPN^gch*Dyq}F@Dr2G^+XnV*>;LQe5g+mK`dB1)6dT+_{VD#so15kbvNrx=-{A4a=@XLyq%JJYD3W%+@2QuQP z>emomlkoaWj2$u)m@RbFKGN1##TW2*5N&47XUJZPPv@&jtINpi%Sxoim8AR)+llPd z4&cR*J%ED+19l=BOc$t`3d{la@)!*6mB23*zsMuvpQKJoQhqsk z2;M**!Yk$|hKS2elt&r0b-)@q<4Q98t&^V(c{`y0GD9>!As-zobNgE4W+@y*;;bF=DHr*>Q|41W{>*y5i1ek{q0E2} z?G5ar?cP)!JE{&{5_;+Mcgwu_bNAU@Q96AeIs}}_qjtK=gW{Yf`jc^*yLxV+>D@+u5rC;ut!uy8i5`#y)zGv4!;ed3b);+y;bN=ur6< zwYM)oEV2z+R;S<8yL9lAI2_#rA+uD3&HyM|@V|0sQMwN6|ZdbVrj zkNsEU!c^8P+`N3WJBJge_eY23w@6%wtR(n(*864bHS}}wZX6HI~h5(XelPqcOn9z>Pq+R&MP5!wuuF-a-u^xe4wt*CwDB>}6JM?zy?v&jG zdN+A`o2yEyOID82^D-aM)Ov2z4!OT|>~L5IY0Hnl1a|nuFMMBobmM4+X_LbfjL&}2 zB6c|UX#QNqO=u-9LHM}Eb9Te<*Tb0OAJ$phVux3{Hg$ZO?MS!3?XUXl_kEt$7!`j@ z^t!^Pu4~+0?^iT-sOAdB4&TKc4`Vz&O!uRDE83A>9BG(GdHu4(rg%GLo@SW(Bw><_ z=Vk#50kKmVqbJbkgpON2*?vb;ZlBugupW@0=(vxZX;=Z^>{0op_NnvjE-t5GuOWVP zul;clIUd}j09igs$iIe>*$kT?wZ4B%`2lhdt`<8LmXUXwf@94xqUSlFQOk<%nplrR;3s4 z6XtKoe)>IZ%zy&{M(cyt8Z-E6;29q9dljIc`M(F40n2B9BzQ)iX3RJyg2ol|VbMMS zlQ@f+!B|{t%#szrDaM@gECB5@)&X0MIh&Ds{!_-B!}c87@rPdl7aMaf^v}K9m_MEY z5N)P|XL_A6e|iG=$e0_Tb;DncxskTr$Ry}Z+;?i zNo4yQ^Dv{ghhH-0*`ETdjd`voZGhIB7XY^#^PhWxdXqJ11#pVVy0t4X8hFuU-M#}b z40y(5-ElH-xyico2$OYJPhhgiy1Tu}`q$n7_wt{uS&!8L=a{U==kuSrPXZsBtY>aE zS1tT!J5XwO@JF8OlTaEqgi^iTm9GDAiH1=BF-n_QT*z0yR_Ga35bCI#Pd}QpczXz^2_O@Red(Xqh z-a8DKZ|wcN34cGU(GRey@*wv<$h{A7-xG%c%;G#b*4U?a0mcE~f9@M&pXd1bJB@wi z7T|ef>+c8NHg?@@rp?Ze0PmVMyZqI(={X1}GHv)5!ZtTP32Zdkd24__nd~7K0e6@k z^UnruGF{s23sjmehdgPz{`*1TJ=1;Vfk2JvenKuV$#nmH74Uo0{rpc&_X|3i?iaoQ zd}+F0{R;4{>Hd#O;0)9KrVmZ`o89cIn0$*CH@~fZPyF9J@AuZTzg`HT7Q;SeE0f)i z0&M~Hdy-du%>3^B3iszrWjx}eYqd38;r(sP#S_V~DH>1yLzBJ*HcCyp{!jC6`Jb;j zB|Kax7+j$@cqH%z+sESZz;j+`XW;>#JKWu2hZ8Kaa6eh+Qz1O*3Zxt-L;RqTqWJNU z&rNg3c6dK<{~dUMiX8#Pe*-(6^}rHk?XcMZ+US)9|V&oS&-TU*79pH7^{9}C-hzs!>i{|CV8;_$nG2emIxZ8{ zZ?x#V!0UcoHoxNNlJc^p3uF`@V?j;-lQBLH)cd2?7p8K3qvN#UWRMg){A#xyA*sC_ zlTi$RTy_)e2<=JPK84;k?|XXvv%^1w2sAA-#KT_{I^wPgFlJ9+8DIg8vw|lQuay2f z$vd2KJDp#A5^@yvBOlU~_kjOMO(edKZE!qBkCXY45I;Jq_{lAXlkE-vQt$teU+FB_ z$8et1A5MNRB{lz~{Peo7KAlW%`11~f9WHT#VTHK@XanpFX#D@0_`gqCg@1K{+BD>< zeo^U4t0{v9@v}2o^iF!nj?j4mcpH#>X#k*nl>aI9>*0F*ojl&>5)tihQ~6Y?el%>K zbeYmt<||)>FW>7S?d#8u#8J7R9ncL(Szki@(lv_a0ndR}LO#WgCfAdG1bXdcio z&Z%CE_^sUG^@6N^#8rUW;?_09`7X2?!x%A`@d)|-+{YPzbYt9cpS!Cye>32Ru#%$u zU=%T8Uw3Rrl)#Irz&=!D1IiDv8{TKG<)ap*M;^%66Jm>acBf*wyUA$(d(nS#xDkxQ zW{ju*|EB-sbNhK~^_RBFCWHQqs43e27ijfLcWg&g(f1{QR7kR`{g?Im4fJ2$c?%!! z%tQ}~J0ng;@5G;e#(w93?k}Nv0&qGN;!D%d7e_GbAVq!4iQxVXaGKOa;{xMnXWwb( zi|R)@fb$C9{?FMTDfq>X{!H7i2bi|d{9oID0|&Ch8q{#!IvT!#3)=!c0qjI{Wd!4I zT5ho}JK|b^XgmVj8L^HrzPC~^Xh~VlUvPPrf*mp1_c!f)Qu`~SpnLI{dy^j1yj$E3 z$bI3sCGtsl;Ga8E`a61hqAy=S_CYxoH}kMNu`T^f{s%qulZ*#Oyzb@uCHrdwdOlFK z3_a&hA9r2QIQy~g+YxWdHbGw*q@@vGnc2z5x2b)7Mf)XUE5DdlbEToYqWoH8vVOp4 z8CI&~zvFu0(|BfD*2M$846wAyHf8;$57GeXif$c0*SSWi{r_6`ZN9kh1b#AimJUDh z==sAuKfh+byWoQz`Mb!Dl&1KZY965N53F7F;S zd3^bbFOtXQ=h7Jo{*+{T);i<7{7Ogt$NsD1yyttYmd5` z=+}3Un~vx5%b;Bj@Dx&hZ9v;?_4yEH%^NQ+&-UXvhg~m>))z+Wb)7rEKrgcSC2l*) z_1EU(Ir5K{x~Lx$DW`1TjgH5ndZPaA8|a)Obi^J{Wy>6#84O6WFM(^DcqDi?haE|| zJsKaBzL%*!M{piwon5gbiMvb&&IZ~5Vct}>vZ|c#qwy^+H`|&9A40l}xbpAw`5NPc zeBz-Ln@_kj{{vJ5ZGjwMtF!-2>{9d{#XXH3Nyag9sMM&Pf8^Ks=hX4Nk(G;%Dqq9{ zu~n)!I$lrbd1yzERU9cwkIW{YxrKa5hrIs^zvGh3&-nHWJ`wFBf`jcJ0FD1!qyFng zYVXo3lKL-iC(m%lTHqCjca-;j4o6eJs!y91#cF5FUn&!wTkl7oo-D0gSy)q29;;ba zSzQ_{EU79hTvk$3TgY{T2barPccSK)lI4YEOAF`kK6tQ5OZcLj_)pYcM(xk}Q2xw^ z<}(J@e4UX+{=4oboBshjdoM!P&9+4g6fE|FGQ&8H@!cNIw(o?h0x(n~-|wex=iZ5$;i+EKdpLj_O`P zKCE(o8O-8FDR$&;v}F;ngd<7jRPI9WOE1UWm&6@c+WgY~j+`Qtyk5_TBpL6>{iG&s zJr3~&{A1)dav<;%#g{3c6z|`~Pr)aZ%K&he0HyJEevh8}0F#vOAwEn=c;2=*xQ;aT z?`OsFMeSGg>RWy8LuPnuQp2x&ZR6Y99sI`tzlihUi!wKH9MPDhctd?@53UEizP!Tz z$%0q(<$uu?IwUDT_#Gdy`&R#6+Q{RCrfZYT6^}d@I8SO+kG@^ORQ$fN+7*>cllIf; zk>Ep*L_RWCGV*fZD#a&y6p@eANl`o8km+~WwEgf+>3xnpJ`KGa6|czu`z4i2S1TEB z7wT74xA!{*6}GBIqI2aSAEZ+3BaFWOKKyrcL;E)hLQ z+AqgP!G~VyduKdTK9Y5ykwk6LAAZDg$Tmm50Z0U(B*h!@3ki%ODrkPb0SpcSI~%FI z9e9eG9f4g1?_;9kqnM5Y*aSNJS?g>R)Q(qqY6( zYOCsM?ta-UHZK$YSX{}RogGx9fzKZs+D8AcroXspzD^-Ykkh634c zeKNhT7rRw@=(oz{8;+S18Fjk$r=DLl6CJmsRsglYiE_r3r1~AoO{{}qm(bvofp*ln z4uc(a0TkW^Hd4_UXhpgG&e2r4?MoZT$Va*SATv1$zCcd+?oq1%@vI4PVH8n&)HRNB z8vN?SU9Wh4y~(~GvD;A(QaK)249YHm@=M~vi|7UaXFIQiFY+uc=2NJ(@?omtQu)9Q zPc#r*`NE8RUH(A#a+S0*GdsS;^+x%)A8mUESSxj!w>5h_MT80Y`YpJ{&fik}5kEZ& z-5T|x)C#}p{|5iwSoAxS$@D+e&(1_MpDSgtQa@_F!)!-=0k6@~wvSV>6Asiz33G&t; z7pX5YroImNGw__r`h2D7+;+2R`~4i#ZbAo$1Ra7-b4q4%q?KA!jtgk@cwnMbWhO_( z2kSI1k<8;M@D(Y(h@Ffsq*k*D=%j8B(u z|8DF~-srkByFWE;=g$y&TI`N@nH@g= z+;q)W@{cZIv`!+Pu2YRZN{QLgSGsM1coQ-G zCjlSlIToofDif_sd0j~8ZS&kl{2H@c*{|Be6Ncm-@a77D_Ae%kOE;ZMft!iL;>UMg5FXS z^|u8(d%9c7Dj3Si>Ev-u?YdwX_@)8OW-QlvRcu@5!~FLE{Jx@0_=(z2!M>r`vFoh2 zd5`MeWAq7fd-QPLmEs+$7x!ZB9Y6K+jR|NP9%OAIE4q_6@*g_F*iyy`FHSL8?|;fW zLEVkH4Qo66iiWo&9!J|%7;RTWyO!hc&>MyVb1RlcXGnbnc~JskyGKo`tS zfH=E$Kqzmg_cD>0nZ6ekb1OyVOfFk+FmR~Us6IvIs{SIP@5%BPr$>Sxt5N)0zx$q!0ud6D`FQGJTw&UzaRnm2>6;3R6rSj4p216=`^*G0bPp?Pim zIdJAJrA;QKkC_+sTYbZI1>hS22ka29V#RLSa6!6bn^Tj)E5I}_`+X) zkThTm{^+`uPL2ZUt_aI>o!S!krF|qxO)R{tJH5|MS>h4(?lkhXiSKzPjKBYVVd>>XYFO z<;_^J0NvNQ@E+_x<1pBQwa}#HS;GAtfEM7B_s7a7-l!~K9-u(dfke6g+w(0QK85`e zky3PAO580_=8HNJZe5Y!DTSl0H}E5!W8Qr9^T0b?C?2#JSPq;92*)1<*16l8`c2i| zT4%gaIKQd3{dmslc!8K+*so!m^?w+zYO&|YbmcYfvEy$Cp%*T{sG<#w=?fB)Nrfz_pyr$yzjGZTxb~2*XR?*@+6sLtdgzS!jZteKz&2(Er0C3r&aKs zViw9$Y@zdOwvfnLc(7DO{j+GB<_pdKo_thqb!?swy%M1(jabUBj2Fhr5g@sXi^F9# z3+ifCaOmf=n7@+%9DYvTwJ)9Tx2PY{_DB?>XdcDPMB!q8TqqG@7O*=Y39cjznzwyd zR&!9*^6HYME?1_yIrOEg6s1qrQ0T^R?3_&P0l;B^Bri%|{QZ|z)v=??D(h+v<_QH7 zL(T<7<&+s8q>B`li)iH8?${Qd%gz#@3J{s7Tx8z1#r}U&jrEkXlX+_aKWJfd3fP3fd2(9;#`A5e%AfYT9e&xAJhHrNv3nG)^yu-k?FKx zfZ6Gg7fsjqjxycGl$efRO*NgFvG4fKHKyBDT}-#TKWu;~!^5=YqJF9H5qiTsM&VP& zR+4X=J%)ed@tLE}XFRdJ=0wLA1rarg))z+WxAjw5&yf?n%J&-HuV+4X2;VtmJvoo8 z-@kFYJV4er+(VJ zFvpk|=7HfufN>ASjukVZC_nCW``i9Hd=2MI#thOc1J7&6x-o$*q^E`7%DDtT_z}mc z=8HQ1Y4|;yLNHM5n3yqtUgr1r(Jhtxu`>-2pCe9T2;kF~`1ZeFP$?G`xgJj*&h-=U z6HAS$SZz!VR(vvf)v5mre9CuCrWo^&K8#5h^4$@7_sAZ6FM%1cXO1)G`MZqy_tpGo z6Zk%Sg)z|n#{95`cjTBsIDdu7>VLk;%Hw!IM`Nz!dmf)%?c_gbrJMJXxFz4r`yXc9 z)~q%5GG^cYNjo}_Tb)Hbdjwm2e2uZsTuA+TW6xpC%y;(M^tsEl={pB_$+UU=Y}0P> zGp2pJpP1~v-}#E5>7~VfFx@uEo)Fp9I+_c67`=MUVnLmnVom zFtix+Yj3x*zn8;o$4HNU4@i8%{G8ot{~Do}5nsntf|eqDg@PS(GH|NYME%p49b0+Ow`V#fx1O>Pzcr~8!E)XvbKMed_>vm`c1(f@_GXnW7&%Psza{Kg*F-~MSH z(c_;W3OzL*-rxT7`}BWPO&$N~tAIZ{tS$YUpH(9?*0qOHOsEfM?VNuRMO*R5UjgdOv|yTXp`3eS%Kj-o>HXW_r* z&mGw5K&IpD-FmzhtF>e20IPxDa1AAGzKC2mRqB5<$-GkY{Jr`S>{IzG{TvEtOxvzs zck#tpO*+q&gnkRF*ZA@$XfayOV?K8*B3AihcVmP2G?oN2ivX7OB?PhomA}d-V!vxMiT7xU z7L|+8XCyZEr&6WyzUAaEbOQM^-#d00P^NSucH#9_ssnw?RQ^IQkpCsnIvA)^y!HGd zIg$U^g}`E9rJQjksr*BEi77&*u-4M{?PjvLhu*PxK@DzI2M?p4Q37$4QU=4;0PEXT$QxeP_act>C+XtRX%& zyhWamIEaDsz9kiWQ%jz@kIr|lL9S;7^Qx`#e}LPiEq!)*(b#qHfafm9iXLuB6s(Tp z?@Fu-kJP^Wd}~1>CB10t8Xae5y^h76z?}Z+@OA8~SlPYsb|TN@^WDU5IU&B5-ix-c zu(9^3T}9?0WIXTfRkYlVlOpp5h)dcirm0(f&SUJkvadbU?S$9d@i_5~KgfQ{{zCmx z)V|a|Fv~M;7r}#n7$@u+3QPbb72W}G?To}Boe$i$!x^;0+l0o(3n1Seauhpm62B7E z_6NiTlh-&uznQOb@vaev@gjP_cLnu3Bl3=ftocYjGp-Nc5#2d{S*z`2&~Ng_af|6E z;~C4^_qchkadzC^?2x~iQvgXlb_JZC$#%w`vdK9;*aZ-p6 zx!+!*cazTUnIVd<4L}8KXsIo#@VP{t%V<&W9)QG2pb_x;>Z73ra`PbR;RuVh5yZt;A5 zhyC3g20QLj7@Y@9G!5Qo{z&wotc04o6<7X(o zP_Kw-_&>efiM!zcEjqw!AX(^W%jd6qPUja{O|jOls1WXUGTfN57@Jl8=4Q zey!kRfBZ50U}9~=d36Ld9}_?Rb>)&}bu}beF-e5w;tb=~ct4|{af?-q@xKN%Qfq%U zO5CbITZ8_k8^;ts{zvnJ9l?D9aHh656352>idr%ytxx99L%s>Vzk0s0W+ebZCZpZuVLiL^aIQ~)KacPIs51x*xcCX5&t^XnZ zKtH6v{{jfL;E(FZ1Jph(wZ5NC<@q81c*bS|;YOc#VMTcS+YW;r|1P`}kO8brV)qR2 z{--8Zv9!2mbw%mimAoU#A0#d-lZ2eHOose>#nDv#r#<6|wBu!Z)ba1TidZc}sv~*y z!0|6_`x5*C|2l&k|1m+d&y6QGhVqd*DH<2Pj7j$njPVsMe26~yfLBQz|0lCUCqJQ2 zoY4LWk3WUJs3iKxj|?Iu3bH0YegkLlm=n5DM@bqdLi|J<#lI6+Hi1FRIr;se9>A9g zKjkTP&7;`Qlly7*gux&tIJP~Vqn&`^fVOMBi!+Ulcr(+33Av!AsJ~#wXadjIOc*CM z+t^J;<66a!+|^FW!zL5}GZnwYi*LicK zY2Xj!+YQ`|yeBM*MWtmm9<5mFY06aOtDA_V{vt;*{jMa|+1Arcme}!J; z0x{rx;05qBvk(`_s{%|a=Nyi|0KO8`sy7jTog)9GWr5!G1lJybq&F_!N9OyaPD&bh z(Hqro^6d$m;XOH(+|LgZm-s&66X4rKyG#Lpc)#$t0e@R(eQ#n3E&e}HbbYVLWIuSQ z?+mi{<#3*p#JVpzs72QIydjpB*Ld_>?`I0oPQXJ?#9Ah@Dm{@oLyDa~z+Iy2YInQ+ zZGY8|eeKW|M(ulz$$DvTp4+^i|4^#c=YZweO!EOFEqPv)=SH*tHPB?=|E$S=;0=@g zkcL_6Iq?+WRH;em?;1~U%Mq1J+~d>9{fg#I+D~HgM8?e8&#mkqE%>FMFgfcXKn9xh zHypo5`YBgR$*_NCxVvR+XwHV@<-nDSPx$%6%9`cw0>{tqN-Hb)SdP2_k%C{tzfTnW z*rcv4Udpk+KNP>{EgluH6E6n-Dz)?@SzHYHCU-st0`vn1Y$u-MFxZJCJN7i-_f&KR zR6hjoH%>q19#vNoH)MBHru@6v(-i&@MJE#PCq5;03HtG{*N=4g7xq*5xW)HVbme7F zb0Uk-ZT1EvZ5Lb6eoEfZNIx^wkF}oGTWl|bHuIAcMRHCbHZzY4E91u-W2>rSrM0o8 zDaf&2;{Qa!ALxhZ9_tMgzgB$GkBI(Bos^{d5#mL=RPU|;Cwavr=*a#2_;@|Bo-@Sk ziQmZ?SD>2S_&<~r8Nj6BUQVK$cRGxA5;<7gQNR=`dIE7deO|hvq+)q&|6?kGA-2m? zHdMrpiP!jcW#qpmksnG?K3qxr`T==TA72CN^oX z)TSW6ke}_i>oCtxbY;>chrv#o%9te^=s`svAkNP(oqg|DSsOR;%=CUzp{FH!{}*V_ z1@@4-7UG-W5BPR9xaR;16@RnzUfUh${a?YkKk#$KThFi8`$?=PO(Msbbg-OpC8=G7 za$$rp=|nFV(fKlm!A`;vwENO6Ih#BxTR|>MJS~w6W6Vjb0MdaLlZ)UF_~o0dM4FHZWC=bPyEnGS=UMBr+VPPgBaiUB}`Z?*g@)QWj!6?{GX7rMfc zp*|B1rKlgc7TT8pmq|@DPEESN^YJ_0Q}Gnj(2EY>eA4$%bflBu=Xlbs^sNRsiKBsl z_D|xmd|&;5y0WF@6ss4lAXN(=yhyvBnfb@7q=i1eV{Kv5{QxN!d=NX_P+88O54y*F zq>_@99~yrq310L_$F;q|$sEk2XY~H49^Fmtqf(m!-q8MbaChi>h~R$J9otEt@>s%H zU@jFyfgyml_mk4P>S|U*7w~-I!q_q%QmQD8xx2QmF>SUk2Cf2LWfa>E$Tyw7T4#1z z+s$;HUu(LyUG1)Ijo-B89P&YyL@Di_<7W(f*sO=_FyPPL#Lz%4$Oq!~^ttE5fn_UW z`<9iLm+>9@boC~r&n(Jh)LHXSY3W|a%zxEx^z{q zCW{BBs2yJiO(N^$UQ(lRX=|nIYH{PA^2+7@<*U^6R`H{^ivN0WGlw-<)F@$Ib22l^ zllyr(spspRxNC;z7rtWh7>B`59>?Pl`vHrnVBg8BW%xD1(~x-acWBN6ili>;_a>8= zZNtCR`^CD-WKwWl(-_4*DY+Cod0+a3P3|D+r6eyq14`%HSOst3)WsN?W~c|dgNmYZ zVy1HPPXN|-8uSZ>D!uQNntbClx&I3FoB907L^)kI#D7h8^Be4};BkawffJxN4Un8x z>1>Y0M^+j3YcZ%O+OHcRRSO&~HHv>rb=mS2I=pws-bQ~|6xyKGD`p*vEhy~Fq{L#^?l=tlA0AR zXUU9Dlkf2~#6K}xIr(|uMX5{hPfz)N{ZP5&2zNs|{p#*+Q9JGm{3e>??7bzxw@E0^y3iE(~xD68RJ?YfwHZg+Jv==bpS zKF2+=rZy$dA5URu-i0)@izwj%fYKMcSzlJOu&$zlf1{mS&fiXzmCoTil6CsU!e+EX z+zLhcz#80?vHp0<1Rg)A0*Ea*jfh^rhedopa%ml(>vk76M-JpnQ*b7lx3N|^r8uB} zAhh2E)>H8lAf7jVv$FE&SmHon>l(hb@wKtP`pB4kn&zQ%(!$5I4IL^t)b4g%DT$5j*;%s=8$P$`bkB{QL^BA-=^L#J`N< z>y#5cO>Eh)N;~BO;3BD0IexcHDeV_KCgFJha-OeB77v~L1V8c<8#U*G`#j(;ia#np zX1u3dBDK&>hBxFNW7aAEHl|kmG4rHTZd3&9+{_9!PO6*4g(ZN>N&N4os_IJlay)fu z%gy!YZ;po2B$u6XAMl{mDZgYM+ke){jr-+cH1e>Ok^fap*1wPr{nBwibD>l20iISm z65p8rU%66V5R{&{l9X>DUhDDp1t;qaQ`Ez3tp`tA1v}*qY99ff18`(g(!ftx)OIsR zJY^m5p58C*{-%Nls7X|-af5;0CglhB$^V)cmzOV$mD1;hF%sQa(DO(>Dt!6@+LCv@ zWU_X`qe`(;zUJ|T0|3zl8GLA5%FJFq5saAT!~AprHS26sMgNdLKe9*0K4p{Fhwqp2 zIG~(Ofq$yk%#<+BGxoU^&M&mxi~R+PfF0tB#m(7YQ9<4l#+5C6x4+I4au-MQbTI?& z((iN8!f_wCOYGF4@PwxBoK1z~gZ%;Gk==8g$-3trI*3Q_z|827Q6~HN- zi+G>yCWoOle$%$g&>x_0Q};4i>qRz5Vd{9-K0B2$^UkQ-&c{=M|JLtXyLI#GSWPVc zBA#BJHhs0LsiPb%jZ=)FrxpRbNuBcx={|?5_>h(Q%|C*Rr|PDv9z>txojQZsd5*H{ zk34THQBNPY)e}kWR_t<1bzMbqU{M}l$k+Z*`L*XOes*dQ52vCYyIc+Yi(AB;M*=z? zeJ6phhm_T>&;|t$$O?rF`Fx1nYg|4+)GvIC_N&YL{7(3N-M^Hrk zVjgGiMwbv(n~um4A1TF7z6=*~DDX3mWO79E4E;`7K08IMJXQi{05=0`8R5%nLm{vP zI1RW8V5B(-`po#*$s>T>fyKbdz=Z&jYw|0=2f%muM!egUTp%Bq2EY-r5If~>z$dhn zsOtM-8U5R-4*{PUJ8d8U-f85=(;nyP7*+;&AJ|SGL|a?25Etp0&O?aa$k65%dU7Lm z_X*jkJx*o?ZtCr>F-heY+SdT?deO_L6Z^P%DR$};h~!&f3r8}Iqk~a7jx}YA19SslRs)-UoK#T&YD8x zgNNI#mpB_K+q6IAt7uFwmy2Yrr)?YDZFcH+d@A{Q;590a19AZE_r@AOI^;NAJ}ci! ztNGgdsw%-pVH0kh9{ITo&5!bE9~L!D!msB$&;9tn7)#3c5FdJ}_(YF>0AF{-C;n`M z?@x5xpETc6eV2CPw^ZN%2~MnXT0g~G&#(7e(}=RuSiP7=vK^G9?GEKLh&%W7^7)AU zV2*tn!8C`la}K(1P6Sjw(x0yb`2@2{8OTZbhBwio{ks*~Qve;)I{lBxLFD?~5}CzH zZQeV?AIL@Ya1t&=@0!Y=>6PKIVs;lyvRj!+$+Gj8$fCc-gix=xn$pUu*dmsYlj95JJQy6OdpUp1 zzNFw3JFSdV{B1y-#VJ55$a%3)@_Kw5B#AcDj**%clC$6s!xr(=Ko*?6m6`GQ*@?=?H=g#~B+M zX3O+*jcHf)lxg?&p(fjGnnzr9`H0>rGYqEOHGu=;r-n9E=wrMkarf*;iZ_@VD zPS4MF&Cq=Pr}X`H;7+M?aiA)`Sg*&M)6L(>QbN5D{TCl2X>vloFzqI4@0D8Wli6n| zx1rqiUqA0bZZeIiEyYeFruA9^FnBbgEV+Pde@)$zmF|xdGUV6eprYu!2Xp_^$h)W2 zOO4`>%tz?)4`oY((L~aINwCaQ$a?Q&ll9&|jNRcJW4j##Tx4u_^2hGvg+0igdn_|H zhx0k#7@NC4KyKRWQD8Hv)W;x?ZQv9Kuhq*g+uAv*4R=Hz4y)!aK0eTA=QM8Qm!jR5z#T$PndwQ>cP9L{J zr+nd9<(tX>K1tq&rv&snK9TXs2uDW!5NpNL^W|7BBM)$;A^rc)eBW%k#*(0!Ki;jr z|FFC1{>X*C4{!fnu_vb6 zDR##Bt|1+tW;@#LZ~Louwcfv8;Xi{Kr^4mY^TB6Q6V6M1v$^5>3e(3bB|F_suGtyW z{PA(L@7J;)9e;>6H1B-{uTOURUwmBN2|610#U9Rro-|-DK%C7EKmz^yIF>y5i)|T@ za=X;OO+Ojb6!mYzAbm0LXQ^@Vq^hL4WTo;Zay&-QCyQetesrw;aood9!E|N{reCA? zN7e3ur53u$@Txyk{t2tj@cbiIO}|a1_RoUjP2WG_!t`6{iuR951Vb`sq{A{4aQcBhY-Ij? zP6@5?#}L+&*7;&ISYR4;}@`)y#I)FkL3Q88`32>U0Zp=dnl4t^OPX#Zpp z=>_0jpdHYp{8E)uNLN@!QCaN@-L>x6&X586_cTE+Xb%9BxG@!hECmz{>nPWBA&!O^1$kn(%7QfYF5PMBt`kf|2UUHak%Ai5~ zux>eBrj00e2JOvaZZ@lkBk9WkAOrl;b&8G+Uj}V|cWh@21ot7pQYtzC-2nANU(?@x z%HrQ%lj}2}D@~?|&SjAaPAAQkVrLXk@eAN2jzkx_0vX_!CQ}sur=az*&(7E#+!q33 z#5)3t{|0tC>w(2fiiO+hG9URqKwdh78N3-i0lemn@c?6R`PR~mDnJHP4N3;>m9A2> zz08cxSm2KBj77BdA>bJ*WPM26D}HPPa*%H+`?)2#J_EWtLTiP$OJ-hYczv@o7_4T! z1AGkLPC%D*@T;GMLt51KegkeYjv3`r74<7KP%yQVEv3$x$@$dd0y9-JPW0`^K4uWD zrPvv(`Jv6WCr2V$ZNK>EZyE1q>96 zZkl3eJmt1CXZYi<4jc=3px30DAz^sJ?*8b7O5~Lee4i zYfRR^&jIcSJ~lh7>}j$mTxhypxyf|RyUBDp@LSX2xR=dNb1vcHRwya=TjRt`3Bwef zx4)e}7Xp49Lbdl(Ge>y-ZmQ-%a{oUUDa8rptB8!E@%3}?OFBcbGmH2=5~u;%0vccI z{Xttajd>_qXlG6Y=2A~dxqqQtRgWUNypO|VXYS{AK-#i?UE10@etqV7L6d*nTlMSn z_(wILd#a|nE=g|pfHC)<)FOU;{?b@UjW~Aa*Ju77O=87+=DEPdi9A%les5x3c%=6J zjrZ${)t!sh7e?zFo&T8WR*&q=-{{?TR*u`wlt^}k>_`2oNIPYH7kbmIJ+CziZ2@oB>2_ne5B$HJC<^L)c%xy;78wr4D%8*uVYKGGwZN2rmvQ|}#yC31jyIWkx5H#-KFiMk0LuaKJGp@7iSpi~yzJ4) zgK?S7^Ur)3)D(T+;$YhFI`F2{B*^*SaxC$z40V;WzCBH?FRtbKbpDqtln3)DGr#wI zX~#_ehmNA1`58Mh|9ur8F<1GLE*%$FKHzqW=Ii;;!;{ZaJH%=al%T_yYco2G;~&vf_)#Y1SZW$(&q0g4)n5zM_+}4)c7?W`8$_+0L4W z+nNgOPld2j`6~VR2)jL~qPj85&5)1N9Zlt90c}_SER;HzFQ>bHiF7raQhelCvwj8~ zuK1#S+=p5}(sAR3X7Lf7oK=TDUX6FnLDMvE7yTsX%KBeG#m_O1kH7f*sr$os_`axbm3{p`yz^W2 ze{BwS53{+YrmecpH0w^Jd>?>EoAr7ke>Ja?P~T|Lxc-jMs}6}RSrn^2x~w!NubEZW z)dp{O(J%d;zq_umsp}+;M#r;jc-C@voz;=itYltx7S9RD|F!ZTtgT+$ce-Z%N(l*N zDR$Nme)}f-@5p{M9}q1~Ip2}~Zj<*#^<3@0Cv-j)I%1ArvMmJgr`yl_#ILU3KBH4^ zpXMFf95|G-3o2{)hDg=w`0}*>|Et->h@bhr+05$CCdQsE zsktwzCj)|`hFgsvA9=sgfQnojJzv<^`G$T%|4(YR%QnS3NU^g;C1tx1I8=6{b}HJS z`Nd0oUyGN;%WCJQcY}Ctdu7bm*$nRU%iagsl4Uol}k#>HGlYS{(c9}T{y3J z&RqXoxz{T@y9#0wuX&<-cB#-4;>-AzByOS{0h0S9w1aHPjYH+VgR0o7IlL7rlPYqZ zs>~*u&t40> ztZlJHuemm9zHz_X-}X1^7YZ6sk*lNU3mZG%P=B1?I72DP*FmM&-5g)+>{n@@%zGr- z4cd@u98>$+Cce*(=#%=3UeH-DbcpY>KVdrzm;{Kw*a2{O_@6p?XhDu;{QKp$9Zb1h z8rQWQUI(-ty&?aB5-_$%PV5E9cunHEt^*3)Zy2vR((wg*<@;C1$X7OsYgx!&;$COx zE?2lKar~dw^9b5bVFg9TDp^Fh*}-_Is57;~6^1F{Jaqc_@tZ|M;kfv3-kmJU1s%l} z$$Y@c!1;g#80CZHSD&&Tx_fL{NnLrZEG5@e5hpk=C1p9Nzb@+T?$UACSYwNZ1Nl-H z_18rMy&n8fS6wD2Da!Yz=9xk{w>7rt=e~b^;olZTK&1?BZv|wst343!-^VJ?Mthjh zuJ_XJZvkW|+TU@;7R>|plo}Ub`7B9ExqIKt#i#1nva(frKBak&BEgUPDt?|iC|U#@ ztoMulHuip~>UBjR#e){km#b6Yualq9LqC-sb1X%SSc;ZVC-K-RrEtFpV2+^ZFhG(5 zN>cfS_%T7n&uU5$xmM8;Dcv8+pLv<0Grj!#vCrIs6kGHgc-0FS%uzO=@)y2;tMZ?- zdr57{)-@(;%P3;Rk!Vgm?88c1SH_kI%S5Gk=KAmMcKffi zlKC0sr}}Hh&lNl^$k$w}CB;j#U*du&+ONsR7V)%A(Lbanpa6K7f5m$0@exZTfUEa3e=M0@|-s<3}X_EZ#u-WIj*=CxLu7^=Rx< z(&Wc8?k?pAGaW@A0v}7A8z-orDyia=9x3~&P`=Ee7Zcl*4+FvLN9ML@6Rmy)SPz|! zKwQ3`t9<9Ktg2l-w_L|Z>GtPy&{4EM)1Z$xES6B?^z^%C`+LD3_4i4EY>+HFUOgXIuLOA zfW*0||IaAjQ2c@Z%>s7`AnbGg01ZNmZ1H};VNxsg(EX-acH9|ke+04Qt3%nZbeL`N zuc^Enc!`Rg0Oh0PP5)8(EpQ)wA$6Z$!F)oUexrr>ZmW+4E&!Mbu71tfqGte}`0!H^ zU~0XRraV`;mZ(3OP2bM|ekXMr_cpulE9r4c`C_r)3*=V>F6N7hFVOoxo+f|(ZRi@tB(U-dG-R4n)de(lEb4gU{!?*SiG)%^dTJqre~0V;OI z-if_EsHBoW8VMy3AldX_NH7Tq%A;WK^?4Nav3KmfD|YO?H>{5Z6&pq2;s2gFce8g1 zkS)pY|9zhGdVTiZdv@>4nK^Uj%$a-lUhss{_v`CcY9Ex^xb(FlXZ`5uYghI)4&XSA za5IRH2+9x==iaU_H$SPq!k#HkeLXF0^!!5xtlkG7N{#9(>G>&5=!f-{3GH{m*GfN8 zKj8X7=!WMf@~~-NfM1mE0zQL4X4*Hwr$8oluXNha5&IR>gv$~0+%|2wZjBxCj@v;= zUg22%n(zJ-|4(FJeyQ6jd`c${)b)ft;um9wNJQNq3<6DH4!8$+ekhHoEp2ZgBfcJ7 z4xR?YUCEa2$s773z+_wa|L6IdH_SEt=VQZK!drK}^0IEdUYQ?it8Y&ry6bW28@X2e zaJX)5#usjzo^NcrEW2WlPsRUr$j|xvP4n6O-z$BB@?b|MT4E$4L4`~WGC_K^Rh25D)B+awp39x{us*fzF>c;!5-{JtfYD!VtSwaxaob$ z#>OBd}kwOM!K z4raqidz-+o7n!~-J$WwtrY6{XzUluU-f5@jOy2>+Oz&|kptGM@r|@_^KX$+1?BPDg zRqa8>!$;r~sZ)I|mg|L6Tjfc`aodA0PQspSx;L4wjPOMY{cqU~e9Lu+bZ`9+b1xp{ z9Gm`?wlKzcRQprFITH4VMtAWWm?zxN`audgx2vSV0(8T2 zBJd^^y@2XR=zbHWpQ0L`b=%a&vtUbV+T!#78JLI^waXlMj|F8?)4@NA9v8>0H=!Ta z8+Mg32GlBjpFhapYDGr5)W)T^bvWy0Pj5sO8Amw^He)K4L9hiCy+OO)zVr098jFfk zZ0Hl@3OPdZiBcNxckOTqQ>jVqnfkNCF~&U~BByU~~+_qJv* z#H84aNBO{r?8zMU0qu6P(6gJUktXLLZ>)Lq1**5Z^dx6D%&!^GgBO&}TKrT@cHt0r*m(4I(av|ti>bQj7flqF@xwMa~rmsuss<-Y}FE{{y%c( z>%2)mF@se}#uBM>^Fmeg)TTC_WIC09f$CN0p;xuno1n!CK2w$mk##?AQ;#L@v9x+> zi-xaK<4PQS=p}9U2JpakGW!Yz`WN;Jn?X(?185Vk9{ywe6*WXx= z7S$Vhw#);7=KWoNuM*ELj<^4nez^Z{hW36SU0A9gOt`<5Zn(c0DVbz|G7FUM0zN%I zn2Gnw{2R!YZ(QlDzq#+J=gb9WomYZM-uKkVV=PiLdED?6E>70Crw&ge4Dm7-+E4#3 zkzWm3&9B1E)%6kMyT|RPn4XvRG%0=VH9emH*4Xn0QFk?UdsFus`;V9&{UuQE;u4=d z(NZmg^VkeP^T&hPQsrMSXU_1(&GNQzINbR-jEo!R(@f^R@R~gHEM-aM74$sLD#&tC zeJSI}i#M=i_qt-yXRoHT5A^tyc%=ij@AGrj8g^oduOVl!n{kgbfNTV*#& zpVx9M{_|JQKajbXIZ=PtS)8r$ROW-weGEKhg8d#L7xA$P_J7j^H_G(lsU3vY>Wa$q z`Ks|$ky{@|!YUUBc)yFpRjc{k>f)=YJQ}UQqX3!ny!&l+ogl7~qW)C;%xiKaKYK%V zq@W@#va5Us%L8RJXBcb0bWdJ5YfEk4fBi=|FZ^uS6G>0GQo-{NMj3m?_$2-6j8^W* zPF2hDKO}9X+HqDtW3z~cvNi_;m9focZ7oHgk2c8dcl^|OVWDToQPkaU{ohA(_r71% zZuLIWOu6KWNoL71OST_-+wIxkMfUyUSgascJ9O))jJ&jx5+&*K37#FI$YdMIlIY$z({=`^7ZG)Rr}Uvb>0uk)wchiHa5S>-#BeOWK7eAC%7hnib}gv`!9 zu!k;tK3WzlY$<9N!{L1*&^a#34#}=1A)j;&Mdjn3xUBQ!NcxX7y?Gw6xYhjhTKg~7 zev0T-R7TOhBKFB@bH_I8dUk#Uf5^9BBcS%!ZO=Q?e(nhyiazg5e4<-hvvVKn*b3~! zw<%ydpzT@P^V;Iqhloniwcq=&ebOD1Sy&Md|+v{VUzE&H4t~X95{ReSp%xlb!YTK)j-5 zL|aCI&63f~YB*~yco@6@-T^-tn~kw%Zwyv5TP4t55tX9t{S6Mkx?`J#Jq8F@15Z#P z`3G&U_^o7~hZd`yz((4^#%&||B@dcSET`l5VA^}F{Ep+SKWXb*KqgTM_B3Cj^9>r) zqGRt2&L;XWqKAPGU>yGT5y>=bKz8ACE?5$}NLRe9>bhWli=DCEQ zk4EonQ9qdnuU&yGXQJiV-jgTp=cB1SE?#brO|lPgJZ-in0F;^Z4n_I0^3Q@QNkR2^!mmcJ0@HB`2QT4toW2sbs2lu-`f@}kG~ zr~GPWV&yFOoFC@XRNII^~kp7DXF}op`oQMRLgzq(?Tt& zgIa5=r>C|xH#fF+%DZ(&Q&lwANYA-AK3m4{x!@l_!VyN-&{N#6G>%Vo`yD^kKYs1S z@vD>4JH`LI)oLUByH(@*Sw=DslA)GWxr`p0eS)#Mc!b>FJGQ5*Yux=V*}7&`&ceVB z4JjX+eH(Rm%f3IJlFnDCKd{UlpyP%$7WxB9qI z@(>Hx+#xZy&-r_%Eh*|B^J&7%;8m%KlKVM1hHpIoXVrN~<@Ls%&MBKh{}G{&gxNCx zNUS^yNU*8#oW}df#xKfOR7ladjW{xUp*yxiWsCC7qdwiwJ=zVQ* z-7M4NmC>gE%wJ6KyPHk$r*p`k1x$}#x3bUGr7fCG@at>&?jaNW;ZhiOaf!L#BmLsV z_ZnAzfPRScq}ZV{p%EXL1wevdjVoiFry}&dI9}tW-=Y64q$qaiHhgk(gxbYA>}$Lv z`u5NBYM(>L$r+w~7I10{Xp@=*Tk&6XMZ2&n+wm0ppFWOxisF2 zRW8>*nu{=Qt#&4SMuO2o-|s($7I@<;?&s<1IPL|_DPH@z!)fSdLSOn#)*xqqe{j?X zX#4ME$6F_4-;1~K z3s2s-<4KiQx&rZ-4Rt&8c-=yFw%dWYS2*_K@T8u%EB8sdyp8e~RZ`Sm_)o{sbLB|H zI$w6Atja%u_hk6^u^t$DlgE$z)6mO>h48ylcBFI#KWDEOIf6PDou&JB=v-yt@4xF{ zDdWG>|NpAKxXwNFL$Cc@KO1_V(3AE*uMGHDTl;4jyE_^f^trM7oXYcfuurZ(hix)U zq1(1G+qcu7H$pUCDAY#Tp>N98*`Y6w+L`_$^cXeTA7^{?K2dryTgVJfmTf3e$)LO4o}AM?eGx6>409B0 z4gsjdY5@s!B;TiT#{zaF;^n?E-fL}Xnaybc=TS$AQ*RCKER{=I&-MSD*-A&(l}YPO z=!f-I0`0#8oe!h*HiO!eT}$H7o42m8pK>PuB+9wiQLs6ez!P#3vuWP3FWZFUmjyb6 zJijD*GM~bW`x$a>1=lIv#olwd`8T)Ai*tW(GY?X!uI9zjt=g=Z`$hGhotu@H>CTJr z_w;B!gYSKSEOgE_%5QN!54z{h$NJ`KJ&BJl;K!_}@-BeSGk}bD&fO~SvU+tIBAL^x zuf4Ix^=p=se%1R?xF0s>4e%~_P5HRIfGV^LmAJ#27Ux25;yp`g8WpT!8AcysI z4tJ^Ma36HeOW=L*Z-6rmmzdiT>BpX)UWvqVegfq9bAHf%{2g;?p32?NMf_#Tafq4z zn)S(ga8L0L;+K~jn=9L8&fj}>o8DYK!xJcBe&WY}aW5C)c9ucmH@0_AoRB*-tpES+ zZ8(3NyO$>iW89UMSE0{a!tr0y`D5;k&L}CIqK{%%1}o=b`4o)nGYQ<(z|G%>9ae7tfHVYO3Lm-b<#a{b`9{N^#6QI=yF4gvlUKclV2?g&&5~t?tDI_^N7cCPX`x*E94tjI;9`!uOMg6^ZIKk`*%4CHurvZ1aAN)57%EZ z&wfq*nl1=6H5{Y2VaxL%LQPds@5OqZ-^KHsdMEE(*iclD6KM-`W9~Cj6E!|bY`ghC zVy|(?D;iti$-9jGcZ9x-3z8g~x0QUbI1IH3Ww zZkO_Y8Moao;zSwI;y{j#Uw#H&;0Fw)x&#yDj58D;&0rpi< zZT>?}WcBOXm+m%+qHV05GY>yC6@A8z`;?5(fVVpIyh zepCJWm3hYh+-#jMhq<{Ue5KOn4^kp_*#7jZ&Y}MCDB6p8e$sex)%nuXza3V@IQ$tS z9{`_Br+zyuo1Ii3_Z!H3DG72N|4SQM^O~!Utf^kjaYFuQnC31#|5HI5Sep(T3A-r& zGmMBu`TwT@&aTAfe^gFJ@UWTSBt6p(OLr9PFiAmFf=NJJ`#_-m=97~uEh}e1fo#LD z+e~oeIJ3^JbIm#{nRz~W%kq9r{8$qf39)mu(P1Y{Q$!*Q8w~n`#ssdzm^?0KJr6T2Ip4qna=GAHK8VnkyhTx z_;`T#F{HMJ8f#i>n^`5LhNd*6)`nW!Qu+OkJ2uLe1VANAg|b$9+Zmaqs($J>+9reUh=mv5dS&jV=7h*a>3r-CR11BaI8xPKo1& zG5@Naip@%_M6tsjmb`5OFW+qfuUHdUvW2lJWI}pv1EzvId9J_%+}A}Of88CyX~wR{eIDyw1Bigv zC%d{nR=L4s@Sw39?g@?ocN^P>OhZ4;?e!+lH{c&i8?jQ@=xOkcu^X=ku;`8F8M_IJ zA8-zMg7<6g1c;J1zaG43?3T1+OI9*leqwB2^wF0#Y=!-7&2^Wpxl3r99)KBn8~npI zvy9!AtEAf=2{?b-w^e_3_|@3mKHv*u^NDXBq3w@+VuG7oY*O}`X;L0M%%nVYkx6;v zJd^TdzDap%u1R_3R+IALGIaPqP~7!8wR^NR{2-8~V%cH$I`QoA9k8~|f#i`TKHL#7 ze$8tqf~!q%5WhT>#aue}Fy zD?LV|%-v=Vvn7!Xef1ld%dx>BCelFrKd(x&B zFjGm{;o}@hJDi1gpdQHLPf~olgAV>Op?GC@iQ}R3X@7Xv0|_6X@4g9tD!+K zUjR9Z&WmaAso^WsX^??OM^@0UXRUhsg@_xC$<#&Bo0#7M^opMY9fdsAYJM_d-}%ry?BeiXf68j^y{B*R`su# zhyE_S?Ogu>=7gJk{B|_`pWF-V3-<8or8n*P63Dm}y{vHO*u1_RUk8MUT>sQ@n~;Cb z6SJhKf8Ge0i5&C9T%BFT=Z{^mEzt>AG>2aRB_zo6W;&l-eW*QvUx-}f_J%(q{17K^ z4?eyEVuBI?Bq5i_RsByoq=}dE4iPSX|3f_KaP6@w1z|GYepUp#&xA{SA8-qBz-%@%RO>#DpEGLhE~ zPNsSTurpA({+!wrURfpP-||W!MbYtD1y5EYc{1$1{s~Wf-m!l?c0S&uZ-jo>-~EeY zRyTQnSNdXXUYw9uM=fhJSI>a{owvOu6#wO&4yCifk*5D+F7oLAm=~vO{I{Ls((zOM z_YYxt2aQt2`Xa#S?^8Q|FaF8jACZ1tpZ44h9#yV3?^4Iz=KTxBKMdwku^|w>3uqsFJr zuWH|4%Z|&tN5_Bu&O6*YSL47JVvPg+6kH_Oq2D6?zX9$36-fWfZ2X~PY4bkDb8if` zpn|!jEBpT~$3y*a20Xt7-%Fj}4-fy%v$uHs@B*1T@`Qf4|F7Wq53p3}`}_Y3YJZa2 zB>G?M#y74UHRwh3yCJq9^XF{76a8v@CI+$&x+O~QF`X~^0ri`S`G1WyJpVrq(qv@v z`%7E2-{bN3PJco#tiLOvwKW*1^nCiuXGX~PVz-3HPv`nWmOQdbsz2hLyz`|U=x_Ls z=0m>Te1=(x!pNk`)i`eigh0UiR4)dFcEyS}Nlfz2tkb zjm;myl|O8&=X!jx5m3LKkX<3Y7WLDcz=KR&zRvspahgBIv$F)_!m!RgT`NbQoc-ZB z-IG(s_Hx%Io6iK=lLq!Iq5?majGW$OdG$w`@FNb$pDBEzGeuaukrY)h+d`ZQKR?oM4NxN9>eHfw*zsnaIE9ef4@r1_up|c9#K3v ze!%bFrOPOKzl_+9q)qf^&&ZCHRrx3Izl`p=eq12a&i_Es>&JPf|MR0fVWg*AsW+EJjG+okbL!M2d5=zZIxV0|DE*3KWe z`(*c7T*g>Pr;Q}u7EKT#E-jrx~t z_L<(D{zkH8N-`$^xrm_pTa&)lR3EGVb8-%a4MpYT%3uNUK!Fzz&`)vy4_W0Sb}2a8 zlW!>d1;RmuW_~wUgF8SE;OqlFUG}`50&k6`b}<^3Gr+O1inhbnC_9PGE+YLWT|?3S z%YptWawPJd&h{nn0gzj@*4lru_EUtfsEne0CF9$R3Ty%See)~$Q@#ZfBdR^F?SHkB zKk)zWI{x;Eh!p+b_olQ*;{fzhz;qhe4jjn0DS&;~p0)k2JAVEmDnUyJm!G?}9G z$xj#j(;eG_kD+}YxR#1OK?$yk*t|E05Qwu{Nf@`q3BpU4?g&`LLGlm^BF4_Fa8Wo4Zqho_IZH3a^V(U z`&pG1N=lAm3$a%VGb`3U||E813P9Anp~8yCQBE`|X}Mx^QZ^$^YG3jid8T|K|c7XeeI<|*NS(yr9_xRCsQ;S|sc#4TbUMFYWA-g8+o^^FxZ(`%}DF?h9Szss`Tl&N z6PR0O0xv$n!~A&P^a`%t8Rp)?hm4)raTJC*blG<0eERdP&g^$!tu%jN*m&UXjn^+} z=@Q0Bq@}jVi+9)FMAi3qdflVLpp|PL=*9FW8lOn^{O_lrmm|4|4Fw@=7PyTU^V1ZY6xzjWYq^EF)L9UW5>CO_U#bh~Gv00pp{Hc)i^R zxp|UGnb)-lQ7Ig#JuTDmSXe8^uTvlQ|5u8<*j&dW7Fe_e*h+Z$+gY@+$8SX(<5A=m z>%hwh7oVIOA9?ZkN60&mUr}t)5pIVcdxc~F|4a){7RKp7z6gYxalUh-;o!)6&vVjbDuPzeqF+J^YN) z#15WvZL~#s;l}#)5?5S@mbB=9>qL9Rc12^QDypB!FgU-QJICZGd-NmilC_Dni*3;*fY_$!1mUjRjo8ni?#hv5-UFuqYN6N|;U8iT+B9`qGJK}op_!qvDm@nF& zVGS|+6&=s3{?E&^Cp&^ESmWe;cxqqJ1tWUGPv$Ji$4YQ02@dr){ye3`tv{?;u$bGY z@omvkSWtAn9!C@Ug8owD_v0h_cz)x;z6lNpgkfAMceZq=uC9Sc0?s@*$ha&Mv|P`9m{$hu#%NNcf)ATuKb1z2;tLzHA$k96+dlD;{Q)J+F zb4ft&DYW(?>`L;L1?&%UO|&Dg?kbPNC@7J|Eh1fUaYs{Ko~J zeZ~EJNF67=pn0#?{zCS>@YRmEgSMXq5H9jut2;UH^3r%WJ7NIX2^<2l0FkQn-H1~F zcXW+-6ub;R1iy+b(IsYmFXBA$bmGVhJbB~JXR5r?6^PqDCq1plkbTzeK-?=F>$pww zJ_K~&ts9g--d>8@OA&0}k|PmIe3F(``TO%o@sCUL(IXam{6?_*=?h>ZyC; z^5Qbb{lEP)9G5?r>PgaWGQ3|e@a7{Dn|DcEUPAu3rJ=3kEhjE6FD{`+@r=dHX2liS z7F#mcwMpaheZBT|*yuP3zbCc>7jGPe-xIsK@AZC?;!PdT;^A&vGT1w=q&>Q3@sCgG z{n-67cHiMS?VkPE;xoK)EAqDpPZ_t84EP(6iAG{1amZ2pua)rt-Jd%O6mz?DycNsT zOVM%9JrKpSzzI^Lem&{?NtAwgJpTjQtj3F(_ND!Nh;Xdli^+5pdoy`#eoyr$s+s}; zi7Q63f0@vgN(mYzu0InbJPgQhX!08Pr*^O&KLP40G7e=2#_G#*$4LEU#E%x^{*%5ljkn z1nV;Ks6DQ29Uyx4-%m0NLhl<}PHZ=geC1b3 z`nbfK18fOj1Tfk_7LAs5(RM)f(Pj6usGWz`MHfT1RXxN^mz7q8g=tCp+G{1+Q(3Sxpt+23`QzbMc?5M_a;`4NtNG^mek5I^2EJ9)$zmnrQ{^9{iW>B za6E0vu~g#2tR!}%YqkA4FZl8-vFc0bIeJ@*&I{%6Vij9*np8!}Gs}}F?)9h2<05<8 z9*bS5EMauL+kv=Ol&|V7@_vF@MxPNU|8e0y8C_pvpLPsch>HJ9`4KTH@wALg89&{# zPASo~Wms+hy<1(UkUL60)RV!Rqc|!xX5LAr|Fge$$vP#U2k^T0Yw3MFCEw6H-+_hT zw`l#z|6I+p(RGm{jnDt^t``VZ?<;>jkFSc<%eeHfmvvoIa;u(ZOFnhm(${%*@!PcJ z5AdhdMU6XpJ7&MD{>FEGK>X>7P-Uw!ihRgOQ$F5yQD3|y83sX*SBcN+01K90S20)Z z3=Y80Fw^wi1Z)qE08HY2@k)J(lKT=__I;nZoXNc3p6m}|i}&q!B47sW_l+_AIj=tp zp#BxcY;*}=;BRyncmXWsKT`XH2L59NuYT!l&j4s@69VH+UIR<`>m1SLfGxlq;74wr z$)_ILo8u`rzX33zZ2q<}Tl555f&BpO+@cMf4Xy*v0nXpzTYwg}MAj{j2Sh4cJ^_$p zOUCggjmB)10pPLKSWpd`0S~G~)l&f7ZS^6bO^l*(9fReb9qhlr#}eZ zHRg<6jX4{h=OM=hwCzIl`j4f?T*SE-_b}$tZFm6tG-E1;8FS^ifHq$}z?f@k&vo_2 zTz?N&uLQ{WEZ;vz zn_fefH*V&gQRwY0_TQdk%)6hnM%Ww_7?T67oI{Oyzc(lYM*{l!eSZHwd_Q>7m=8Z7 zxZKQ`&-l&fr+^EBcOiy^H9FUrKrY*f+dG0s4Pz$8*Rg z7_)4BfW0gmV$5Hcfd|27#w@3Q{?%m6itAWI%minGTfu|iITNr~g1f-e;5`!vZVSeN z2EcEFmx2W*(BnWb22267!3E%2a3A0qXg$6%fu8-r_F!L73@QM>PvN_i#jIcU1|v+M zPrwA$%?A@qV7+y~0PrgK4EzNCV*(ot0abwZZ9v;Lc+CVh{LuvZZ4LG^f&MRo?@eH% zkH8PS$Kh Gh_7CJ&jwrZ)q&o1FpvWdd8QX98RH<-N66fjdoLn_o>}+l|1^;2`h< zfY!F~A4vNKZeRjCylw(J_XY=;z+UKNugTzX6Bx7$Kp%rD!BOCNa1Qv;1XBB%zya@q zf1AKT=;EMsfG!TX#00K>6Z~cZ*C6vX@V#bV?j3&s@cV1O0Kc2Sb$oXn_g`JNAILR< z>(T%9^w;%|g83$J1A4gOQxmxHZt#o=-1M>u+}smzFV4+7n82;vk8|rO;Gf`n6S(aH za2;4=0=M&<+o64XE#P;zpAXQ-?RS{KJvo5;;QKwsaFJ|E?0!1KkRns|A+3B1q?4C1+Y zCz-&jwB^+naGD9cMnAvy4)~g9($ZIN3zx59=*96{a02hLJfWChh9ld)$ zcoQJ!d+P%9{vK_9?`}Z5-usz*(6OEO4+bTm5ljc@>V4>bK>vPtJ9rq-?;mew0-ufr zHQ-ni_>8*G7Mj3D%{B;5+(pA?;iE2*5@c(x*S6&qetF zK7VWlu=_vYyO`fC9S-2LwAlofp|3yD*PqzlpSuHe`xiR;>pTFDmDI1?0_<&Ukbmt4 zw*zT_@qQI+qTpBHSMF6OTiJUl&k)=e%rUlrfv|paF`_~wI(4{=r@+V^tB@RB6XnpW5U_X#+>|w0ohVWbe z`;7hXFY`TPIqE+Y{%ctNwP5*YbdOfo0b7SkiH@2QNc>PtzHf##eWpfia9$WzC zg2%w?faq!p@%fa^0PD-6o+o#Lj+qwp+U7CbrEm;-IQB?mXC4T+N;C6l0G*j1fZw^d zatm-M7-sBoy^TFS1H25rHg*>0&zfrN?46B0VFtJfpsy3qn&$u4k51s??KjS;F)YvnT;mmD7DuCXZ$APoK6##l?BG;Mk zfq#<^Iu+1wXWwk>g})ek5x>3Y5@Y8)0{GpWPmH}1U0umK{7UXByo&uBX#0)W#Vzjw z+I|Z>ZzacZ+xmdMz8!nI{cdCL;P{TC0PVkHiLrO0uREcCCpy2AHs86-*t@m?wDGPf zV2-hOpJwbmuNr$Vy1N&fyqCIrv9)`V|A7Gj`5!1X_Q8BG8!R&Rp{)SN50N>3_&#GF z0ZV@NBf@J&Da;|;}@ax(mH^4zJlzpAp0xG z{^sAo>43g?3tN8sUtoc;@AL;10G)jR|Btr@*!#!)=HrvWKLP#oG41*I8Spmv8ek)z z^aPuLoxlMg6VRWZ)bRaywv5$J?lJcBW56i@o=e#-y#e5NdZnA-22Yyc#=}7!_`3-X zm<%2OZ-HedxY-k6i3x7rAJl>qz-1=5?KUR3T_d;=%mW{r;P$=1xq$DtpKF3U^aTf+ z;EufGbEiE`VE1F#&Hz_{`GERe8vymYL4SA7-~9{|++%Z|#guP?duwiH zTnEtZL8HKF;9juM1XFoe=-!`#pGZ0PTmX2s=03>1&l@JVZyERp z__qn}_c(af1ox+12OI%t!vV8Q@W4w<@Str$Dxm%#-c@?gb>Lm_y9plB%8O~ogY&?@ zz%3>?xHmWp@IKSQ&>g(U1P?<;ha>OdmxDV1^@qO~*x5QG5dX2B=> zd~k;e4m|`s2ats~K?QTrMb0(gPC$Lmn_z(n4x@jD@%v%e#jwu+dLB-@^RS0Jbjp*8 zg83hrU;+J9fUXO!Fu}t6O|WQBFc?r@G~NV9>zz5)4u*3v< z?Q4Q17XsQ}@)&ptz^{bwOOS8mUI4nK#h?XHU%J!;$EE=6XDoUfdjQDfd5PbGr6%z7 z;ULchC-gJHvRpuW%YHDyiAMnXdLp(kk^U*?`|=_ate_t%*smC4f>qR4oet&z^j(E+ zs@?`)0Qgo90Kb`F&2(@YK&G0T!F}Lq@P-N2o?(J@hXHui-349)^jRG?)UYe42b|w< z8F&=T2k4{$+idv51Sg@hNgJDB<1r>U8T~X30?=wI2a~}}a2BBdny}+0WNTVxf>TZb zUjg_WWdSsfx)jj9Ht4r~XM$7F+f?*6jd4VtKX^3qP2T~eg5f4O16|KR|1+?!W6;Yn z>w_)9EE7DIwj4`899s=qO>icC`ge5yciE0M!Q;@`aW{bnzzg6V6FmN4@RSM8g6FKU z0KT))|Li3uctRhr8G!c*e*?7d#EZcF;29I--k{*gn*jRw3cYn9$m3kXHy1y|Sva&J*SOu_=Vn_EfCU6V5gCmwp z?s@UALn!Y1`A4(zlA=7;gY?FL6(;Rs-EHLC05u!Pv9xr$e5EC}>xe2xA1Lf)OivL& z=(Ez3Vn^=)b(Y8h5fB#ceH6lHd5G6-$Zz1Am|SEgq$p2j!_h#b@BVqeF2eL|Ely3$dw zqpP6|V@rxbuRVyNxO{!m`XXB)MeRW3AsQRqA~jAwN$X4Kqc5e;KafT@fxjz#zrH3> zJ56fi(wFq_KfJ!!jQ!Ib1v?tIVJ86@A}oa>?~7PoRoT+!ewE<3neEQj{ug;J0&}D; zYTTR`)?Y&YK>7jKr8*<>9eu6iX-AWuvIuO2A&$@I50aMaUyg_J>*dzNPzn&7@*~(C!cZY;CA(nmSp27k7V&ePMax zpUZ@xSK_84Qe`QSXVW5DD zLqPlZU*6i#RPTNjw_JYx-05h@r}poP$)T|2#!XlKWa$fzVvmd2-hwQD8C&{mJN=bw z@hjq&{rnekmg~pBfS;1muebt={%4C--Ixu$<1u}W3HAXSQn3l(*y$mW`${AB&Ps92 zuAaS<9T>A!m>+5DAQOIYZz?31Xt(zjRn4vLNAcVH0-2x2Nb@Obr~NqI9qcJJemfnr zV^Vq~V=*Sfvs3);n1h5qdL4sp21kRj9Epv#+iCK0iK-~-pG2=&V5rnY$#q0hauIut znds?mOZJO}zQ{EanT`i1awL7#-e1e;^L~_Eq8P#9sB_$WJ@|f`aFMcCD z|Bqq*4=xA9&Sp!{-e1Yf<)8m$95DZn=`jC~NpAiZU-6>XUu4b3gy;V;^SG3|6WAS@ z#7VaI*I%`b&CME)CfZ*QK#rm|B65+D9rLQxMD-U@NfL35jH$0ZTNl6afzX%n^${`^ zfl(Z74chxFdAZ&c4jxY#-~R^RNllbopC=`k*dFGlx+7aV=69hlaxF%tW5ID8F_%U9 zYei!-m#DSG9XI&mky3A_7DBSBj@r)Z_`KOMKN?%QrAfIa157n3*L}nBf!d5N|5&*| z{q~QJu<8c=mkOkNld&Ugr*x3lr}(qd?HvzW%5>f1I&dQu+k$pGN=Dx*2U^n-UTc&R zqnGY0Ren1vWnd;TK17yW&yKcb|1ihXmL7pjuK+RTfgm#Ou_F?~QsTBFCzsdz+CR(_ zrNcqK(p$u*H~*AoB_$U=thCzeFWD~@`izfKrt2O{!3vJH1MU6wSJHBg5Dp$s=84i; zpb@Wm@}+o7`up--w^B^VsJYkKpFT6_HhbeMjA-#w >0ULr@;C@z3l3P3g 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 z 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�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�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

x><+6F3xb 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%0AwU*>_3pZG~3Kes@akRL9J1m*W7 zGOq_WN=l61b)Mf3AwRzwn26t8@*eK_u}3`QE|DYStUuhY1^*&8AB6m5{W0X{*38zG za=}R^RrzneujCso$A5iN)0m0yf1lK}o%w#2?<4qLD*12Nkg$G*5<%mqn2Yb~+Dn*XeFFwt#_-wn154r$^^(*rsSHH=hBdPkC z8rPuwzDCqS@T4Tg_@O*iKd*B9L|6h|_!vXp_Phphj2j@q4tWJmI10PUL|dGYkeBQ? z1iX?yr_%9yRwVd#`vy_0?GE`sQewPt7`5Gg33!FWJ_)}CrebByHt=sc&Kn==&8KSlZ+ewnP z=TAX5N_^?ldkXJYk5tY?A zGG1`Gw;Qk=c#2LXqJ0D07jacL3@BaelXWes0{Qg~@rD^LvK8hj@O><%T{g za)e(WxSa_uBK8~z`Gw;yi}%gCad*E+@ce#6l#Gkvk`imb0TM^?Is2!=67YJKJgYq~ z{D+}39U<7EO!%8pbxj{2_HPjK3dbFyvKx1!MS|z`6Qb}nHko`^BTwTp-!e9b_AR- z47-cM6z6*VewfAkR1tGt1eISeXx;TFSa59wNYD8TQu9UPGzY9G-w?2>-Cg)|&?-p8<+ zk`&{IC!zeDeM<|I^D^i63VEY8RR2%r_z96C{Fn>uA#FH_*sCDq7uq*OW@X=a8jA+y z_Zy<5jzvVA9|Jz3SJJ}dyv+G6B5zE!@|(i(`zo4)58);pMW?(5lwZugC3vro8*gv8 zyp`AQh+xfV*f)|EYqw7%9@@7fTFdX5^Lf?Sa_jl9H#=;F3+=KT0SO?ipu$DVF^XD%n$@-A>gzw9Zt;VlsI3;oS-dYAA%9-dmILHXqx zTiz4&lB5{FZW3qUI)77zCE&%Js{9epYX--6NdCg>ZaDp7Of!^_c^ibhBJJk8Wl~-@ zlN~{Mac52Wqo9wZ#CXwZV(k_Plk+lfx3|c9qUXmRZ@HiN*zyr@I{+{!4GJL5FZ4IV zXRWbuh1SKDzFEo#`1i()XZgkpJ7tf>^t$Cw^a2heBaG?N4|&i&E8b?K$AKY zL$e`6viT)XrPHAGDmIoikMfn06sy{%cc{yqrnH?&8H%+4OI6$yS^Y=Wr9Ko1u_rxz zR~5~{?r_7&Y2Jv04?xH-)N6>$${z7FK@Hk|4G^_IXeCK8eymzV^jcb&oR@j~y-(iE z(Ul+Te#4Ja(HtBNx5L5lB;fm|`Gw;?i}#i3xMw73P<{;&C8J2^)-iqvj*NR1mVnm> z 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.RTKdL(1^I2fXyq8xfz4C=gZ$&W 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

R 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 z zq^Q4d6g;VN!IP7!Ts*mkV}TVUXA;v?^Dy)zBw$2wkF;|TKkncMDY-Q0>-DI&;>k(! z=ov}z*wN0UEg8%%%lf}ztm6a_6a2OhC1VUVg0|~ zkJ3dX@pWy%Rg=o>xije{T1n;w(tnZo)>clWam6d$2;m)R6^$RUZc{6T)~g!r5!YYn zd##wGOxgy00R2mG))(0&_TL10=MTuqD#*`H{{IM@#@|gorB(y{EHgZRcmCV8ia*?R zI)8_0f57-go4@zS9yUP#K5;zK5+n%H{ez!7y1J`Hlv6Sw358_IVJ52h>E#o2Xx1FOolh303 zT_rDQH$;0vkC(XqBcOlIWKZV*sB8rGwFd}slgj7#hqL8RLEQZboX74D2=RWZsCwWn zcdLET@_2p%m(ZyN#po@?!2C|mk5?XPF*lB=YcKAagT$*ZX=$7*%8he1t2@_TV4Nas zP!Znvmj92|WtzyYtn-@c=l!jAxl<@Kp++NY~e-?mmtT?4yx>4C2bL@)bu;{t&h##gVLKP5w9it?dxi&pV~xkrTv` zoXVYi*>8z=d?@d`;W6N1`TscnPbj}QXLwE)Pc`#@IDR|3xKh_KL2Xmo2p?K@3L63> z2AgsQXENc5v~z>kF}0mNd^wp}ODF33xkwechas~cbQxz7AJujiEfjEzZJ+!&#M(Qp zHRNcWVU+U~)1M(KSSdGy{CEI`uj;>%^uex*!7u`g4GLw|wn z`+#?{?|G=iZbu|9C$_$R`P2H}E$tW42e6jvgVcn-JmR} z5W1aG$E48hA^srX*E}{&gNLN2{u`2uhdMQL*Gg0qZN-M0^#13XHb>Sp9v|CNLX)BVNTHyM&qE|!4@Lzw&VLnwBa=<6UvRWbi3zzxp71^Eq;pKN8M$> zo~6cKpONT#omWkfN1epZJ#D|IUc}Coe{#-#fhiwLUTD2ldm0;u3+k8RqrKq!jqsJh z^gUnVySj4T3KEQ9?MhZ&L4FQruKaBYD&t)jW`3o9T+5|6!D5FN(mxUoA~{pRNGX4S zWRlsqcuD1A&!$ps-B-=p*HqV!I#c&UW+5~jxzZMmkC&#lg)K?(5^IZ74~LGFoFHDB zda&CMLA(?SA8Gx9_z2%U^#tKB?b?I7O@S72mJlC}Bt9*k2D~!$SL~&lVw~xVjI*-J zIIHZcnsRNbkI;JW>r)V)fv~3TZOi6Ny@Wb5IZBbaKsb_oiGARoik5b+vBRPELjcZ+B`w8Ck)YK9vuNE#4z4^FkNI^+n_JFK{ z!klh{c%8m$Fp(d+UTR-r@tQY|6^kE?{M#V*CQQ9W=Qm#$=I}Qwx%$+XY=#wiQl1ZP z$Sjn9=e~G|nC*hRZ1?|a*^L&uJT+><#DB_oo}|p3smuqaPJnJwIp6X>%7u6ZrV+6~ zF0`E3daGZVN~CzIjNj!d*ZXj$KIk3R^&S5`{_*Uq+j1JsqTMQKw|czCe-9k>AwRV@ zfkH}Lil_LbC7o$_pcy|HXI59^tYgh;!*vtd zCiV88BHYu{Fkd+^ z)8y;+^1j?`|1U0TFW&3A`O|^<@I^g(UtE}(Uo=R(O=Q(Q-t)9tmDu|;>U)2zzAC<+ zX4}b`N(74JOsjyfY}5Kfmr7R9?ufS3Z~VsM?V!FX-fo4Qfg%UIJ#7fz<SdxO+Xv zu1j{NVeWN(wjJ^$WY+k&d)m#gB`NM+fb4P51j&i&|NG>e_OCbY*7^l;H?f*&vxUF3 z>s;#B1^O*#V!$Kq+TggP$_?V)eGqrMNENv&k$Ew6rJO<9u3I^fMs~R1a%d=YGX%cp zc?oCQI(`eJB=jqYdl$p;PRq`jwuQ3D{EGdgs{7gw^@>YseWhyuRGtoR^KquV06ne! z7TiB3{rH3K^V2nn(Djh}f^jv)d(+shGwprIouk?sasG{aROi?3weZ^__VVn6#!Mj3iw78o- zT<<$+~FNxNm5 zao*kAv`(LFI-I>l_usYY`i*J()=HB;_zKhhjlt1nXv{OUM?w6ocx1Y@)z0)YRF*S+ zGczsLRi{z)B; z%srvYr}#t56T}}x?5E=rBstRs2OJNb$eENS;wKxtPO5UTNYm$7o7H>+$9EutH8 z%nP6kIg_|p z3H=JUx~C@xP#Vp*QS!FU~CFujJ)V@f0_I zo1I(4AGnN&{M$%9#!D;?snH=TeoKb#*L+J8Z->5wUQ>BL6(d=HiF|}^zgT&SduAYO zhS-cBjWctUGIeJC%{a3`kSATndB2FDn1fpOFP1-QF1PSyzwLfs|9>aqo1BXy4eZLR z^}pz0?;FV~_aP9Yk<~?6fsyEs%oIKA98;slJ+(N>wM$l?#?#hEL+lHj{;|d{zsxEr zEX>Kz8qvF`K;KI3mm%qX_4NpQp?XZbbjB$Vv78wvX}|rDIkcc8U;RWQ$iY6SoQd%7 z39+|-#^J%|Po}>_jX~El4u!fvXF+}Zy2?=_lmok<M(IgT2C;vB@4F#7!!n8b`9@D>n<4 ziW617_?~TGriJXcP2<>&OgJ&dSme*EeM&1*n>Fjta^FTASv%w+V!idN~cV?bz54hM(QjV>B zNN|&0pHT%p1bsv)_km7=@cc6cy}C);;gy8#AlrKibF&$rzFlYuCzkYe|Hek7d}&!a zGb4~8Sg!E#Md{a`mY2@c7IA(lbh+e3we#=gT-v!{;5GJ!#N*#DzeHb2`drk0@XxmA z&P>q{O~LYuoZ$PN!`Dab=X~Yo>uM45ZiKG0#XOydj6qj|I07BkQ~L; z$&7y~Z!mtU`TZ}tq~8GeD*lYvcNs&JbLO28v%r}JI*$q5ZyTf$%OiHy9oI8o z_qa!u3)`h*TWr`==r-tP%FQr70 zSsRAWg8irXs5N{e_SrRv2yv6hlX2K+_)O(9Zf70s;Zh4g%sLp-k!<}% zJ^ZrbMdjz=#eTF9>nyX5)%FVD#aa84d$?_(aClMs&&7+gy6TNK zL*6%Ow}I}zJJz)OvDBn5<$pgeA7a|QSz=lbSYXm}#_}H|`>-x?IoFHYR}i<%ViDTnDD8jn&a7LByx8f1Gpoej=FF0P0GecQO5#NI_xpz8*ja?3CF%IU zx6Zm9x>ItZ%J~;pUXnOgqy*|I-j$?yOGe76_S~5@#U606n>Y{RSg}WpK!`vr0I0q}pu%5-ME?KMNN z{S=1=o_iC2^C#|ljP`qwJ>RrZJLmRJ+Fz^^P{&zjvQ}D4xs&=f3-`x&<4Siz$ z`UO3^o!7I!lv2-k4(QjX_r-mB1LPYG$4h)A5SQ{=g#Px*$G6%NaPzF)9E-2|D7YVB z77@Q$yX>7wm#c>RT^uek;~-Dr+%$N3_JzXx=byZ|>tQS1y2wn(rXeP6>C>j|USBpE zUe=A*`NbEM4D`dTZhUBVFV>JicC$cwvzZkJlkO9^H<%MVR($hmAl~Xr(aU0g&xrk9 z*WqWU>BY`$8%1&|HI_nIE`hF)--32ZdO!4d6+81|>^i)wKhEqm@PF5poul7m4B?+Aaw6w4{=Ue}&gPXx1x2~?G9!8OX_E1z*;iVw>WA4SF}oO2w;xyT zw~^=lB5#IEh%?m>s2p@m>ZP9izj9{a0ls{TQuXJP8fUi!EP9Z26@9gX7({$EUQ#4(MCcp&!U(F~@Umw*4B4;JS>uu8XHH!SdE+pX$n|x>9z&?6<~8)lPyV<{U?z z#ZGcO`zN^$MVsSrz8~}}&IAIeo!kn8ddJh}xPDLV#7tOsg!U0B4YNPW*RyvZ^EsWN z!}rLyE<2dWp6K{gdEhOzN77bV$jeZ9HGH~p#X0TBW#%)7-34<_mS3r7c>ZGVWc&;N z6>!jbO2Yf4Uh(`!UHahnKlPbYfGp{MsoVEbUg>}0`zbF%5L$>~Qok?8u7*@*rFWY+=es#m!76uv1g-#PHih6aly)w@RbhjT=p=MPJfl?fH8 zyc#||{pe3FbD=rcLhj^0VgFkF6aJn*l)l;thnp;a`ejf4Q14$PW83pD+`sr(sF%H8 zf3d$_30Jg_+BkFWmS1TvUtf?vr^3}2IkuRNgHhD|R%jg8i>qpYy>O+fy_gH@gP|!} zj&S`h_j~<5k9&m{=>4Kkf%jBNo}@bUA-p{455Xz4$?R>&t5Uu-nxpMHhn+ujKuL3! z$S*b}?03K2MSDmx$8RBeJV#GCV2n2VQRI^Lg4#pM_mf)VR8gN?r}&KjPtW7&R6QRF zqt(pKZ(wd-&fI)6bMuYN%|TG>mhwzuN4cu$QfR#Iw?|9kl+q>|k0(kq=K@OXp&n8p7W~Zsd_jc8Q_CCpG%&$Ul7kV%ub0MPhV;AIp0I-hgC0k`1rgR zmR8?OE%K7a?OHF-PAxzdQMXduz32@eqDfeZIqySX@e8M3s)xSr#hqun{ewp=?PPg4 zrAH%y31@Q&T8U8YpG1CTq-k~OVW!ocJ58&5J}}KrI?J?LKgV=jbG}LW>K@bV@$Fs- zo8~(?{V8o@OQZU;kTy6GIz{pthI^E+r!TCVm!1oCw|x1eXT_73{u(-6a$R}x^eB;i z^T%5&xZUCQXFA934ko8GlfHZ(!UpL+@<@N~$^MKqX89jYvnAK@!s@lA?E!hF`F?w` zSNMC=@|)k9W~pzOW`prEt?n{u)801CPCE~k+$A;9)Z+CL(|lPM)9%J+Ov;AeoAmw8 zHm&z>W14S0#_V;`W2Ra6TTJr~<4kJCM$>-l%ck{X^u)ezc(>CYN#T@I^_7(5HTEkJ zXD!8pm*xvs?az4lD^dH_h`&(2UVk!QEgb>f9O2vOI7Q`o;~(o@dOdWH%B$hi9si|+ z$z{e}I#PbIsUG8>nQAFMQ0;SjEQveQb4qcNEiQwk;ba1yynUXp*xT)oEykI*$~g03 zopk@+C-=Ji@Pef>X4P9aaJ&j%uYZ@plX8}>6-mK(Z7C?Fv_f)SeTvubiS)@Iuc>hR z#5i*W4q#|YAJ%UU9;brapl`^K=M&C_v|m4CGkv$byn-8YvL$#SJ2w@)%J0dImyO&? z((%G*E@h`(=|3f>f#XH^dhNL!o^M0%MEJ&Qw+8vkQjzD4mr7*430WLa!!Lr&@Ry~} zK(9iqZIpgR9x35?vEyI(V+ZC^Cz3PgK{)8zcEbB*f6}{gUY4g>~qlFFUSKCHPJ z&~Hq7&pVB?^p_lOu#zOs;;e};mG*oBelNtWZ;a*!{>%zyyGJTImlk&RS!CL+=wRBn z`pUF9;Y`!I*)G%OQGQ==Chv;fqEq`I zeR~yji`J`#PuE}1MR(^8fv)!@C$t}RwS%u$t>IV=iC#$=Tp#JoWuWfG5ZUW$erOAY z(yOHW$lN<&Ptx|5vap6SSLWIc^drjG>&KPw1WV6d8sQtSzv^nQaQ!It@calEU@mjL zxoYcn*YJzikCVtPg_cW6Y)aUVHC*TUA?EF9j6?05xevJa`~BI5T>O{zr}&)5>=n-3 zr|8QMp&!U-2Q^`Tx~0LJ3LD!hi-UAXoTkeA3Opqf_I`yq*XQPFqz^yT;ka{6 ztF^_Z^;P?rc5j0sUQOkF9Q&Jg+eVp|qYp7HI~DLwkb6wZX(yW&^SZ$-kiIP9{u0yb zu|cNw)w$gB8+b9-DgMfIye-AFt-jT?JmY?o(tMst+5Vzw)&19jn>kF|0#V^SDWi18<5N%-?U?_|BnnR`0NI!8%(zv7~KXK{U3__Q#Jna;7ei4_T1AyE9}&M4v)qtWtg zd@X=;tRIy2#mdRvvJ}z7!=X$O8hpNS9+9Vc9iT&@KmE2%D9R9gU`|f$uw)j!g zVb|Rz{q{e`2utELwtPYT((;AJv&0PNy$*@J1@p|CZj0m017bR?Njj&I(H`2Py-f;l z%$s0kslD5PY+^F=mPuYMy=;&@QaPUe!)wnIo!+2w>f$T;@$6zKzp3)TaB82VO~E_! z9#?sCe;j?5-y|i}YaK7j9~7hGQ|#+=&{qr7xo`znQE22|Ec~Z`Je%r?Z>5SE1z+LoG+EU{H6ks0D0XQE+JNZF2cQ=7v zerRi>dbtUaKT;O-$L*gu@ke_-zmxPj?>n5nh&)d}SrM8KcAPH|$NK$vdRUj57ZzO4Ujm?yq)B>ggQZol1EC|uU0>$KF#4E{#p8N92^c0fB#ZhllJuR z5&ZMtpfY>E{YAo-w%nQ>j?4fSvd3mLKyv6 z=u|Q~L8m~;>BW3Ea-e$g5His3`8waPr3W(3D~#Lu3m_ZUuR*BWKl5)V7tA|95W~{?Z1>k+J+%qFPtxzdj&Nq)P4rRm%zPJP zIP)K+@2a8A{IEBq{Wp@US(TYzVVa*a(=?ws)3lhyUfMekGbX>>nBiGm*n}xb{i(1; zQvG?9(mxOVQ}R@Qc8Xo;msyy}KH3KP30lSXOOGLg`Tu-tzdqs@cm6*g3^3oD|I0XT zNIwSo+J2F01?@WCs0>_CW<8QKA2=Y%ng0#TEJs2oa3*VACqfZD?`LBJMdV3JvfV$i zcWb*pj>!K|4#t-!C)xeP^M$WBPM?4${=cjV{lCid#_5yD!vB}~{@)v?Kah+6FB4;Ev$vay_BX*#y3wEJDtm{-P6c7KZR2fGC3UBQ)x*z1Dx zpQ!76yRbK9=nskBfXT~FwdjNgJ|Fs>@t-T7*}Q8$h}ZGnc@P*Y1s&t zM-G90%@4nTWHCXg1>TgO%xo|Y|dXz%dWFb$|INZ9}oXD&9~1p=Iv2zQ#f8Z zH|a-mcB1SmTPW>s^uG*`S9X`=S$mYMolw5gzl@(0=CSjc_mz!}@C~g0S^3Bdg{zdW z*aP9qe5b4@WaIudaB}TI*sn92#YukI;*XUaSIA4@nw_Sz(WB ze`@=`60ipx7W2moJbe?npUslbPSB9b3>HPWbKx zhnx0av7T1(GRN17JZr~N-?qoKKNYV8o=52t&yI0h>~(SNms}^~K49+ydUOC~8VE`M zVz(BsWG2a301#+*6m&9Y2SM7ub?I?^^-JfQ3tUv8{jn91+0bB-9(?X_!Jj!#7Uu-} zm6@I=F;M>l$(;^?HA&8b68+|2ICZ}nBKBhrh9dRQGJ9SyKEgL1eoMA}eR!;%(l5-_F4TaH$N+{gg+P`&aQc0#HMqAoWh~GMMb#<`9;0+ z2NfigW5+9T{srKf1$|80hbe7UYvWYQw4WrnqtzmNT>CS29Cq>1gOujHoZ`&fJZ_7< zE~BpN>K?BLQNFJs(N`I-PutQs3!Y_}o3LhjS2DoMO`)%kSXrvC|3o(HKnvcIJhd-D zT+uLn5;>m!zJ!dAAlyE3gm1j@C;9R8IuyQHAo9>()vp1_+6k$j+g-yiE}mT=H5Olt z7J8}C^w0OVJX5pqw@8ux1@|m$Wo0=F@#X2#$Ko^&h4yHVM#6!)I37=Ip2G-osHMZa z)mhlva%{@a-^uUvQpbhKnO%pNLVPoG|a=Sk415x(*Cra}6v@;rO^DzY-5 zZYr;aPgkE7b|&{Y=nVPAri6A%^m%*9uxwt|8Erb;`+Yq+1kO41y66%3aKZcb3TI(I zmS=JD?FW(38B#q;%71&Br2X|8@~(jXByy7W*ELdBOG12(<+Y8jUa3)ly44s8;%-vadBW?8*B!=!V=p>ORd>eoLr$A*}eEJ4uxdXae z@*1fB!q;n0V%-bJK@%f<8+||BLXqd`|69l!4V9|A8a_S!$3`vuJ2X{(u_>YctDj!D zjJvAP>4!}Ei9?N3IfC%}KzUiUVA@Hs?u zM#c>vXrg%1`CZBVP;%Yz6i@FH*^2-_wA}GlYy}Z!caX*0b&<~06WWbL{c8P=@W(o7oNEha1mC?#@qc3e>bK;6 zW;=TSgJ|4&+2fb54^#H?b`z7Qj15s{Ter^^-5X}8+BMZe?Me(>pK(q{jH z_oS3?{=B_X>|D#+qVMw0R8L+G#6e^2oa&Pw2#vkImc5I;Ugjsk_g?sR@RyYF9!T^* zh3~6ushmYwY@e74tsvtFNcF!-^nKA~R;J>TcPRrSby1<@HSRn`<#_u49y0y{jZ`_J z=K=dBd6McJ7oqf1<%#}JrfDBS7QS!Meag3nPc#p57Ue?MLw7)EiKKA)tNcCvf0(;( zgeHW#zpioZ>&4;ldJ+=7z#1=_D}2Q+;;cLMgakN>18G9Nm@X1&B=HmPBf1i*mYjy! z!9~K?(*t%HEg}ZL=)nlzMz@11PxL_Q@gcG{K+mYW8b0Yk)q`?!*FcZTFE)kH1G!i4 zU$~2VFN27VEqckl-|tVcUSC1dpJ4VyZ`v!IMK$!LkQl?GpeF23w^Z5=#0VBmfn;qw ztiH?rUcY_Jy~Oz!NwK4F!y@U?&n4H@lX(4^X#D!^27+7Ml_9_+u@ifT7E5oDoW-r! zX3`D1oU@~$eIV_xk6fJCt=4PLlEef0z7e=L2~I_*&>*(upV4^O`s2a8{Twrlx<`n8taEzq+N(Za>=$Q98kggmj3 zY9+C?qNBpcS#pNu6PVv0L+**Lp0P)4@sIWjXGsTiY!xIx>{uw2o-vH&e!lGYNR#^6 z2@p>pefE(_{rn8*2Ge>_7PQi|9&D|;Q-#N_x~5=VevP%6sq@N!o~AxqXQ)` zM7xXKk^4QpXKiZk6&GKr7^$Ag8stUaZp6h z0`bI{mlqW69%)*v>}p!9Iv#q#qul|^vUM=ZnIjdfML)C{sb{#w82C$z00zOY(L|_ zvqK`!vqQ`cmolc8?yK@@`1JGui@1~qUfK>iKz>_VvVuY6_v%lM>!miB@!QNA^rBW>?2Jq_v(xovKL zPvC$2egQQto$dC^{v2N|_e;NIvn};p=wi+?ph&-b>aT~&rm24Z>p7B)bLn%TNYH-y z52A-btfJ8`f*-yMyvIPsQPSg9<#_$H8yUAix2hcB8*g7igT}4ObH{BvX;R`4OYc{C z(*JRu=a%0jg|pwvAHC4$aYYmIp^2gH7ys`l*>^nPKX?{co~?A2j)jQQmG_6{2{+0k z*SCU*do7h~Zh-EDxOP4>`lXAZm2#y`^(a5l2VEz56b{RvO5vd6G0yY!_29dg`;4%( zJ9uE}dgU8CUrsa*WA)D;H(h9*RCnBn#e3Y=+~IFY%z;Nk5>Gn;YQk}|#mba%(+>Z= z^cCoJ$%{K~lDBUn#~nBAut!VZhdxp{GCtz&<;2g*MZH{{>%TWG;W(+wuKD_%0q;M%`h6hB zhuhLP<)Yg^vempj8Tjrd)bH|xtW4E!>|FVY&?%Cq_91CMpnN@j#%`9M3w4k1ZFE1N z@;pBvz01Cna$PB?HLr@bH=*=Q`FnlR{Qsc!34cHB;JuTh{CC`s`=^~nPu=)% zIY^=WbO;opz9CLrE1}-iz>g83xMd}L(xEG$<>Zk9c<}^s7rOe#dQrLJ0gQS1-RK^R z!3RCT^(R50?CVHS*?Y9iQ6~Mn`%U`JR?r}my7Ft2`snK>^|4z`>f^^jkDJsd21-d9 zHzgNWDbKT|Q2nQ0%fV;mVH`#n8pj#54Y0_(ZsCmt?sklj{!p4}FCeITYJ zQeHmXelNeDT;>X33%}pP>8aF5^n958E}seqR3Sur_;yWfh`0X0KB)4|a=+-+gFHTR zDU{3E$&l)mw8!T@-u2#JkYs{uC(!3AuZB;r-|>LuL~zUTg5_VyuWr9JOv0C&^hx@ec-k93t*ooKF+z#SbFM)r;1MY!7vk zoLc@t`Y&l5S1xiqy=a3Bspl_Mj-WYuP*4|r<1BM$%4%mC-ajH2&fdE_mJy-g?eiqH z3m`G^2g}f$WkiZR+4gtp8?OIO=1vc27kzC&Q682|F*)n-f_ld z;%-Pfe%r#jCv<`2#O!LSH$o3cPQ&IE%2)b}K1z84 zp2TC8Jr&^_Z=Y$RcC+J0$}8hj_&y0wJn6ERm2VB7-uNWSvFu^!S?G27HT3ut{xUvG z^(JQ-v(aTWa$HNF6O~uSYXDaU@ceIhQetnn-+u}J&r}u%UmDYy_+satWSkB)VZVd> zBxyT7g=k{674(-|&p`iZy@Pg#YUy>}ccON%{U-7}eE^dz`w@9(u1Jdr*K6II_zLvnY5a1o+mDBH ze3ZS)sQ^56UIh{VGWgsk?8k~jtxO%i#6T+W1r=g48aRHHFEuZdcBOrnF=MRgZux4C z=2kE>tvE|^L-m(GK40fPyao40+BVRx%&aSjcPRcmg5%#?2~I^0kF(LXhjk_6Oeoa& z7-`Zb-vGTyEd<#P#i)6Vs)n{_^ql({Yc_Q!1s9;sP;yTHzw;l5R z%^C10bKCVuj&HVgb}B~FrhkWKlOf$1Y1i#>{LKh^SCaKAv3IM!?oAo)g9MJ&u9w(_ zq;X?~$Ps%Z^UHmZF%6oja_X8l)RiB~zNtLMiTBQtihGf_Smo95>Dr+R&{4&BNJf>L z651iZ|IXyj=iL4~isO}*g;TMX$Mgum|MFlmB-Y-9{kP1@)OKZ$L&YP|@FSkQ2ar6-4(c#K=m1qJ9eAR~op_Z(pp@a+*->&e2>^ql`ItkG3s> z7$fGlP^5jmeeTiEL(1zllEh;?L8(dGmlfNC6Abh>?upc}pLqA3MCXJJ| zyxx3?m|Vs8w4tMXWARVyd7}PO+@Sm!J^G%5i{XveST4=qc<<5h<+O13oddy_bG-a; zl_OE9mJm^@3Zgj`-|~xGLDXRR{&GchN~njvzMTz+OI>|ChGUHb2x}(ShvVN4?+@#9 zpr+F|p4Qc*`gQ=K&w;v0R^yImmE-B(fyiL?y!;}SBYGWA|LV#Qr8g=My;Qxq1X+KC zu2y+9e7f_5W06vy6ial39bu7oL>^;u%b?Cx9&>S+lLQQBl+*pN{lNjUjhoQ$1Y4sub z{t>>Oo#+hD-q7q98a`cow)_EdnGG+0Nq(^@VZZz1 zl&D}O;Wq6T_WUgu#6fbFZ|5=5bm&){iE)keOJM(VB%b5FPa&yz-12QA(H*CUA$k|Y z5;gr2>wlBQ6PRn|=Y3nf7r9=){gQUTTUNH#>qJhY?*r6&dgGWeQpxPT@)s(vhEH!C z6Th!afr#W*9w@(t9>-E2^u&9&%JT2vpmXhn`XKEbjFv^ymF@$VgcTnLS1SN@eenL|D1bc61ORzt7y9(XVa|G?^$V#WAp$>4u=#lB15 zdk47VzRT8$c~@gy?_F}-cSbld&(=CT$>=Qp1GG?|hH%)y?XZj1TU&P6k>xDi!s-Lw zg4Ixml_`f+7jF*k5FvDk-Z(@W9A>)?GbpEG8T1+&3;M>A#=b+useF$o0)GRI&?g1G zXG)wZcvZoxni*1cF|-n5(ET?h^|MLaRejHiH$IvBSKbW$RoW*wpJI$SmABhgQ+e^m zZ74se^02qwyJZ%>31^u;MXhr!M29QscTcAMo$<4$brgR*p>dTA9ksW==6I4Vxl=iv z$GDlN9d#ucJs`EW^4`5|@!}cw{Wb3EN|Kznd2hH;e|QvSDT5YieUi1aYFCx7*Kdr9 z%4%qJgm1k55qZh$$!K_cc9l6vWhL~G%1hYq3Hr^i58hVe&i{b7*lvx&CA6#l{aAOs z{~7e_U)-;DH2A+=mDr)ma%esD7=*X4d{t`Ur`g#EDtQD?b^|TB8KeeTBDlzd#1Ne?UfsFH@{{=mL&&pOkWiC;dN- zS06JtmXH?7SpoJq8nAt|K#!hK)9WMNT$Ab}n0ZAX$d3yo9sgCnp8g#V&nuumiKsgL zT3ziHs()3UXE*UhD=vj{RbCCBEtH%U7m!P=VMQi1RDPvA;rXK(sz3PE%6H&!UC8?* z^09%UQzF}0QL5sD>sjZKTjuHoD?2Mj+AEwDck(&}PL7#PMla}pK`%yF*{T=V%oWUq zSBP&4+g@_N*Z-p9)1aApe_j17`AOR!5UJQ7+dndbiQTSPtnzC3#B!hm&WgW7;~}^0 z?e7Wvrax|ba_6^h|FCy&g%|%{v5waSFunPe45ss;NdLU=;+;$CeEnvUct_vUA(eWK z^%c>TharFdpZvI822-!!q>jX?SNQY)c=4cc<45><*2GtUw$vyFMr z>Cjl{1?D_Nw5qR$z&_PABAxne$S!WG<9#hjj|-KD-BP_}@5G9KBd@E~uFKbQN@hW?=Ui=MQE(Cg)ljjCfI84GwZbfi{F=x2RBIv)=B3dQUAovKXB z%&8iL4m}5bLPl?>N%hFq{|YNx?d++PWf-LKe>=XC{hu9u6Njf~L{zG7fo>I9$~T@q zHB7Ii9-jR@4Ourq_p7|d(KF%i+21sH6CqEkKe3^Z8vva4q@*4>!8Q&r7tGFSvTPMnsQ=l=ygTWD*cdM2Z26SPJ0 zR3DO#ClHzQ{rMU2Wbaqivk|`W;`yRy@$@fTKZ-ohp0!36h^y*#l~=>3i^Hqdk^2aQ z&y4ty@chv;wMWbWtDb<~vHU4_xVRN-8r4`U?;U4VpUM5=r@rL%5X7vGAI91LKqo+| zPkVZQ`c~xDd;d1kQcc?5pnxjuK3Ydo{~z@C(jQ6VIhEttnX`~VpH#O~Id%1O!|aUI z%d<21ifX(=^#PH3#lBxJSkG|%FZ?|_(}s5Y5&pka{^9S(&Zs}c&Q$LUNjF=Z=K8a$ zo#b*=bw@}r-BEHybV_Jv#BRAbD(1fwVq@jXIDn&mhs12(=PvANB|FvKcumFeP**a< z#j1WLrGG@~HL3pn7J2^z$!bRf?TzyF^bH?SeK{my;3mRPD$lbwZIQJfG(_dq@afu{ zY7j+rf9Pr`PkyC5q4Y)hd-w@^Q~d{MSg8AbJR@y8-|bJ)xtp{A9Q>8O{0NebKz$+Y zPbpWU+Z$G8G--dcPFjs!t{x>>jcadIj@SQPk-?V;rg<;58!zOuH=Q zOa@;Q_Ww$eNP|ecpgW?UhMtw2xc#3r-eBd=#~VG6@f!4|%8~y6;q2V}+~RZO+)H)h z-EiYmLnFCT8)r}|NH!5Y<)=ca_?-|s&enk1c%FbAjxGfE|$>aXQM z5>?YAhqBI9lQVo+UT#)yaZxdUyCSpioZ&fHCB-?}od@R?49vs^?S6vm-Uz&Jy?e=s zoWg#E1v15CGXhW0b6aLH|3{@FybqBh$KLmUo=`3Ker}v^XXT}h!|4B-OUmDVm~!by zChetdZb`6BHtoKL791;$eP%{RM*g6pj3EU>bBZ#Gug@$Z^ZJbQa*D1kE*O?E6qPM3 z&K$&h|QN~H9{3c^Sab|vYW?^=>VL8M55`Qv6UW{9p8o1x##xCSUfB~;|LB#={%=?dU90u;{3G4> z9nc#j>``xYdZ=^o8EKgR+?snPXD@a&Yif#1N7u6(3yZP^P>TLVLS$UcYaaMxk zSG6bq&rp`+1^>@av@!I!lKJe9J^FMTFhE&bTou%39mmYMSL(oG9Iq_oN^#0EVHF6N z3TeCjn3Y$MpTimFVvjzkyRk!;Pwk49$JNDVMABO1Pz)EDI4f^Op7;cDGI10Nda=`&!k=j2>}t#SUkw{h;qMo$1K z%|Z`1ZZXai)y8=-bI&)+uc7N-BYu44U6!M?dCC&b%b^P8vx86R5mAT*Zax29Fz_0C zLt?z>_p5jvQp;cP!D_?Gb$ZIdMh;}M`4i+ok$#o`we4P#o0t8EoI?2rLVgQfFJG>p z9g?iUHa`$?_uF%4<+IeP6LcUMqTAZ9TR9NrVurR-w2!z7t>dh$f*yok(Q@zU$5Rh`<$ne zz%!zmA{Q-Hxl?GVmJltq@@usZyYez!v3ieugsxZJ@?3n~3@pEjk-BPss96wSt^9%# z{D<5&5wS_jZ5lkY>R!KOKj$OGGas8yC*JASLM)c1-6Qc&cQ-knk$+6h7ZY_}&LF|^ z@^`6Wk-0|*}Q2u|Y#eLpc?6>0KXMN<<#rtp8^9r(h6y_)pzNn;l zSV?g-IF7w9BkXO%ck`YCz{lQ?=o%M^fhVA%1!HczcXq4yKCA( zJ!4DT@N=~bF}Unb5aE5#8)wWm{3x@u>0fL4Je0I2q0XHHxEG&07B4sHO5@C6HZ-p% z`N>z3yw?0Wv3yh zRODdnR!J~<6(kc#aaD0~*;e%awUC_-kI>~+zpCYP$C%=@K@@8?Y)Hf z6!GT`#%U@SoVMyY7pFbIaWx`H&Z@^~o_5gQat4LMX<_H3ijzQaniMDDyH}x=s}vDL z_5ahN543;1agx?Ah?6G3A5136S+$M2odWgXO!_?1t_{XXDmRFe4no{RB30ymjm#^c zft(30iN#5)#N&b(1>dfE1^NKmCHML%3H=JstL@lqJNDI>{f4QV^j-10kL z_B(vP%8+vXp!BQE!&WorTD=d{#^RRTq5&mYSvf^T7VmzXr)lsKZ~6bPNG@J# zH)_0F9oLp~Hr%xN<06xmUMTUOtF9W*>%7aZBK&quPS(X&^~=0?$W{IFGP80n(ErlB z>Z&lYo&iHM3ybC7e9p@)$||@%r*OoD44T5+tp1t#gCp^u{~esxKPRhzpj2K?VR6sG z!h*s`1j^#H)uYkDiIC{z+~}@WoaW9QqkoYzjX%8-z-fD~b*<|&5?wF$B8ZDLUbMQK zmc&_oxBHFFSOYFu&AQ6!#agZ%d`jo<$_06Z*%d; z7LFf91j$+bDxVTWkp>c+*7$g2wS=TdibwE~tKWs*mz*FTS^bur)9&@gBU-;89+9yj z8bxwegA2?*p?9GuoY!DHqH=?HSqUH{d#a5sb4<>Im<;3g4e9!dph(iB+ekNU*AHzJ`+!kLNq2kLziFuy_PrV?}t## zWw0SRYls7w_n?m+?*5DANOex}q#964nuhAy7cFI}1 zAKB8M9U!dg+IFGqt?`F7L>45ezsCoy*#?RGjn;=Z&mK}MZ;CamA{`_c3BudyCdfjn6TA~|cp6e&HSzMMtji(URYn_kKXwT+(t3m%Y8 zU>#@80%#-jG(;?r^^;mDbU)AtwwK}a0&->l#@Cs7g9{3Ci-!!A`GoQg&yV|m46J8t zp{mZ>&d@Os|6q8uwE?Ne+-y?iahj7ZL%^SERlv>IE#vTskoK)xu-HBGONLUPnEUr= z*W%qDYtQ67P`{?Z0c&rst37^R`HBNRF`e|UNu=mL4j4&0-qYlM_oBjVcH3l*kf7Fp zlA+ApM_A`;{qEW#bn-^%R_LDSwpG77Iy%ok)AfiK0(z;EeqWNAU(9MrPEouy47oe@ zzKpQ<#pwXidTqm~pUP#Lx^sAy(^&7{rel@6<>Q{+#t(_*a@vCd+ z@LdMU{8Wr!T)(=Net#=urQs2}ylQ{7d_g~&OR=o4;y?g^1VqKbh$(G6KdN%^qid*Rdz;QV=zl1J_;)8WZ!0|ZfHS@C;0vcBb1=2vb>f9LLsl9-q06iGT+0{43)fJrSyDbqw2nOqDZhofa~84ZGCyi? zoL%LD7uFGiP`vOk$5kqpgGZ5hIdl~nk@ab5-#zWm3_DL%ys&P)m8J7;eAqg?<2q)4 zG5!CPoFlj1ctPtI#0!(*|CW{MtgE4Je}!ZKMb^8eT^o!SRBjM2bVlxjp4_jH2|i7c zz)Bk^7B8%mQW9&Yb)0oCL+?X7?cLsIX#LtE&nswof_R~lyoW6>XFZCS!byq*LByR3 z9`zEfv0IKK-{JdLhL-CObUk{ean`d-Xgz!S*4y>}px>8v|0YM)4*Lcd<3ra|$9-VF zU!y}?7$4$2*T(V#)RSHu1s zeq8(VSx%9$MKPT9JP*JAWat2u^F@>#-M{II2`?wM-eLPE_C6_ZyJrtYK3Hr0|7ba! z_2+Ti8|rG?g@+PYGRe&2DTLyjUXeey=i;RMNpaVDc9X5Y9Jq9wVxQB1_VVTJZ?S*cwa8)rl>{$3yIbT0chX z^%ajPxeEtgK(Gt|`bb`IqkguEiQ%Ou@?O@p)7<3j!$lHlws z2ANL#x^V+Bl5QGi+CKG@aZW$8(e}&qvU@gqt@UrlNGcs^x#^bA0y;igSbgz2QXatNwMvxfH9HX?1=J zNJ4*sr1QnGfsCj_8`lWvb#4FZuIB!(U|^4eyga6otn1qO;&c9ear|uj`$Vr>^?F7N z;cPg~{brSE<5AS1KjjzI3a`hiCmZ@IAN|nz-`ViGT24i82k~7A$;J}_$#L~oaKq~% zD-VzQ>9LkCpvNun=^OqG8I~@ z?}w=K#n6>xh^}kDZskCfi*?-%mqMa}tVl^+H>`pl=eIygqC7IRNE)wR0ms|zxwGL} z%7W6Rh%!i=LHi->Jf=p6usgnWo;e%dZ$LHBYu5h+=7pla|1JU1*%Z1Sa$j)1>dO@q zB14n5+prya1^QV1OyGJe4Lz25?zb+E#bnCfc1fYjq4s|?)gF)Rndr{lg+2|rkDOcG3ZkqYS#(Sg;KmVk0`cF-I=4!Vtt`FsGm~n2N zZ_;P1Yqa@8w}C~)g_#;DFDS|_E+`x!i!tsVI*YS5GB@6M9dtc(e{}mQ&QjkNoo~-n zAKv!yQkVGBtlk8!%c$!*u~)&k#YmpU>Cf(3Rt(tvCOf8NwO%6d677*0gon1`6|cd0 z_IbaJvNVgG+{p5zd~ezpdW`eY&;-c}`hC&Tu;awq`PlhNP|sz4&_eoWw#bn}tibBw zx>Ii9OfZi69cj0~{GitSg?8MCPu$E3%$EOv0ba%bUuc|1K-iC7CVZPVg>DbUy;^_q z6|cGY?op0C{Ie04pTc5G%5;jH4k-?(EB;NrW#6~#^^$dLiA^&LQH-#0HSN*F7A17O zbzOlHY0`BCu*OF4z{a;ED@wm!l5_gI-s=k5uFb3r#g$Xxzsa6E8^P)+Yz|0a*+O+H zqF2Fv6{=_c`-wu=&+k_k*Xn-4Um|~(D}NIhDrFn=F&WaQ+OHxnh}-E;!F3zIr0?dV z%V^1ir-NsS&OhA5eJSNkqP`xUMVH(1)`*QC2_MGsCYk30Qku!czaymWjdFWrI7 zs9<)f?n%+jId4DLDxeUSvi6Dd2GMP`FDjm!(7M_x?N-W_;Yw% zcHG6LZS%j|^`n;kG%wDF)_X?)clEVJip|gP@<*EVHNP{?$YV^~3-e9eiyk)Z%F|8T zK3DQiqQ0iX{;8%73#w_~4KW>VxW=TO`i*J*#@D9(>x<(EPa;d(Er{z>Km76s#xdql z^&0EGX#=zcTBr9n+Wc4Th2zR$-DJ~Nh;@`r*Y2*Qa&4gYoc$Ui;5B0vy?jf{bVUzD0>ybUIcQ!j0*fPfIRzY5gxa7W>#aTmo z@EipXhZp4AeTd$pUv}QQxd$k)FM9PO^zTSdw8;R<>b%w3@5m4SfyQ+<`1Yquh!XVU zx%CmYn1gb&bSbWP{vf-w7RxWAq5O26Y_shLXY*NFa%b~8>ia%~)!v*bdG#AVvGdHJ z{wf|k2fk_o0CSs*;eQvj1riV|F<0yV0_$R1(2vKGuWab@>-<5>>*}V?i?P|8uc25Z zXR`!mWi8|lNI-6TNbOr-UQCvzB;>N*uz7|%AAOADk(QIQS(NN6NG388iuUI%{&Pv% zZv5XS8l+nQLd(~Ap*Ks_c_DL%&0vPja}X6ZFWfxE?Vozj3$9~~QWaTA=@qkmGXSFXFi|jc4u#Qo@ZvBdD_g* z0*fuaG5h3&ZRfalfIof|&nuK)2W$iWa6r6Li3|vr&j(hUMhRVy0KV4Ix1(W;|AnOb zcB|95*Do5>W~kGl?J_5A@r*u4e0YOC||6z^=A-^xiNTOb^~g>`-1kI(SJMiUw8B=-jOKY7%cJ8=&8|N z?Os|xwT)n zj@QpFE-3MK@NR1S$j;Zr1r(`rQSl=WMx%Na|7D!_^zr{R9)5{qd_FwCq`JtTlGD2s z@2W-{;H2`3;^DHO55EgPWAp%1w8(|buH;mGVx4zw3)YXN8eyda7T;nqRHznaR`+D z{bdz}vK-XUTlRsj8=2P>|D438j`<}g`JE@_s6RjYQEGse8U4KCl^=KX3z74KoM?Zo z49-tB7%Z2VeFnnMM>Z(Id(q}#^QoinjNwP&j}HNV48Ccq;f{XWuTO*aRetO%+qE437?l@dqLXy~;Z%A_OiYqHh5(64c6|h|J^v8C ze!^jBBvNGTj5!uG-vEx%`h3a%7A@(q)KX6{s z`YB4sVICfiV{QhBM2@-0{!Zo?{F^bS02ctf?J#B_kSo0uO$pOgLm4tskZ+;zNPq5* z@~_7(N#ozv@h8SCi?-CEeCGQTJ$z3%qInLCpkIF7`tdugfA&O@d6BYGv10rIpxGzO z#4Ur*$Bz#lnPkEu~Rz0tDdSgK2gr(3amLJI-D+>Qv z;6*@;zAPX)aYDt5z8ZV7XD?0R+_Uc7vB!c(7F&!5^Yj{TiYIwI{FZ(VZO zdPVWt_BqkKu}6Y}w!VF^?pT5*@=mty=MjlthOKX{4kb@7X`Jp=%DxFG0B(rs$AMlyCgDA{*3qwH z@zDMklBZwYPfqu0SzfcceJ&|1hS>x_9n= zlhgT1;(c2;IT^1$?sUFlfYZ6#THqc4DbiFjafh*ghc{jagbzQ8eMa>f%jM!H)k`y) z(rfW%;!JtL=i}?OgFGKsuZ=Cz(%rGlw~*X%#{pX)Q|Jnw1s`ZT#PmPWi3a)%GK5YJ=Gau6GTP3zetQah?WG)H!Vc7R4p2)@Vgo;lp zdQ+e~?z?ozQ2=Iyw^XJXd{wJM%F_#~-(G{-ivVobab~}Nz6-?*;AXx{_~%ozGC(eb zu7^C=Al~7RBgKon9Csyv4?pe#wg0wP4lS!LDbxYmr}XlY{L)*KfRFgJ?xVms8pj(- zL$4y0{lHL@PVI9wirV7X!RQ>b#KmcyL( z^Y(Cj+ev#m%jxjJ3r^OMeNM;8Z#W&gk99I{|1em~|v8tZ_Fn9;4%o z_z@IJa>u;_yb0uK97#qv@ttwRqsQUNjq3woX^#7w-W~JPLcVyPQbz-moQ^}q1wvUA zUjs}s^NcCQG03cp#;@#spBh)OG2R^ zJRPbWY3ei7Nqg`uCvC)Uk~XhxzTGjfxaf8(*ktVC@kg-Q<7>dzfvC*sIOq@Fy0FI@ zYh;y=TcZ7cb`*;~g1w*CW46Aui^K0;4UD!@h8QLoiYA4V{^2f z#`yryklgV@`F#X<5)jd^cBIrZY4-Z~8!48g@u&AdSqW6jm6-m;DrsP^hqBMLeztuM zCyyT`I#}~bR{H)UKo>56YEFR%I+dfzOaXkM0_;G;e+j>ppj#ppY%f&q?-UjO@qT@Hu zP}uDC6AelTv3_Da?b14S!i2BKt^6T(QSF3nPUkF@$&l~KO8Dn}hLAgfw=X6f4V(a+ z;$%IwB3ea_XFVRx$3KI+jNk7cAK>KCR-Xs!SCr4&Y_>g81Ky_^f%{dzAMAb^N46iJ>*mI@gq9@Mi5@5Xf_B8up1^vC31`S9dmIZ_HE-Mo z^{vg9s&Bi3=lg;OeLLYIj$1etnJf@j--_H=FQe@smF3ycbgCX!x@PmG69=Ik~;x4AbYQ-3?V0d9j#xY z>%|qHuYZ>?-y(GyAlL-o{owi;z%d$^t07|)pgZ9#ZX&uwtGE+x0Y=Dku_-iP)hbIf zVo2`K>dkS&?HjXoxnP_2`>R& zWG@MLiC^JaNpdHA0*nVfRR3q2sb?QP!K6~uik&5lSM84pGr_R{SmC72d{}X}Z}+Ox zz8!K@zq9g&UW@Y+oCi_Av7spIr5zN9@Zj@}$ooc7WXP%g}xP`ZW91CUo72U?NZCxvKK>2UtiM*ZiP2k(W***#8 zsCLg2vDczG<$HTQegiD#-r#-NjolaEALGYQSgobF6OZzaPdM(RDbRWjp!(j{FTx$o z8;?P|!saivD{{eenczk&PRv6B{SfFu{&+xiO#?q(=D~I}tR!)qHrY=(N8HrIN!xpu zlaX<V|Bnkqv)ij(CwmjjJAWvlcLiPtDyRq7=ql17#WA%3>0wz zdnSo?jN-+PnRusX$IRdy)h@}MSOHFA7>C_M?nEG}=L2@k7x|SVOAF+o@cf{5%tSFE zNK$9E#B?YA4ETjyiQzMXDT&!JT0h&4IfL@iwvyb5D1gJB2bkk@MBzv4m#7`1_-s2y z>QpM&1mDx(8VgJ%_YFYpQOk~*NVII?HNX(yUf>V%Tx<%>SE}EY9#H=f9j`;`RZ2z2 zPkc%3iTdKw%HknIt19z~s;Y`hhhSKQE`*(&Xb|{Cw>G? z#BV2-D;<_y)VHj-lvi{}3D5z*X+5!=CK5rOxC&UH<*Y9%%^y@!lvh1u z2xllhE(Dn#y;~jZ8Y5w%!D+xAAs2qdgXH4K3K5b`Q%JQ9eLzD_!lNi&=_EmjM?l zT^kHPMzwd>B3``W`*3BYNobEWZydZ0z8*jypqt{|T*+7Ai>!7q450iJwtkKGf4YbF zAK<$dxCt1bc(;~E_KA$uJL+jfDbpF;2ki;T#8?gtUAfAo?+J48U6i6ITPfxC@JA zQb&M$CY=Xd4qOG?43q;e0n)bWVLLiHjO9a-&lG$+E19L zI=-cU)&g}vt@hK7Y6f_IWsxORlF(kAJbbjsq@BR0z;?yAD}v8Aqmt1-ojrWgk_Tul z?59azD!%PO`>nf?Ya#U3LE7_3a2%~Y;ZDXTm@N4;ZMXHY_{31lufSL#<`=P764etb z$0lPFOuhiPJcbk8$^B#UaWWc5njDm4o<-r=w=wjpc*nFED6fzs-$ps9qkiFZyf)qG z^n+q2ZT>AzR_+;2#+Fr1X8Zn5$NP?Q((kEpI{f@4Cu{0DC-aW(PW!eeI9aum;}Da; zr323(UtbF^U&GeyU~;$MyX=9+sQ)7|Ox_}Q=Q3V*^mg1Y@j9DGZog5ETZD{$0PEq& zf54HCI_^p|-R{Ybdth}FPxH4ecaaCS+$F}McR~4br8TeH2)5vT z*^S*NVA!~>$Lmn9Zu@W=R2u4Jm#dn?nS5?qmAosSFC_L#B>`|7?d z{V4l*;0!Ilj$eri68)WW3~-8E1#d0&YjR%}Z7+FRx~;Ew#IBd*PU&t=Oy@|OkvID0 zAp5e6a@_0YvVX?Cj{6rZ+o#V)SK~oW;W+huzrfZzCj1_~+H+Hg+D<{QP8kuQ(4BHe zut&=VT7Q&T)_2XKWksCx5umNzZ%HasNEu$-FJs zNxOTI(|*HKG05G?r(xT@$M+~sb29I_%yEzD#lErYo%A;bI;jW7I~iZ!gKc!Zllj5` zC;i>)ovbX6L;X^8AH0>03MMmF?2p8dGLMJjD3^pDMTcnNFA`4{aCb~ z{`>)JpxU0vzdG+GlFeREqwRIU{-M%GdntV!r+yP49x^rUKrMH+1;|YyHZ>J1ZtBcPlYQ?`HA`&HeabdeN@AD%zao%06`T6gMS;^7y0(Bgd_r~c6tt@eu4`6b{Lxn}eh_K=6$+wKQnY#~mD4^R%1HH+>S`o{n1**0hcvi>{dQg#TphOKoTD z=&8(3O!da%R1+8B!gl|8Z&)PHj-I;S6s>$IW8rhgzgWMq<9?6iL2ld8!dIT1?3bd? zaa+tWl;5iLx9w{p!&65~IWXL`xPHE6Ur)V}%}Lsbfu{?zC_CrQ7`ycK$)ft#5IwefuGJ&H&DmVr@Q|_AS5t%Ld)z;cUkEwe8!p zDc|=GrZpN5u-{7?<+v4fd>fDXwfjFNR^QWcpTf`mfOck0cT>q7%KGo>T)we*6|wqu zj{Bzvh#?TS{}@i2V!d6`SV7IRZ?(TfM)~@TdH!iP1O1hMZTnODX;rVB-Z@v~cJ0!q zcmLep{rmOlncJPSemQDm=Jn6*+sgK?(kuE%=;b)A6zB)ss`jo$uirj;eP@tL_+tw7 zNo2oD(Qmsh&*}1$EBf^r(7UTv8f4hBLKhleB2h{o$7#O=1_7fQv}e$suc6$9vF$rB zr(gG+-u?4(`}geA((Rn5cw+Y%yAmCMbm}?)k(lB z_P> z-s|^l!pJ|76Qif1{>a&}SiHD)^ncdH+f*34!}7XVp0JkAFc1TsGJQ{PVNh9 zFX(!7rNiR^u^A4l1pP@ALvp8|&+pHHdx66N=_u6~Eq<>~@go1H_wwu@H2C!IQ9Q|= z-j!cjw*L$u#s&*wO#N*;LfX~-o@Lm2tDQ9chZIRtJLw}(_5rSvD>40yL1XOH=GsYG zKZ)LubbrOaQvMAl?@s?ICu0D4xl=;Ak#=qI`|XO?wtKU|dl@K5?)1C)-2jOF?*iJc zHJnHzyWDUbfW=7bxYGv!=$PrhqH1RZlC&1srx+L*QGKl$3 zzue^A>8Q*U8Y`te7i5fSKZNHa8LFOMkh0rg#ZLb-@HgNI<(tn~_gtCJ8gP$~zARux zw!t2{9zi>(Rz-y1W!&m|kMDr*WdK`Y`eU|#J{=!s`m-&=*Gl?ypP}kd|Mm1~=O3-| zYU0UKa(sVrN0HNUWxu59Q(0My0;n$RQZ}qSztp^)en96Xr*EOB>j7qlrhge})wFEX zh`w(o;xukjK3pHwmuCmDcuxiI%WmvG;nxQGb^2Rcj62=LR@@oHEoc6NnGMF!43R!2 zt|YA|qsrnAN;{zc`^T{3Grr!nN>;u56Yz@|6tpvrWDtJ@OecRF(5T+6Z&>-zX^x{vvx$B@mm>YRrhcit6_JO76~ z+{!6|dZYJe^rU(_aGh#6Kgp2j&gjC$ued0R^LQZndVj_b3@+9CL?340NzLdh*KEB% z<4R9nH+%k1IoHf_0A*bGI-uMZQMwrq0>1@*W%O=wX<;=n?~z_Vep*;vTG_i=-l-2=kNA4m8@GxVTVlrJ z0N(eE`^|h}eraiSeo4Qg;YFp@M$sn$UmMScJPACk`k3(=@F(?y_BQHgUlH%iRI)dy&UD%9`esaW(ocFAz`8u?DZg&!D0=PiWwFekKQcWGxcr;k$sD7QXh&EsDxPv?%_Wtjw@zHeTSBn78!=T#5||#y{CkqAFxW$H8v(LrSbjPXM8_xNU+KWVn!&n&nfMqp_A8$Kw-*hnWM>Vko`ms%6w~)T(!qfw zo0$O|Vek}J_PM>Zs4zKraMff@2iwiLGmi$22fXj=3Z3MV#b>+dYaW!^1P0@*f6>l+S!n+iw@+Cx%N~(9cnPnI66| z;CT|j_M7>*saF|NsG@Rcad|T8g`c49H27)Zx)Lb7UflqENS8X+Nwt| z%M{Nz%0C4-9XMIvqdNvJ5o_db;P(JE9mIUzjCBAW=u9m9nH>ODInTrrop~|9Z17Cx zD`wsgJOVre5V4pEU(Un}n7IGcM#PJH5EWW~BPSf|>J`ul81#7xFRALfk`R{UwF3I(zk+03KR+<|bf`sh6ijX{#iR7u;Xf zZ%B!myMTSb4z1UYQnj7?49*=^UQ#x)h=5iS@cHjWO{B*U1J_p^Q?y=|on|qn&e{kq48W8DTo9hu zxYj6aBH==8oY`pA8noOTtcH32B0hV+d9pQsL)WiXhc1#qlIq3DP`w8bi)>c|y)1I* ztLh3*J%%5r0sUy~H*ehfJ7l=Cj{s*qE!M`K&zgm&IqM5Up;-q|!F$co%^9P@vKjV? z`f0N}gX=ip6jQqQ>&`wkCLbqb)&U0NJB`UT-phZRcKaxNoTssp{1>Zqd|PzIjCb0q zb?lGX)fUP__|&sMIvtqrRl>GE+7~_Gv|EvqH2Wj3te`l*qzi%RvSApP1R;xM!{|Y{ z$Ax{%yictjF#K2qFO~q6fa=v~Bdh)4$(-m_|IDoWirN!rH-*)EF!)?{*yrNfBeTD) z#k#X^^o|>meE5*F?*i_YYc`(>H-(l{DnEkuh|P~`kMsi1!-5BUWcD98J_n2gME^Ew zkJL6@>CkklU7&Q?_Q-I^`86bv+}Y3YyBHATH%4!^*d9^5*dw!1%{tFEm-D}ZhUCtE zo8LXa=aK`GZ;#A=fnrH&kDzsDqbFzoN3O*5`@4zSBU(S(9(jiHr%3ryKPClIz6N}U zTtp9x-x$vx8HIi(@+bDe?6Ghu-u#^R(9idvpCxeI$|(VUvhAUBq55@0qC0yVb-oO^ zk_!Y;8`wj$@8#~tfEP?%XV-GvWuEqb6QIYohd!pnH%(dY?ETPk6EK(y>44fpHS|M> z{d^+yaJ!syFvnUQ(w_cNJ7o&JmIe@Us%fWo%72R^J*V-DJw>ttv6oqlV@eKPPn9>p zeVY7nt@w#G)f@{D?W#H4#DNrF*P^QY;^f#z-gq{4*);Hc8#oJKzd`CF96mhcGBv}I1>rs97Cz!2QC86HT5je8MS1@yIRLisS%g&e;}!yQtx!`Cqr9O#7@!g z!r$BK^R+Tr+c$qC-@B+XpINiEyjFsY-BN>oufgN0c^L3~QvI7BwOc$LuOKK_%9IV{Cp^JBIZsHL6QxXp5j90lWmrkdJG}OhHi2X=ddqD>U6|*C?H~ zU2{9+Jx?(tx8@^$McIqJCCWkNzUbc;+ck<8yQT(vUG18AoWBnWl3PPOz*z#U0$L}| zQZt64NovbHSklwe9G#~6Dto?X+d z_?6-p{~!D)3#&0ctN&M}PfL&0o0bAHW!3Ilw#)agLaj0Dswb1u?Cf zsir`84uqz30e-@ThbpMR z(LQ02&iN&y0eRC#CO1Tf#MO7|*99ssbcU4&s?U@TTc0sgJ?CzUA-QuNg$86_8(Ft0 zvM+i1O!3Nyf0N>Ouq1Lm=YJHef)~Z#raRDw9FxvQ?uuMV+PuLWwP8T95^;+3p7S>F zPr)A3&#y{85q+lhYb)h>^9IjRzQzHheq%t)AH_ctnIXfMnBSbw z)lanWn>u^rb2IBc3yWDhS5_L0-Lp8+N^o7Q|KI#}L8~fVtOuFf37S~fFgH`><8HI> zNVnn=YsX)MT>sxxUQs-Z-PC2de}KTy{U7Zg#(~l?8~nry=6(}6-t^Dl;-V5$?a<}M zwJ&_WS3Jx(%{?2ymYbWVcs?tx%+ZyK-gvh9r2(IWZRf`6fZx^5$prt8fXjd%DxQ7C zmAU$b4A!Bx91o_x)^`r&cL(s9=5|xQ+c8YOfDzMkNx+Bct?yl(0iLUY8-V_bZ&z_? zK}mICQK72XO5vm=;1d;yZb%`%HMay1yr&;{o5IBr$bzHS0=v1&tl35}H&z=-#=%2k`CZn(zO8PPn7EYNWJN67aOA+?TY? z-MPMHL=AnR%h${HFG5 zTzW6@iqm<{55muLHeRBc={zvX$@u;^oc5i%IT_nOaytC&IVbbl=bWs)S2}5JzH~a= zc%+kY6jJrVy-vor#7RwZQhUfM)3%QoPu~6(Dt|LPep*0#F9T|U#X2r_vObgVo|F!W zYMey-wRQZvd8b=dJcLg@|1NdkgI*;(+nyZnW!^W;aVxJ$ntvy&J!P7{!iatQ{gruN zXC?_fKkqa^!Y5Wz|L$+rg_zTz|0eHc+E{}B%lnuy|BJk9;NQ(%qe$F&tbHW8^PT|4 z1KGg&a>?dv;fCh%XVAa1`APjdw9&jv1rG+|yvsRu0r~;rBsA{d1uDnAq3KfpPU-M? zKzyCUMuPsw6hm_7UB&NEU>G1ygWBIoiB~G#HlVn}= z^+TlJ4(8vDV!rYR%vU~Q=J6!vCVtAify`H4Ng=JALbrRZ?27|cn$*7>Oa3lE+`U*n z8!mb3-RyX&wy&@bN%vWJp7Omh@6LOetGKSt2LMK5v|n57Un*W<6_Tu(Zi}@w??#h% z=i$sdqG%;BjIr3jznpggcV7X}XEM(`?+*YDpqUYY2^D7;9;iZnd2+wNC_Z)Y* zjv)K)$#&pVzy)-Cg|++D-qiNyNf{x|v6MX-m;p?T zkyoQVKH67^Fw_sBgqITm`>=KN>-^)S0*8L`^lL`;X0I+0{dz#{&H4B$^N*x|zT)`x zNPV-iCwudN&qS^TPE-!qdMn`nJLOKsjyk8~!YN79-+_6}%JQ<(%E*FnGY;%HYwRqj zx!c!A(fhLFmMZrlirjg#wA${xz2-Qdh|~OOz)8TVa?R#z;hNCnQTaHihi$%7J$w~- z&JjH5;rXKY-vTB8A}8bOVcD;1OCy!ynb7p9yij^R#pUKn5 ziWhx6{{~MVFXa3(P>|gDdHjlu`ciU0D197Wj-d~I4Xyfc9Cu2l3zf=CLQohu$latPd5htq;*~^CfIea_5f%C$?Tn4{~XMwrdS1 z!fd>;JD=4o>{TJHBWtcy-v!r3C%|8}J{m)*SAk6s&c`lDxfu|f59dDteWdl3qMqY% zIX(qE1DN;y?Da=7Znl=&Lc^>J(&$h##!Wy!d2;quaN^s~e+Q}fh0-EF8Por5U{$t#0yhX+ycEbD#z@zFP@5?VJ zke5ZR5OC;z54KMfUmFkKBJdCco=-e!{>KMup+q?LFmhsJy$?(R7I2M}1iXwxt>Lymi}A zYW(|x<8c%|WG{Tk8(9reg|BfPR>{%8UbxgqwT46`@rtp7=C9Er-33Q`$9(UYLwj|T zbK4FQ?rh$83EDvxe@AipdSQX+e@%!oO=Qe?y;#0htf5WKe_`#z7*_w+QYV&CJ-O9s&&OWb9&eBJ!x|5 z>avPkE6ei>VT&b=g(PfjC8BN;tf4A7bRJ^u-c_HXdRJ5G*1n;AOtmo+rNL$+b zr7x&8JVR@^3(opA25tokj9jqZN0E7oT?P3ppef50}KD@XBn0xzo;7TyNjuXuKX$NSE2q{1E{ zTJQDz&%Q|dU!T&;i-zWx4DK_yPnCQ>*1j*qdr0_+B3h+C;CrQ~Gju!-u6m5!spk6o}3yI|qJlppp&NB?}8)i%sWV z?NgCAG{3?$djGO+Ma|z2rg8o!^r-lc0WWJq7NXM^&WY65=db4SQ{(tt4pA3+Q6u?(oI1Kn1@H^mXfauS{{{YxM3yCr;+zxz+eoO<7^@y_$q5CDu_m~md z4#!b4-r>T}fnC}TG7fVp3Wl=xo!|GN%Wu3L2oWm2uTcYHri<`k78$!?2l$Y4psT>L ztisn$2A>fERD8#S2U)iWep{5O_1iA>GjhZiW=W`Ddk^0U;Q0pdE#QO*zFzsI#1SF} zTB7(`$In_+VX@L7eCqjG9iA-oD&g6%mXR=so?$DP2Df!wSoV$ z$XM#`q8pSFcM)=O@epVq3H)5~)bs1v^};>PBobuFA0lZ*LN)P{C}O#ngGi8fe!_{ z?e{MFr{uxgY=1-B)%G{giHjym`BFcr+jih9a+yH#{0+rx`x`$1-7A7s@GhmXvFqC~ zm*$9{9rQOAjp8Q!Q(DJe^a+4&UL=#5R!V@sY=2`MCB9~ga~ExZmU998FKvV7`y2ka z()kMPoJG5V&w!oUZ~MIWye}W=^)(Fe3+Xn#uUbGX;<(yo^QxxkOr4%$_cUsygNjO|dM&G;!GoQ=c(@kkF2+}0Or&G++3G)tBE)}Kv<1L=Uz`bGc`hazwD^a> zPk@0yfj)iEpU~~0>wp&joKo)t&UG?Qm>MbAUHofre)_z~wZMtmC(93N&xi}aX3*xr z;Qevznb`X+yF}{UI`;D7K+HT)$wMZq_VO+#tMm+yWQSIcv$6kx(f_!pzLsQVhW}XS&ACIpLb>96Ve`4gKtoK^{ zu>R{V9&3(EuqT%Mh3iDF7q69Tw!I`=6MCGfybIdNHs7h8%uL{7OeIyei+6FvHgqNd z2&edVvc&T?Hr_a)=~FvZ>9Or&A{dLef|}$mkw2spS4$3v*l{hkj}D9FJGLwtb8iSt2e5$z5^@IJ*Kp$%!AP?OMZ$ zw1#M@^}s%EWMnM)Ch$F=3;$Uu0sgY>W9B-Rh-pr8ms|%egMeGewFi{HMxhItsROUO z{3_;-zI5DGs~vak6OOwss;Q)aR!O1jS1Wd?wl{R>{@evnjgP&g1SnFzvG+F@d9aUf zYYfwE_nRq4ta*hfUWTXIFU!GK4cq|~sGasj)PC_BDRjN!*=eSp*xQP41$eL>mOKdX z-E-=-zj#P#8Lte3O!Kxq+7kQF;AI@?d!1*3?+?IZ!0!~#=fm?$s*^FV;*T4RH=aoO z&jI%UqjbJXIGFLVa2N0p@PyyG(PP+lZXLU3NyI;kQgkSud3H_4wuU2qsFV5n zY^Qzkj-=T&-Kt9l7nhXC60trN%ne!V#Fnh3m+OFSz#eT$cc~}8)Sh{vvDQ^Su-AzN zv3L&#@5^rNJ{e~X?3X1k8JdJU&wikK7%{L@~0Wcmi;35KeyIfk=643 zquLV||G5#G#B?CJOGVdd;u%e344#&)+hVPOw{A=Ei`ha_`wH)AiG-m&PS7B#NMG7Sz=Y-%hPFj+YJ=G7tUa`zMEW_v+&H4Y{FC#?2GtTbxN7$9zVtu$XP| zhLz=%mzS8&aC+;dmfk?`-V781x5l=sj^h_&uSIia9@+AD16YFpX9xd}J8qYrq!`?# z{k@|vTbM;$DzUeiaVy-A@VM1+>G6}h^li%j(8KvNJ#t|bCt?%IWPuC?3Cc7WmlBVw z&zFXc){sei^~07FjVLc+7r-i6KdozRi$)X`RPz;(lgv&YC&?fBZ7kwCZ9!?G1Mbp4 zfl5Tf!@%$5RPow!PW+v%QIy)X-Al`>O$law!^TGO`~CkH%15U!ec4IBlBn;}R|S_z z(*K8>_kH|J)=}%XwDJB|QoKzU<+0%XL4Ig(e~>@wDMUtz2&`XHUbMZqD)v`q5B~WV zz}y1=+w$v|Tzy@x%5~apPeEiz_)GVdUz={Pag;O}__fn1Yp53JF7^C*X|J@8^je%B z<5l;HwpK;nhaeC71)UHJZ#j>cs zfBvA7qUa`AX7^-&O7tlkuk$oetl>x%C^|#PgSp zhYgA8FC(VEY+(dz$ET0=-jg!^XXKCQNl=cReb8FN*EMjsC8x8Sx<6<)>AL@A)k=X# zYf0|%ZbqwSHvapXDyS%BIn@#6YY8z~8aw48Xj zpF|$XdF0r9`oxaGT+#UdQqK3Avfbsl;BC(VF5p6EKwNT_dr6D`FF(TI()j-*YW6kY z1i7YonjP=g_V(ns#`|BUyl)#E?(&PM%RoRB5A7ap?|AWk>bw&rgFd?uzQN%vd12&ywo-d&DQ+4e5rJ}w*uXg}6)BCSt6bs2Gfc|U~S z(7LjJip2b5QUdfGZVC`zDPsa9dht4U`A}&2Gw>WY2rDb!)82PphJ5ASyx&9ppFeQi zkMMk^<4XnKMTjBHWZbIz9QWsp`d?CyN1k-tci`ktM)MBmBKojLoF@X8Lf5ZWMamrW zxW?g`qg)PGEGHVhyi)nrj=QVhTv=9KQNR{hr36OMI6cdT_#dbajaTJfaQ?xUFG>f! zxcmWtwGGSfS2?n;x{|fB{YRF2rWQo&^}U7mC#bb5q3MX$AGxvoFZ!^%{87&T4BVsk z;EqU5yHqgMQc;|5noID9l~2L?>b&;yzk}ly;7up>ry??$n7lb1D0ZB4uOa7oQ~FQL zkK$cr`5!T&en6z1g7?MhKkL4r-V4$jZ71ZB_D?NzzYnk)effLJC-(ZNMB62bhw-m? zR#QHJGhf2^4BxTdZ~5ogFrG~FTFYJ0&TqHIj=DeOtl<8T zG0c~z!oerjn4gy%co~iU&+z+0Hd&(gK|Hm)EMjdtY&n)0aSCyHM7~is?MLQbRjWtS7-S^gW~p8)cG zc@4l!=!#U}7~pb1;s!{<73l93P`~mUTB`np<^%2b73WgI4}eSXKHkv+(qHK1q`xrD zlQ+*tOO8ELJ9=4T@`me16GX>j4gGE1A1im_+#g>4NXw{?&+$s27tl?|zCgP~?~B(ipXYSx-+f@NV7A76I`lrK)VM2t$N8UthgGibEGR1}VaWF> zFRI9|DwD=*A>TYr+355YuR0xnF+*{79CfwRanwSueFAetdWZh#__DqW9qZS2X-H=c zbKA8aq|Q{sCP?bR40mXAm)8CgCTMTu*LGv!N5Ut9eJRYXK3xhs&FE2abE z)DGKP=!G~;#J_JDal4U*xEA)?0&rkquUO@DkXN)x9op=4I<&pV>o;+);wHu0s2z4? zag|48@V?movhEA^ljgg1@0ZuVS5E&fS6c0q0loD~l)D03Va0Y}qmhH<`4w0tvdMi5 z+vPK~4f=DXEbEFUcjbxEO#Cyo6XqS%PT&(?hDgsu(1Id;=XFR+qG-yZVogTZfOfiQ|?Xj=SARxcC)J(pB4DLATp-i|H1%SFil^m{VRfqG$1-3cfm#9km*=&HmDKGw<0_f^SUg^p>@bXk`gJaUbw7@JMW<$vnhi zjYf9#`+3u&7~`yq?q5_|Sys`lr0n){FVr^}`>|D9u{b*6CGi(_z3nPG;Y`W2tLtE=Yfzb=n7~KPYE4&b#s~ zrORDe=pA=@N8$l13Gq;Gk+@#mQncb5EO{UALGS)!}?QEyu@Qx z&hz59_}nYKITUv#&WiIi@OR)apd+AiF==t!m7^(=q;Xs{!b63}V{o!RW^>#Wu_PUete3|3U9O$&$n&M<$vd&3+tK3QJ{;JdAkyhZkAidd5(HmD^ zu3~tSqz2|le00^9z@5M-xn%2089iagukjCq`qCbMsxPkt&qIO-eYxuQ90^1?%nhkt zh^sF}Uao1PvOFJ}PSsaRm#ru7hMWf}hUBgyXyp76cpMO6r*cfz(Y07lDqi&Ds`ouT zxtwz|hr!8P;Cd5y2Z+dX>Bpq$$yK6)NvbEOfbv7&W4RL3?+~E<*=#+j^|STltCT-k z%9nN(J77Mr7KrEvY1bC(NyTgH$%{cJ<`~IcwVdD2VL7qMWB>&9_d~@`qi6>}%c~bq&^_0CA_#D`+{btYW z2>;mcABD9)i@o_&!1*v}hO=4K~r(VI@%O?M@2-BRv=z7=Idhy{ryVDxb974+{<0HTq# zEO8*YwZAa5s2+aRoHzV6aY9QEM@l#M2LI0v{x5uDuM=0lu(rKE?bcrE9Ut(H%+S}~ zDCf4k6E0{TUk3G@#Ya(`Llq|oBa;s@SR^Taj`n*r%J0^Cpiw;dQ-EmF+McZW_?hFb zAIko!e|FrBo@ZssZ=K)p?E!v~1t@gr_0}_Ldw3E;_5StzJ6I@{+tdJ%j5dbX9+rI3 zdfzQKgzuMDk`K%S{4XSx4|^Q9=YJa1hVN;=e7cjF#P{fW53ce*j_9vqq#xB@ubn~n zGhO)4imo!x*+;;it=W=l?3Smf^D|JlL+$ zytmb}cvx{&?ude-a`E}SA#A<}u-e$P?KZxw#JQ{SAJ=>gt8@Xblxy~QkzO(5#e4g! z@z=8qpMRO#dq6K!ZNr~-zp5U&5j=V34tMnca{`hk#>;0H7nFEk2xw~j`Y)(i_+=;% zTTuKraqiiS?&`vL_|;F0zKyZm_^}fjE{d}9VxK!(8BMY>IzQ8Z3`T-!9}i)iIc#(%GK^*>F~%D=4lSxroS^;EeQL+4lz-&f7xU#T~os|pG%Ry}S1|Ht5yX%3RR zTKs=ac0FsjB0&h^++^%N)_8ZWX2hJbW^~?gCf?xMqMwPaE%l=ez{;O_Z*-9^S*iHw0j(m^Fpk4toaV<@Temy7d{*n>LV? zwEl_WcRl>6;GG0i0mB>AQ{%3^`v|AxT;4Oce@@;{#IRC2t$2zO*%CUVbRF)|g;ZPf z5WuRPHNVpFzNJf_UVWh=nB{3G+1$hC)B-G9`LlVlz>uX-5Us(YKSK#1c1<^KWxf}urNllpdeUR6=Ktlf^r zsn?!>wm$`KAIULWTS$Jgmg7ol{OR?`wZMt;>l`co6s&1Z;Vo=}DVs;-3>i{UGz4c( z9GKv9*~$_HxNGrq*S-sk z2j+8)WVHjUkBTB~(d>4J*1IjGuhzodwM#i)1uWL~PuhDoYd29QE7aHSb27ggrnoY{ z+V5okx7d3>p|f6#^P~D=c2LiF+BBYyF<~d8XRPOpo(b`s^p|DtYdcu|ulbn&AsWsR zZeDj2{X>#!_{Y|<&ji!|Lh|jiZ;2F>BrT~)?W2cV-9GA-Uo78c%4bPk_tL>-!TGs$ zm(i3SJ?V%GD#|o@c9`PD4qNw(XNMuX*WCvSlDkgU>rDp4XciM8`F7a4hbfk% zcGz@KJ_r0=uGn_?y1z)Cc5k*FruDP!u-7U7Eh%5>CqeaXz?VQfAkwZaUO%UJg@s5O zPrVFukC?o>ZUS-&g_UwV7b5npNHEV1TXze0{|tB-co`s;8r-8h0sgY>uql)%Y)*35 zfjZ@Tzz@kq?9s6HNv*HBq%5^Z(ADdR%dcAlEQ_oEK9kpIt}81=WQDFrTsz1gH^Q0D z@!;bfz;#Q2EeEW5w{^U|ux_2)0zR>`cNZc)MRr1*xSqw+qR&nva(xoQAuHBt^0v740U%s@&5Hc0=fV_Vq0C~ z7SZ|5*gu&Er5;nG`t|I_FveZ=4*vz7&u;GXLHknU8tZl|neO^Cy(96^4XCvBcysHo zl54g+6>e+ZxC`o0n_pFr=7Z-3!6QfuIGhRyV(~NM>QS*%<~OtQlogt8)vHRUtyk}Z zJZ~+4yS@S%#SfP-ZN&c+`OxC{hT=u9u7AkWtF@dH>yYHGzXzQ60uPdF4~XB zvmPJ?`yyp87dimi4k7gne!L7NPcNum-ArD}p9M^6pjU-&cMKL;r%J6`S;esGlKk-F zC9Zx|{EQ#PzXiPb_v`Tr)-N)8w73#Wn589=ZD);s-GzS5kM7|i?Gd_NqxB}fq4AV& zfREVD`mMlxjbH38EE--^QpT_^>?-+p9p6jvF*JJ6d$E)0s31InbINdZr66y~> zD_vmNfcLlIIKX@#&-(sJ67XQ{DxMvbe==|y@C~b-buXPH;K8(4Jj9PSoDHD+H=Lz- zJ`+AwG~xL(z&EX94{o^A=jTKF=-Y#PZ}jRBu?P81L5DA%b~68TVbb2CxVpGI zyoHbpZTA3Zcf z^_kjZN{4Na-4FWTQw+)7@OQ{L3iuj1p&?>7wAda~yx3zK{^QwWt2uvGunJyG0QG+_ zBo~<%k$y{>J+=XJNRrxPMA^O(k&$h?jr2H9DzSK`_qN{6yfcYjJ z_m%l2MU{FXbUoxbd%hrwmvN(bzlp5C8rYZt-cQZ^5{o2t_b#od{v-h(fH(fTvbwDG%&#oc&1 zv~41Ps@8v3c|}=abwQOkJtOyorbFWa8^2FkKLmd4q~3|W;HCEG_BZPo+HLYL1&`Vu z8!Y|6XYN%45q%Jng8yd+|5rYVK5xl`_UHa4rvARYxDz^m0`vtst9|H?r(Il;-s%9r zof~t2ez6pXZkNXS(6I( z3cHB`5XxKPSzu${oQDOuP=@O?u=M6v&jh{~n7OKYxV>o&#P2 zOzh0vIN8vq_LZj-8c=Ka!`?s6$2Kg#l)a7%^9{BJ_hmPBUvNBWd~D;*irL*LrVgrL zqi7*Hz74!9r`EW0g-e>pw?TW$;wJ_R^oJz1 z|CmqP_=)61T+EXbNj5!J{G4*!jZ?i_Lh8%b8NYQ|hKfV|*B`%^d3{1RcuBfIPW>a_ z$!LGhnNH@b$@7y?HZp~LW%ZzbMdf9c#ccdJ(%UdI_@n?$AB*udqxt{*l$t1w%@`$P~8=RRq&1gXEAUaxrjelL&meS>R91b$BI!}$E~{oxD~+B zu~X=A5aloIDoGNn%3v@8ey#O%;s@+4EgDhP7xh1&qQt92Xnb+) zR)72|eqy?H{{paC>fY9Ix~IYygvI8o$KLqeSzb{zytu5oGD=HmI->QK@jF?o;nt1e z98b6IjRUpP913pTlU%_Eu6rL?qj!dvPr>@CJyyqhz&d8V>sFf5ykEDjHYOh@qwlLN z3%;irPo7?)Pak-n{u&+rz07ze#od>-p5lGI@;?0$ZBOKd_TygahYwgsoVsp<@dJ(j zVY5!?{tC2X>)0=wE{@aWhu|f(Up{p@cmGEN;zu}HJ^DMHuc%L&|IwweyjO{Cz}iy?dc6zgyN|i%8SoF z7*?JM-k;sn{c-)0I^l9u&Zg76<63AX4!j9{wCPH@X6squ9>dQ~y-z34F)kat|8Mi3 z+E+#3$y3~%L>fnoPf3cOW6&>2`2Byyk14llr00hW=KLxjf1x>ncrOWl(FfM|=p(m? z9}@cg|4sJ$|GmLk28en$?erDzXL|)}yEW(iX?>qS%ST%2`~L$ddl+z+mT&n{n~J$w zZ4hZ(=wSN_s9m7##XKlUcI7t5d_8jEA#)PjUefQa_Wu7Stcy+00$~X3V z{@7=uv2do`<+xMV^S=2%DGBR#D^b+?Tm1rB?`Y&xlkeC2+jEG1mHK+~V4`0$`;aFh zziFXR86$^gdG&41II;A(V6ocSw!^!E4^vl?yJ?d-;byCyYq;1>{^o`rz;ys^Ep5AL zIj{o>D$atJv>g^T*$#ny26WsVPDzYu^}CSEn;tYpx|=?Y6mHQKGA`n^^A1yl`c<>R zL)&jw`(H|w{~|}b-M;YKy}9rAYkkCfA?bQlbj;=~lXo|FGAFU^EONx2{|a9}k?+RN ziHx1iCxefe{pJ%J*!#8M*?M{R-Z}lQ)hJr`Zr!`&^zYuMw;{^Nji&Tnoc&6KetRB8 z@}Kt0y`mrQBU8GuCzVd2SH?KU%@+c!rr3O*>K*I(ND~RYb-f1k?B89<4bq%2y`tx= z_d=rhgf68MKSJr`xVbxU4sZtbaCGzW!^jbp*?bmYEFUc*VS1VAZCwnaB|@l{@ahu1?0CY00yX%c_|zllhi@MTJGfbeE~3#)dQ`*?l$Vy zT~Pr!{#(L`6!k|pKMPl)4L4r`{L^m=bJY2Pz_sWdD!-T8c6np9HO~a^=c5vhw2pVb z&JS!RzD9C4KWUCzPUH(HGREEkK9Fm+{u3^3o?jW9AF%mc?eHPsnIL#X2#I|`%*Tz?C`zha#S>(7oZzLv##l8Cq$K7LE*}t__jtSHodAbE!RL`%2`uT=1ck@0@ zRsrh)F*!N{+7F*u?;QvAOn5yhI)5uglGF~UfexWX?V%Wc`_jYP?D(qoEAbLZs`tB5 zeg~6xw@@F6S*K)j!3CoA8=7A^)J)(e(4M|MhYguAgF4F6B9go16mWeDkT|~ZwDM66 zC&J{|bDKW`;2m1U-9nzYW`h)(o?0DBo<7ld(WjJ{4GGr!2;WI0gxMQ*3ftY^=%#fzs0k$qx2n`XMTKapx@2WYOpWN zh+$6p!26S?|8tm|A6ZpgP}!4(N35EODqpag_bRt|`t1S{<&3qheSvLo!ta4c<&rIL zq!$cdG-Y>ta;ZU_$?iwhZ$rWJjNlPD@SHi}VK0$axtg>%lj28}Zozj|{6t>1JZ;dr zTgJx2-&mY!l;bY#$TtGf(6x61NDPkHtXxQAm=H+jvt9si3Xbl%$2KLS39Lq|J#cLXn)Dm!XCyqcDKB# zc`iuNnu7e&YH_YD$nLH5`j)SJ)Z}GZYLiLr&j#}+@rI}u->Q!-QmQCdBF9lq>UVcJ zsTJot9eT`iI`(1I-T`OtneKGBaY5{}t&wZ){7$@@M&fQ_ValjnLH*S3)PBbf+Ip$u zMr0Faf+TnA_sxlE46i{{PQ=F9+THgfr=7gxdH#!z`*f+}9@y=qe*ZitwS1*tK%>WY zRhK#KmJsPVhLsK1cVJAv@1&l7os&9nw3GUk7~xGM?e8Ux^7l!e1P#R5hyrTTae5V1 z%>lZ|C0h<}WnqEVH^DfYV6ocSx62+UV1PBgWu2kH-8#^m#J028Wn%P-9rifzlJ=X% zFSp_uZDrnj>wW%%JX%8sH9O9x{ZH#}y$iv?xNo~2EE`Oz?$(I%l)jh5AL3ug`&+VR zSmxg~-iN&?^lbAae3Yu>pM|!UG@c4on$*6Z1C>7qM#-g^ejXut>ep=hUfWMxGLqW& zS5m$=E#PkbtNDY%y+mH|*l|7DQ*3Se(%rU%H3Ue#dS=IWK7il$fL}oC9h=dfA~}qG zXk-QXt*-+A0AAL5eUaCvcXu5|UVC=w+SemJ;W${p?p1p|Zd_0$o6rYcD$CG>TmR#@ z7p8N3QJ>q6?W2$JF*9@~8M@9I>`y>*v4>6W`ST zp+o-{Ig5|EmEPU@q3Y!wx!rr`_2(z2cTUf1iD>3UIywn-flu*5-`14?V|(i|ZHIc| zr@483y7kxg$mxG2e3@uF1p7zimW&8^`hulkd=7XIm;x*UCPb>JC%S&x^FN!qR~|?f zovq_PZ96Bnc86+C{il6Sr#(OQY9N+_Nkg6V5hI+8xu+-1f0B(T@`~~+3WmxuAAeo5 z#s#;2sYu<+vdwW@Em1Ar6WDekaIsvo<+!wdXnCf58;lFu{ilA*E#SFA@E}ySiMufe zkeHOH=2XDQJu5CKe$1}eDsh|9o9{TOL!NNbuI%ZgJ@>Sep7wnw{my?n>5C%^?Lut_ug^6ei8k8i zMJ?QIPg3$;;B&wQvH+DU@zz_8;`?uF9e41robGewBCTWc}&353$>5wOu2Lv*X9?`GqO5HGdQ6*TW1w zYNz5sYQW6 zw|TJ>ciS##xf8gTf7=7v58?SpMD;mRvKI&b44r`uwCyX7DMnsf>s^EP3+yXTaxh1c z=Pg+eTdS%==s})pTzWrrbcUWUIA*Eb+!bftq~P7{ufy$Mc56|okQH9PMe!2XQM}lt z+fM>c1u{%K6!WUK@$wq9OW5`fwqF!4<4o~NJXNEU9F6~s55N8@Sc3nB6_uYB5w<*)c4!@Yc>BLCl!x%CXAgHi+1I$9 zZA6vIo%DYth}U1&MdRoo6q0=6g-FS+Ws!^v6J@1*PXP- zJ?rN5-!tysX{@mge_QkUaj_w1MmZV1OP!29a_nb#Yy{g zsMGQGTZr@RanhIV#x8rsNxc9&?TYzM#={>qhCTfCAf4Hb(JAu4TDN27Tejb%nB47; znBxvc{EoY5t4{#68e{k$E)6~IRsID12Aj{-Z{UrT?Hcz-8EuzP{A6G`ASyMk-ym`N zEsa!?XF}7b_Pf&K@u=GG4?@NaiXpk%SM!UGb@l<`$Ebc4eG|`q532{Fc(H`G;~J>_ zxRG-&3hZv*i4M#Jjs&Op4av73w`0mkQu}cpxW5GcD_3Ir`%}qN-)6`Av|Vlck=WM` z=}wZn16w5p7eU^ciq5Y~yT-F0o8PXs{nmqeZBw-1{W>^NKq-T`Aa-lee%p?nDr-S# z9ko*>#>l%$F)0E5vhBB7lurCulDp#!Xd$GUGK!qolgeLV>su@Kl0Tl*exMI``~dhd z@cjmMN=xmtxb}oMe%u|sAz!M5y}SeaWk)x)U*f%&By?;a78Ko;q1#pMi5<-8?LcHNL_1Z%=LNWJ!Vj{ENMPWt&NPN(Zi*|%Yolh*NZ))w3xygT{%17^H40(UF} z)&Tnzi(CIoW`I!5`o7fFjbYX}c#UPp`TH?+;TJNLpjMU3s_d-^m^N%_%L#)G5`^O$PY6q4;ONP?ONe6QR z5nfXII8XR}F2zS(>#_Y6-!SU^m5(nXx@~--r&|0zSN)L&hsd`~*16Sx2RKu%8M~^b z?{jJS*sr?IQ4c@7;?CEF4|u5G&;S$r*}MFk6g$#Ck^|j z)z-Px_XjPWRs9ejHRr{V^Mjn|KE~66`aYBpxI~IQ@G^YxW_Udus$_KY!Sr(dMc|E& z6XqxDe-6L;W4FRo*R78jKQ`aWIJMWE)R1rXx)1-&FXh`j@FT_Q@6q+e_DS8a3pXMfK^z}EKEI~KkEY`DY11Q zIt~t}q}Lco*zIlWI2X5tLB-TJWr>&NOvwtFez_Nt`-&#t%1 zO@Ba~Vp8ka%RBp+(hv1t&t6V@S|p()|LCw^Y{%TCPWtSplNRT^Jin4Rrf#d|`-YKi z1ibj>PCV3|KY}CHbL?+O@qabG`L3S}9@P%mY}v&Y7P&Y0e|GSHG{QJMwwZY13yx;( zF>`w>9^?BJ5`i$9Du~j~yW>yd*}*(}2G7pm+1GitH_xtP4)L!rBKC?~%I{sc(SN8>pnPpx>N zkxK<7`cVMvlkS*B6dZ^ASz&?1VR!B$^U!K?7esH<_7nsyx-sVaXz1O zcX#gYoHJ+6oH8>zdp=(`#ZF1Rl)tI$)Nqtvs&M)?@!&L%4X*&O$(MSS+^XENqI~{32=-^?_N%~`<);@FVmGv$StkZ(#f6XQY+wf+ITD{H0X=ck zD}Xlu4=a4xxw&~fqmrGE4|rv_5I(f;(Hu+Iz=IyY34XyQtnWjPW8XGCfSmsTmNG__ zJoD96&(^VD6@5c={k4x`ziKGuvxl5|gzcB`Ti@q$aIh3s0xzKDl*$Ji)c0bfEAX@2 zAEXStFLd1ovKJ3%F}oKVb7uAU?^S<_z7~2MnH4*H zCCJD^F-X3Olks~Q;A#My2(iO5o)hCe;P~;vKd(5)vA@6Kd^}Jf`6}4{-v@XY!1iD4 z6ze6;{t923yzZ+4%a1sT9sUw1O8{k@6V=|Z)`BPQcv1N3*g@ID`)QOvm&@n+&ByQi z01Re{e-Y+uv*+yuFE=S+EMI(j;?`AaEJH);8yx?;#Pm-_VUA2#RyGF;> zBrf<(iyKZV&Mqnn<_^y;k|NyyXSn}odUSo}s&DJq?ag~RHT;Vo9J}4V#}iIP932RG zxD0%~rq%7?$l{!-h(n9B**j!YtmJ7kdg10>0DAyre4ElvV6%WEcJMiM-tbq(<-XM9 zDGI~T0=$rhZ`MY({jJBmY`;XzyCU)(a2KT>@F12)ccDPh3*sPQEMgQNd$nkB4#@f6HZ~)+7&eZh)ORs1BCH>uP zzjgT+`&|S)$1on)@6G*jgh8Y00FByj)^Dr+q_TM4Go50`g)ZHWUj=fGLNQ3b&7<)P z6(})n%i3|l3p>8~Y{!oOhI6%s0VmnO`33;Wu$Aoi<_RboN$mJnK$#CH;GC#-pUl_b zd)#(h>ZjZB#VCIkm(P4fm`-Z}m^^J^J1%&2J3bQV9G}Iv`5K5@$Zp265f_&+Ad^t)yQx)gi3>Sg-_~5ljO|;`uUuNm!Ql@V+w9)2A0ry9> zBSsRW9jo#jeOBVVpGbe!)?thN-i#=D^UHv@G}bU3UqxNVxDfrd!aW}rvtO%mjpreM zuX>;Vidj;u`L4MbwHyYDAD4H;eOoaOSd~M*>PyL2tGF41`j*RT&^|?|=d4z@pV)nM zs4P1u<&Vb{=9kI3)v`(X_)v|CtV8jwYUj=1&fefsEslpq*Iw-E^U-;cE43b4v#T*N zj|sxF%*o5o6MHUSpdC||A9P}TF0Ijd3$RQ6caE*&w{1BnQlr1}S;%iY(TQoq!&W1?5A(Iz;{}3O_cKNT zFMK&pzAbkECk$c254bV`!q??EVIf4MvIT1xvB#Sa+~If7d|R#oEX03WYC=2feg?+2 zx8$qhd|Ms_EtP;B$nXP%4{?nbg!&oFP{M8~8}@(8OMs`P-D*k-%Zjmf4P~o&yOODe zW%!u*l!C(I;6UuOI7^0ZnI6yea{C?S(xneV5!|&u;IeRB3V08ozE4nH4CA5J&&mJz zX)->se_JpIz6EpiTWUh($!yyy=B-p6f*9;wQ~7Zh%ES;Jz=TvHMt0YVxV(XDYi%DZa`P&aoV; z8hU|NtOBlt*@ygY#1C_idl94~K6!PI@96R+^C7Tkm9rQRcM3N6*8*+=a2FN(!*px@ zjq2}BU6&yExh9JoKj#me!{_1TtK^~hM*#2zBI7CCuVeWEa}gI}?HWujQ6!O&s$+rz2%=TOGKr1KD?HQ?W$ghM=u|EanPb(6AmA|03b_Dc92K(#6 z@8vjg{7URyA#z&zh^lWTOT=&L>CkTz=yCi?iLWp!R{0E<#htApTqtFAr%R zJmlNT)!`$G-HO$;l{=&zw-#j=XHO5}vzjGxU0aIJ*~p#Yd4C73cf2egx?drF-quv$ z?Et_?{`TVqLty(C6sY}&dcPwfU14qbEB@|UO`nIYh4UT<&pT`XXSn}odUXBmzK-yT zd9$xj;M>|8=NOl%++M#HIow0x6;)Otw}+z9b34T5$H6EGG5gj`Rhskb+nN=19pggA z_r7=gz2Qoa3N@$@pdBd~!JcGxhZS3iV zv}pWD;&?*&msitaYPzmt7#kg51 zzKbLKA*%uG2gDrbV}Eab!$$T@m)K{a!|5C1=Uxl+ZvrKfZ|fTT)&T1G3Ly5G@oIi9 zvL$glZv6=UNH6#!-Qkbq!yf_EVq9p)3!%GO@7RQT!@{t)CF6+eK|Q-)NWQJe6~ClA zu9){R{V=vOx?kvh{0V+;$nzFIcLnHRTEtI^lCxUK8RLoD&y{v{{7mt4(X*T5toY{apT=BS_@Ky8owqgd3 zWeD8yRbgC_{oAU2_}NHmLOVPDo~%2<_}5kp9dhzj9S>SA1YC+M3m|-$3*7@h6L@{q zkl&hfA(@*D_uM)lmhlSv3}LqR34Z{19c4)cAXI_LFk^ zRT2D*H%Hjwt2zzm*?^%k-XCkf0@6kMFqNe;-+I4V1uQvNajzgNq8)!*?xPSqwr4PbjTcJZ5Eiq4B%srQs4erDg{*#+3;6+U_aUi&B= zTa>M@f*TXW7oSUzFZ1?Xiu?JDc%Nte6%_}gP?jEOOO_(lpEbV_w+r6TQRbhk9^yRI zeU&;^L$_9+55Sm06;FS8@0Vhqb@>&)vlL}@;BuI(?l{f_ECN6|#P&Pi1%Y40$qba` zwco1umxWHJuZdrJ9msRWEPT~GXuvMzs{nR3!v0GvztpRqjPM6~xH`-63pe1r4^SZa zs*l9)7l3a8>{PV8Us#=iVv)oz{1zyo5vvDtj_wy$ALqzV+`-PvQM9g(?@>Q3B7O*&h86S>&ywpqKX(SY)O@h_ajqC8 ziL10TKdBo0X(c-jG5=pkV#l|We`#n`+|ik+TM^kWO(QG+ffgI*I-xMHU;^HpEX>Nz z&sY0|Mh3c+y{`TNviB1J_PWN!V6oRPyE4O<(tm%{>~#!me6#z$jK=Q6o=Pu#OUZ~7 zlDFMS{x;QQC)H8%_mz}(^Ek5Z#R&QETgaDHO7=GHA4>W&5*)vVf#om_zkJwR=UegKq-UNIJV0~`@lwYFFTk?4SAB`}X z@As+~BlPHY{d$nW<{QaZvnPIeN^%o`nbCrFo%z5#hW3*2o{c!)9eGH;ntssr5P_Y4 z50UxXFvj&2WX;9v;<8 zI1L%>)42VL8UuG@tP-swb>(?fjQ2#PCeWk%6nYX2IU(IVc zUkbPd|EpkyTMZ*0c*a))@4LoXgV9VrEkjAG0c*+XcdOv$A79O{icd+={$Th9r+sw0 zEA`KG+A+eY`nhCWd?6VREg}EuzmV0L>+m*O1d}mj!yyp&84)7Z<3jEB3aiCB&&l(sjp>IdY?ID@0-*5byt4yw&P(r@#a+x z`@xRR4&fF*_?6I=`zZTQEz|tqvD34QOL>%eKwe2s;f!GMtl`+8KQAXgyQE}Pap9!w zNqF6)be8+M46o0LUkXo_lW*JM&Jn9kx2**rPOoXgIFl}C;&;wKS=n4R)a5p|PizBO zZLsl<>31$iNBG8LB~XTE{V9H^(C5gEj4#~)vd%;?NWN_|@C#Kz9IUW05Bp2a9$yl? zun*g=b^K6_ZElmepYdJ-T%Q5H0kA(V{tD{}ef^hQYu_RF?mx5zit|t`lK7$D;~Kuh zHdrs#NBCima06Y**T5UMA1d|J{m>Usnqzx>+nz%4hzi-)j`r^x@k6oh%dpy!(GlMq zI^c3LvhE^d@&Yn0Vn*#e`Tk(5JBo~y1Twl^PsZUmKj9=Y&MqXQ)@k{j710EF(*01( zVr=`TD&M#5P1Jc;Kp$jq-Q9lZwv%x;B0;o{_}jde4|9%DsR{Jxe(0Ad@gh~AZ`;S9 z1+hTFKxBmD0q=6e65`kq8AI%iYnG)S0V|YU)8>D8{IIepqNto&d9Dx3p}xMYTqKn7 zqZP#uZU?-Wzu)#X;J5m<_@|A4ZyQGSw*90Ks(CGp^5^E|lwuly)hGYsm5$c2$J>V} z>i+7#A$x2hzLpg3Vf965zjIstJln6n7&jI3OH&K+4pBi-St$y2 zmlMNYdn|?^z1H_Jam~tJqUrj>X=e3p`>^ zp)9tuy`KcQ8NkLNroDe1_4qJGGkRer%JfWsgkDER#r`82+kQHVLGo>9`~N6_?G-Ea zmb3rDC)oe(A^VTGW4q`f#>-}n)&4R7EANQ?*X+G!r?+!F<6UpV{%_aq|4LlL{%>z! z|F<{U{!9HF`!DO;C!qY0{olS2b=m-^0yOI1c&$&Q9Yb~(Zj=2L@P+K|_NQSZY(Pig zO9n_gF2@No7h_!8nL5~AaD~^-^BSK9DGvU!s5|;x?BX7{h9ABC4ZusP-(Y|8vY_Db zT&~OhwT>OC#SrNKLJHZTKzpY)5j%7l^vm_FZildtpiC_y2<F%=i;pO_v7Oi;iu#4F}cCqk(162=7e{|Rd%wrE2zZE-0j-{wb2qHcJj68yvUWz zCw`^b$uYswvf={X`>#Z7pliv6`~HkSyMHdFeu`222k$4}g4N{vcYiWpK%btNPyWE; zWbd(-Qog7nfA(h-xa4@m4Ox_O>i7tK%{^1=hPN-3a(uO{s-aVAZ^CFfM)+!v1RTd% z@%3|UJV^ALE+Jx9XQJE_xLg*WkvQ}RoP}#vX)*08>(d|qgqe8OGo2B-bo+^V*E+h- zS9=C%f(_+wX^Nh2Ir}O6fc>mJ*NLAuhLGslW0Ot(=9sp&1AKQL{A9_6D)!vlz z`)Rc~jLC_gG1pl;3m`UCkDqH{(VG@OOZ{~Fc@oNZqFrC@WvJT=fF+>72Z+>9+uy)z zeIo6s+fT$$wP$k;nV+`<*H?faa21XdHTzkciJQg&asU?sVyut#ELY{4Mhxv(2$`>dB<{@@qQ1(Q^{Cav9om*wF`hZ!f#e3E2VzE+HY_UkEr%@iI+FJ_|0-H z`oxt#Aef)WBa>NEvx}$1xsK&^bX8yNF958ys*ScWzS_FR_#VoaIO;X`x)m3fqUnp- z6tXYDBJb;2;>F-)U2yG3QSAafwfqa<;>f7X=nLrwAN@%?#N@mxNBY52P3C`$k`>2y)(@C(t>aJc zxGkDHf7L7Tr)$Z-c$iazus@CUMX4Fz90VR&hMW~zM)5v`8(psBWIHT zJou&;A4m4wn<)9ywPas-Dw&-QCnIBD@=w96tSk9W`-beJMw7oC#;S+CODS0wl7CGv zO6jnQlGn|n)ZEo%efl1mWf_#VfCp4uN&F3c90>Ga)iAF#;`v#gtL51p9uW$8tF97S z_EP!BJNingz8%VM^3}oC)Zs0k9SZ>xZR>s$_nP?hm)l>~`gV{$GS>1U%Kwea=lZP&;zGb2T(t*;`5J4UDK39m@P_>5Tfod^-^J)Nz2LrTU1x zaVUtyb0aqVxgDRVYhPUev@Hg_gp7^=;fq)L#9x&9J7u>`0u@+2Ro4s9RobxzyUSp( z8*ZX%*KOxc%`P39i_19swKjhg!OObiKrRbMyq#Cq7tmR)J1Pmn{lqM|{3}16`)N!+ zs1BO4?s&iu3VgeJxKv*qVs9Sz@bM6F%p`u$yRq$z+I44W!Q{fo{>#yp4t(NqaP4{B z?s$5h>!aI&jUbaX5OWVTQGUOpAJqIA{O>wMadi^`dr3Rij@0CKjNn6m6?|CjS62eSJE?V})O;YuWAk#y zb?eY2RYREsL36)8f!-C z0lM!6K)cl~5Wa5?PM(Z0NW_w%=4grbho+SF$G&QHPXQ3?*F7fV3G0d@PF)rRU`k=} ztP$9t1;n+0++m1D>e&F<&<83ab*p37~#pPMi>8;BBm zqkP!^y48U1l>D=un4$WcSNqdA9>2rqT~Pk-fK7mPB2Sx23JMEn2lWo#0`;;S{#n3N z1E>R3NxiDEzYks_WQ*4VcrbM(?S#0$9y+=n`05jt-ctHw?5q+Df;G>+wod$8@64r! zr1Y1pdDJTJ{OS3d3wCSQlWK;Nj&M zNWS_@)CrI{3D-(rY5To#x%zjr=iWVC&ojCMI>Bwa?vUN?}@=Swp7TN5g<^^Sk0 zXYjobEEYvQBK3zSSpP6|^Mi9x6NA3fh3q0kh*P7r= z{w`o%DRU`^Y0%Q(%wSF#)`#i*;-^_W5U$G+Q%vgQWp#qWoP=wkztz6mT@P=d{xiT2 zA=EhE6h7a{iNqD}xyNU{b^2quUJFsj$GnfvdMi0JD$ab1CcYm13Zvi5btBWe=mp{|n zs-B>e^&3+qNygJw;d%%FV-fg2(oP2T=WEn2?(sCSi%ANHwCgD-f4sUjXo@;P;Z72~ zIM>&ubARPF9fAG|8`$O@^w-V)!4ID9c6cx&nZm3rW3a$MhVg(R0{=>V3cUoIf^e=!rwe4I7v_X2d}U9^7O)x!ya596Zw1 zZYqu!`Y^sM^tAz9cLL@BE|U6H4H!B$YvhE1VJ*d5S^5qj3^(obFU zfl=})@eXu+f>~0aAcEjQ)VZOkPXfvhTww zyo~=G$8Xz;^N`<>FcmoW0PG9A?40mus@NCZ@8EWC>O7?p^7O>7`VqKG0A)Y}JosUb zu%JwL@W$&`sro6|R{JgCO}2!&C>6;_n2*xo#L4%ZSe2&&)VL*jegCq&{M-rHDO}Bk zG@(6Nq>;p*I~C}1)wPj;I6t8XFcTSQSH;)mIAJFHaOXY%_Tx?mVBZJ!=Mrwme_Cn+ zJ?+%v9GlqO$0w_6BjFyPq96U#bA8<9DZLE)pMVjdgii&3=qE5~LFlxxW9+yb`etY}iLq32Q{r-O zCGR9I=lbh@ScL!RE!?(k1KHzGu-BB$6f2JPkJMq=Q;sbqvHS8 z@z>g%;zIiuy%c|K2enTg;ms9 zp^5_MJxyuH-a#qG67qd@8kuL_LutuhQhIMklePx)-1Ns7U;qD`ez$%QKd+5yALc42 zqs=mm=y4y(28bQd?JY~G=l(DH*zNb}axQ+~1;7Iz14afXuzPKwl6dWvgiww8eP6^W zJSfjI-Qsr%osR5^-*pSfD`YyENmyXiCJQhGS8S)l{z0sL23F=H_9i&tl9q4aL6fIi=0^JKNg8*9p)&iY-RlVAOSti`ef?>`dPc z2$o`mAlhPLzw}#CuQ=YDh!;c16P13c)uVx5A88M$cxewl_67U{?NOuFO-#=#DM5Q+ z`CZv`S*GY+UyGg5)+KU#VqXi{Pr_OA$mGd5r0R#zZ$bwjj|c1t*iZc4^@U}nBPaJS zEGx(@(P)w9y~aImJB!W~idWlW=0l?c@+frh5npz}HyMn!{XEOLyWSB#W8729<>MKE z9Kg}~_-C6+k{`5y$JP^i&tvE{Zrc5mzrM?zFHfL%u7oXc5ibVj$+Ij?zC$#4?;(cEH-?q~f z&28^h$HX9LuRvX111#k{)ert`J_+}6e{`>FF?2Z;e|HYb{aA3}gzc*&JSqtnQqH!W ztZVrbJrtVKl6hf;pY?4e%sJe*_Sh+~?MDi!(Y9Qj0I7zb^=EU}l^AWE(F7iM2uuLZ z-vECwI;mfC*OjR9;h)R8l8GpL9iUpuUyEM^5j=X@_GiE*&IR6b)N5z!O8B`Li8;gB z;iJR{(yojJz6Dl4$g%DBazsWCbrQ{2mXDpSKbcFub%5WnW79^wrH;9HBM~jvj^}D$ z4HejW$0pBri5^JY57fe*x2+9RXe1sNKHtfS=z(|K>tDQfX81V^!PiH;uYd7ca+H6= zks#Uv?V;8+sD1^zoj4A44(SdK2a$|Kj2)}QLc^^lj)NP^9SwPX>@Vi!gR47gr!aV9q>Vu@w(e7LI=k&j0eX= z?q{C^KGpS1;)BS+3|=BeFB4Y*)&sr=wW*=jYDRl4M;WY#5YKqR!}ZuPcBm+2Jk|>Q z!2G=M14q1LX|&q~&_U#M^Vo@F#|<1Fk|C~rOW|*wIIZ1yrtzopc1` z1hHAWY|hi|2)9D>;vBslCC-=&JkHW_qh0tV4Rj4jf*)rs7Uu|l=5&n?a73kX}tVl{a5TM>q*Zoh{uNA{b4j4El zbKJ-=V@Hk{Hj&9`DSt%tw>I7uuB!NrLT7?QC)z*hIKUo&qxE$!NxhKMPdzE+Z5TUn z*r3c210rNMo!)Yk+ZK=rD&RZnxEN#W_)|%9xa_}va{MWC))x)xGL=%(CsE2phqR7A z#c$WkzD6=WoOFWVPsV-|oQ!0|K*_N4N%H{*bCzenN$jrPKH{gqawlO7fs>JRqdIBW zUt7#i68zk6pL6^quE(_st&!v?#Ay62;wL5Ds&I%Mf*+Ig7~l!cYZ*UD$`AQTSW}tw z2tek5qWU}H#H7WF5^sKz@XPU&l9ZV?k`|~Ej3msFJB6`zK*E*Or`7zVq_0r}M7Bx4 zgizz0J;6UsBBv{N>L;=2A1m|EZ#2V8o+a6102k=!9x zJz3h40c<-ERY1ad9>74EJT7V^cLRt9QV+-N7e(|D{G#N29lvNBFu>U*Zm*Hvvtt0%)yys$BxPz-g17AU{=_n#Y0Jr%L#q# z_b`3%dy?UQCl3Ies_VhzL(w^OMCPbbV@8e|GcA{Q^1VI_`x-8$!06FrKkzH1 zoUSxzt5&*R;`QW*(4tR5&hRE(^5|%U^1f3fj*tG+ktcoLKetFNFfYZT{}L?*W2CeT6MV-zwRQG z`yrRhO5zh7j|7|sU}u8YPAYw&z0bsP<;p*=lxI3czYATC?8rJ+SdrxSfgZ_7F2`>% z;9LNA)l`5Q7sE=A?0jcz3z?knHSUezW&HySD)IJqoQLMelR5O|;i{VeY!uS~!Vmp@ zA-;(z2Lr9iao|^W=Vv^LBz9*Fa09<3e2B6;l@4Cr?zrs(nuSZkL5_TG!u#_72Flu@ zOv6l|z~c^&`QN|O-yHax1AlYiZw~y;fxkKMHwXUaz~3DBn*)Dy;BOB6&4Ir;@K@tN zDDDp(H}W8fO0qUV#^EuuZ{2`*d$GDA@B!Y5#29_rn`ES8cCS6=oI2cwZ)GnaqjM)R zx(p_xYZrX`dKwu$FnX{%?%!i9_9Z=-jJ@%Vk$wJ+{Yf#azW+7&w)S)~`hJ3Mla!Nj z;BrdNzLJbX@JzoPG7deQjKhZF``P=FaU^z@J@O+mj>7I5$J|fGu~lAM*rR z^T-&mh>XG5No@#Ls}Ie<_qGor^;ugNHRkBrjK$S8Y*jG4He z^$Hp10q-2(o!ga+dApJ^AFCBFI-88m;K!CNWNbx!wgP`O=&k8Z2ENK^>;O-&d%B5_ zHJEry)=a#U%ywsxnY4^d-|l1@W5^6lCNuSHGSl$=mh?TzY<~%v9nK}QV?Ms;GM~)O zUt+(2O=Nccfy{0{lG)=TGJEEbxyxZ>?mCprUc<=TJ)O+nJ;~hTbTaoud3$Xqv(Hat z?gPC08)P1E2l+0TN9KWhka^HPWF8DSWM4A-S!5mxoQLI-c}ybU9Wsvvy~p8r{7N!2 zmy($^g3N(?lR4-RG6!dnIRtbMSxe>#6UjXBDl&)NMCJ(4F!B~MN8#DgsNdM#$Q(D8 z%<;#OIRSM%`9MGwnWro!^VG}8Jnb1WPe*;u_yT(#tRpk~0y1+-$;=%|X7ErlC*MZq z)Fa8vn?dH;?~|E7p3LcaWEPxAW)aFg=R-1!fv*JjmEMDI);ve%j2p?E*$uFQ%-L6x zdEUolUeJ!rIjMl}$h>eXne*n5dC@LpUOb7+OESs4bSjybf&MFck$GhrnO7Z8=G7a? zyyib-Ub~*m>#E7T0p;BI7MVA_N9MnP<&mxmz(k9H;Vi3BpA+>6Yo3dnr=Gcp(7LFO~p zkooK^GN1bu-w1&<>ufTAL;L@cN#=Ug zXFd3|0dlhmJghLt+!*ii2TRjN&d{s$)B|c z`3FoU{~*vYxHI{O*nn#C5B-V!Cq6^|VYA3T95_d;CjThhGrBkV$0U(|>~ZABmlXW? zf`Wg-FXTV@M)FU5jQpppB>$-&k^l6uVD~i zAZNZeB(HTYe`0 zt=q|e+ppxm{SWfr3I5(SmHc-&q7kpCTg_v&5T_g)|Jf3TAL9|D%4EkF5z z{GUQjKF70P;Qy~qCI8o50jSps(D?182odlHj%YYH?sEqh^)T*k(Ghx z51d2RL6?zr@CRhUPFsh7hJJ65b?9AW9rg%Wha>-}L&!S%3bKydi>%{uPv!|^4eCqQ z;ND~n!S&EVWSx*i)``24H7rQh@F&R{1-;w%GqOgbobesVns63bCxMoUDP)}jew_9! zS*PRr4DjI08_7EBTC%c-ku?dpb5OtBb!1J>A#2J|vhv1|b@pVkrhzZ{hmtjYJXr;~ zWEGxDRuS$wr;My(@V9gvS!JltjEBfN_g%7PzE0Nc6UjR7FtW}E-{*`b>%u8y&Haw7 ze-0*V{(fX#^etJJyhYZfKazDB;Bx$TWg=Nup`FLD!-)$hvO?S@)xD z9vDK_gLwAg8_0TO1zC@7B1vYx>8livz=sk2JE@Ur5#lwA030$=dV)Sy&5WRdyk3YYACZH|z)tK#cDtTrCtW~x^08$5Mv-j{B-`vp zw!bggHoi&|_#cKaf-JKR8a$LGoJw2bU7yO7=O8nV0JN_Nk-0F=G! z7_xiqLH2H0Wbd9$c5mDRKi1w8&+oa3?7gbV?z5Tfeb^_?kX zPdJq9lR?8o@aa^O?9=uo`}9}HK4UuBXP!v*S)f0AH?k+~N_NgtvU6`HI|y1PuOxfQ z%Vd{;4`rzLtnb=N$iBOP z>;<5I;agB%!%2WTvLE@F>_^fGs%Yiu%B5$_OlO>{h!Ooehy_l{~Xybj3xWUbI5-A6tZ6(LH270 zlD%Xi*>8MA_M4E2rI3TSZX^4htH^$LKH2YgBKw2W$^I~t>}9~eY&F@-!J|(mk^L$7 z`q|ZFe~$An_aggi)a4t<&x++_e~Y@UOd$IQ$Yl8fvR8q|AFm*LHF)zAWZ-8!vnG-3 zwW!b9C1kI=m+W6}Ci{1^`5!&WUVkvz8^Du|pm7uAsRF#K_=W5(ps8{V*;_v$yXsl8 ztKTQP<_@yAJwrCW0B+-}sdnA3WY=$?0R2dTge??kyO9Fz4xm8NAPOWS-}fv9jF&0k zA4LJnpg_m_DA2hlpn?KjR#Tu`M+$WB1i*7Wex^Xr_b9OIKPj-=DHPZp_xDbuz#e;2 zV9)6k*y}b5^qD|`y~j{spBpH!AM*QtN&)nRz(J=|;NYng_y_Rz+ZFH!1rGg<0*C!d zfx|zhz>(Kd;Hb|jaP%(}IQA$Cz-|PN&!RwP9tHYOq`&~24_rclL7;c=0tyTPuAxs; z-~`Zg;wlOZ`ws<%pG$!e&ro3GClna94C_Tu?ilQ&HWp=$?*dp)fs=uM;t>=$Wi|y) z1t%9)>2?LX3l4CqQH5m>-nH%4)}H< z%9%Tk0`tJ1`Pe+*BJkv*A1H9~^Axz`eF|Lm1O+a?o&r~a_gAf?z_sluaNT4IT#x5& zxPSsTon@f%7g%SQ{3ZZzm?rah237@H z9RPdbe=Rj(9SBzuiPu{42ubqq>e{dlz)7`Q*ZRSBi3=tE;DFl}Xvt)It^o54}V!5MkMbNl9mRt>555G}Pr)wiff&>PlLGVFek zs%Zep^DIv>*InuDCF`y(M!DxPE(|MK{4&HEKm~x8(#BkO#p~NEwJP8~PM+zK^-e;E z!(&-zg%Lk%mMY1x@S1*t4`3q$$4GyVwO^n|`B&?T1uxcFSr0httZH$7MF{U*z_|xt zUu1CIBkQcDW|vIO!e^vVPg(C&S~wQ_ZWc_5qu#R43ZtHqWS!Mo;Kt~s^)P4Y>#VGM z9X$Fvt8(ytXZx{4_^Rtstbn$jRX7dndDQI$z(i!20MQ@Zp3T;y!dG37<^u0+A-wMc zCxka)CNg5}*Jl;uZj6`mn6ULYfVKa}>gmvL6XZ+Rqj(3v!cZC~!@}!(;eDFf$Os?2 z%2By=6-V!}j&7TRB3A>rJy*qC*Sw>wIA3tbAurN@wSC$mc)6?ANO6XR5n<~Gz$Rr6 zv5y<8mGQ;-S=f}V6gNpe@9*a1hZZS%=BKP*wSm*d`|~!N;z%-V?jk!)f@hWcJqk^K zfYxJCg4&PY`+F48C4^ruRsBe#D5_um3Oo@$VrePw|<__$u$ZyWClRVJ)z z(4Jo9r1AE{cRd#ULr662y@B@tfO;Qr+vLLH>Dki5i?Q1Sb_X0JcSrriDK|q<%5cCKO51p!6qL5<7D}t=s`fiem=#sH zb|H9v$|@`bi}Lzv4L&y9Iu4(-`!X84kNKkS_dS>RE6n_5TmJe9f4PBo_2r!+ zLaUxNYFhqO1Pk%al3;HC zS!zAKIBE4t4?;R@%uw2o0v3lkVT?G{*%$q-aGvW#~H{~<^MurJA5*>3+hzu z)F#sNr&7vInLSQSOtU6zLU^}mp> z8f&!p+X1{Tjn|%Gec7KS->P-klM~-wt-J#4=7??$)~~_)+WS^A4q@f@C&@G4#hzl- zoFuWQpfa!tu$i->^x|)Pje5szUxmNAeSIC}*D0Jv3fna(fCT1kSg$uWjx-nc3}ZS0 zws-JpQVrO$yJ5>PcHY4mnNsDp&aY>_M&wzy?~_5bV|9&`-l+2~fW1H}_bIo14?Kdq zVdHsCBiEJfH@^1}m6|}0ZeQUE1Va90N(N|w`;agI7{cRuaoN|99ufPBRgo!212O?e zirm!XOfAgI3GzUQidU!4%95O+xt{C6@~6M&UoI+&?IAqJl+nT*Bjp5~j|3bp<5d-< zg{9f~6ADX%p-n{3;mC72PS^Xwvvq zR0%s9ziO0!q46uoXi5oSCSY)VIqJYY7o$BXhXAqw(<1e1YP+?LUzGAngtEW#nd2AP zH>`1L5%G)8BH!Nq$v@V<6W878a z#u0y~FPDy+-T4`zeC}V`xRsi>N|~*2raY#Osk=hc!zQOJ1-!?3x?SQ{k53NW{*Nv< z;{RL*Jfas_sqpyzzX6W|uLX$d|8PBOok}r%UiGHf3Bj-XJ?t%n?F5uc0vaKKna*=q zE$8>$x+($7{X6hE`#ZNRs#+zkv?q zr8@RW{R3=K@Bc@&`!<#X+z_`vBK6k&ktM*(Y(+9s+k+V}+HG*86hN5Y&5rj4FN)?Q z`+iRW4>qZ5BXv*UL?>%=FftgY+aE}QAHd%&V?UDp9**VR-+pR>+&TP~c)J{>i{Hn5 zI0&>10gQ5J5k7cr-*U0Xjy@KD0B<*>9tS{Nm3p+an{LP1-`g@7%7Q=gT!L8~#TC!> zVL8yti{OWB3x3Q(q$1u=#cnvM!<9Z_d;{}?)A7+$2c_h1&MO&Sn45=BZsvvv@k~bq zFWb{^U_7ykBlUE^B)|z0FK#IgmK0$gqGWhkX;9TO^y?W<g~g>!#wUJI>THxf2k=j)?nCihdZWNIX zLS1$(k>$RAvtvLHx-|17mV(uvQEQl;8SLi@g3Gf+?uKvC)#U3d5rqr^ixCMGn^g z|BmrR8`!?Udp@1Xn75RYSM`fR(X0zMeIge+ect5)^UtX~w92Y(Ip7PxN3r?|Z>!hL zeu6kFbv0lOnPOXSi ziNiC;oH*8*zZScc?C7hGpmQ^z8n8ji|E(ww^QNLRLQ)#HUTnNyU?dw7!^ud)c`Dw# zOTD80NnEQS)JQ!PIfDS>0l9!n02r-H#rtll>@{q|le3Wm-wKukSTt-+DlU`?*FB|^#5bES8TfmTExC!R3L3{07i+@ z_Ehq#*|kxHC8cOA&-Hh;Q|rWOY5$7FyT4wZ6Q`Nyl{&OLK0L1QZrUMuZ|my^TP#k? z$}TR&_(f4+!O()DGWB_F=R0s|u=8mb0_FqMTy2<{60f}*zI2_4JnH)1g$4RPW!5+3 zd-W*ty)hl{T5Q4bNxVClN+~bgPpMO?DD9ocC}rpptSgooVHbjCUb^YScjltFpvI9R z{f+0lFk8(d=LVuj_Jr8#vZfDdnPyV7^T$>Enueh?BqJ@yIbvN^+J^wdb!qo-o*u_= zZ-}pdy5m>9KS}(0Iq-0}%1(IN6FBw- z6oX`>y^7x{0Cw#;2$Fb${r+Z;-wR&Ev1zd9?CYU)BaNpCkc_lt_?-{99KgYj#8s^4 z8rknI9X0S=Zy7(w+vbuaj%5$%8^E`m71hq4@ip+q9j{9LoOo5@#;GWurzMb#w6*wU zCbLt=^CFS@Y3oeA`je4%48^I4VeC~v^FE43GSU!s6DySE05}b*9r=Qp3k#kG{}A8S zmUr-Zt~u=w%Seu({pmzkanumJ6pKFAR@$t!F<6r-R`-tG_X7F|5;x2_*2$PrSmWux=1>!TRx%}q@xF%wvppxjus}r+;xBG;RgUkAOJ4{by52{8 zo1TYakc{*T@Vf}`Zvd-^mec!!7kWSaW=HRHwPynbl9A5!ehu&zpi#Z(wgX=4EqWh2 zj7So_{|8Xs3K0J*s-16e_#U_3m-;z+U*2PS1LfbZa2n~%&z}KX0AW4c*u1INdWrrQ zydnL63%rIr;AQiPWTeB*OYj4DeAEXJd&BylnGF4p??V{rm_g$GS9org*BYgBLujc9 z^2MTq#5&*p5hY%!u8s7!LCZdXgOI^8F7oBIzUAy9NqzC8j1%pN>(2qO;pv|=7zbkh zZiZd$4{elLP;#y_VC1=V1}_>$58@Ri8bYE7;hVv~mu z=cWAf2uiM+MZS{X$ahL7@*jk@^_Hv(gp zwb&Qqs4_|$@f!K=-Ie^;okHpTo+5kf{gk{K@27s0LjE^*qqLRhQO`G^Govv& z-Eu8{0&7krqrDm#HQGbhbijCI`?CN+{!6zXET!@37q_3F%enXoh>o$#01}i=`}sHy z2e9z4v0)vm^q$L4Sl_UcXa}D;kJ6sS`|LF{DPeIx$lA-~`_Koz;eF_RE6IKj@5vu} zHwtZq^u<;W+(pY>t7Y|&9R)fdY5wi-N5rK3$ z9P7IZeQC1*Mka| z_(|(={R%)lf+#tE&XK#g{Um8u-A{TG<%i-yG&IaDc zRb7qtKj7qh0Q+d{pSk^{_L%);8R9+ac>NmIV;k*%!i`#LLObhz(rT3Wq$pOAjCPX!vtO9vB>0`NiV z>KS$T=vD4E;vuduD>zhI^x3u&F;`Na=W>8q8-H&dKcvIiOw(UKIetic>}aNv?uVpY zfc>tX8Pj5Z$f*46oZ#p(tm+$BTwGX;ua{tGyhOephxVR}cDsBsUX5pb1(QoMrWQ^Q zmSmL9$Sy(VjEn)nl4+%dMH$oc3i66evnRumo{?Rg(YIuB?#ztR!ovKLjDrt3Gz0Gj z7UX6Z=VlfKXAaAoRGeKrDL%=KyAKp01x+Ni zhg=0b^B51hX@`q(*9UgP+G3z`w!AM4j`|!)Q>O(--ZixMDDSM0^Q6-5z-T;(O z0G{HksP=w{ufgxQ?XlEPx5rCS{>uud(SZ&B?*ORfh#g`-tJ(Hg@apz>8t^Uz8YH8` zClIrAKsUYuqygl8Wo}%ITXdKSfIr9k#bPbF(SfP{68~wb3G$`eyO~Hv2lxgF z2LcYql?f2}@@kjLrOP;WL&m|opvYeV+@5P2j9YL!)<6T6U=as!d9H`_WB0xRp?)KH zy8_>Kz%PJm8JDOEvO-oHTmTm*$*(L9P7W3a3vz-(b5*u?IwJMOXo%qL23>_#>u3XS zCHx2#ys-Ad=uii|!O+pc!H1^Sw{`4&M^{X&5&D-p6?@-?+V8TrLw4BSi~YT#)$Q+y zVClJq#nT)+8J-8-#hzQv%e#=h7K*5frWyF z#rRNKPGNDbdYgMp5Sw9?AU~T&;nerlwC6IsKF9s6!F)o;6d}&&ILJAELPn>3QI{Y< z`o6BOS*qfbbGLog#Ladc{%E_!egaTM*Uo(1Imf2 zj;1!R3?}Nkl4#NivJh>A#7N${V8#u$H_NfC8bQcmdttBBkuXH)bpPC zCH{i&NB0-*0b87rSEC~a{u5wW6L_e@4`?}mLGZ#~=(yPN7og=ja=4CUbbJ^%p9Q>x zD+?fYjpeB&)@he>JcixVC5gYV5!bMe9XX_q@)tV7QEHmMAobJzg||@t8w#h<@h#Nt zTfnc#umNGdHrrniyt==T54;bA@Ipk|ps}&dv$pC9^xNuEXkf6ES)u$x#7I2)&hKod<(w4f#*O#KY%TMFAoB- z2elS}S)fiByX*unvJg-o}V{X%a+U6{VA6H*75&4{nT<4 z|6i6A^8fcb!l5GK{}(}S&TV!7e^_CT_}x6?oRe4T?64H=lgsR+iU&F^hh$-{trH@| zPV1sMC-H#eRYw2ASF)enn_4^&!aTSbYt6Ez26LumDx;K_-v}L2sJonurk2BYwn4nm z=~_Wzbb41EJ3}9Jz7ci(4X}~(qU0M=7@xj%#|yd~OT2)!`<=Ek9>fcsVPItps}4sP zq1f@lyQs&q_?h6DZt>fNPTg<67j)KuB&Mn}tVKcxKv!I`^A+|ln?24ac-sKQk#ILQ zfD7$#uGWa*6Fe20WXaJj) zC^_s51~e^h5dP|M!`mo-sKRM<9tPe{0I;R!anx|THal(*ye!g4vL1Ij@b*;KMrTYY zC!7zs2pQ~RNxLq`i4!+;!m1mdF9vsv&iw(fcbIdFO7&=GjwkrPF2$IOI|TE}58%Bk zcyYULjk>i}ERMvq%$968@H3!^TswT?g5g;oFmKnnR|BVKeW6Y9uqu=SDHIZqSa6@CU-$Um*jq)-$#nB@t-^| z>%TfL5vq(Xs(p+uvz+T)P@f%w$E$u6{j1Bb_+i(AKl^hzP+DF7fnyc`c1ctf>tMxa zZG9K}VPC{q87?P&I(0v65y;yY#UL47`s0^v=H&o3>S24`Y(Gr+0}b8fRL2iX!ufGP zfn;>yA&!NB2LNo;J^5i?>n(l|zB(yM{2*BWE*K-|awca*$^S`CyTm=;D)rO-pm$LI z*$Su8WjapY27CdC@^72%2MJ!?4=MoO5h1)6;^cS07C_j))%>6?y>a*9fWd$q0Q?-R zJBmt8kT2a2S%VTssRE5IJbz&VFb5p*2R*i9E7_fOQI-A6UO0BgcO<4EB!%q`Vg2z- zw^I5+^IL4)Pn3Oev~73=a=o$-AEDhp1$+fqPbs>+CqO;8J8srOU6TqngEUEWg1u0s)F+yDwT z0xCH#N-sf5J@-TLpEdif?2{(vVxO)9K0yup)D;Ruz9Vr4a?n3xj}w%`KKgim8C~1sKN$N2Hp(qKk0*Fxhq}Tx%Xk2yz^-iOkc_UqffEgr za5JtfK*SDd`%1dw6R-6aJJi*Q8^jJ_kB6>(0S7X6y}i5c&DY>}{C0@>>ewNPi!o;1 z^(Zc%>vs(5hDpPO*Ko!2c#-;P>zcgQCn8rN`|}M-#Y{%mT^SqW8wp&nc?sX+Dga)$8nf;kUfuMMt9d>w1Ot7o|?7gtNkxzBhLsJNZ+-e1?V04K}*!A$g#|;;4S?BBm*quKZ5lz?D{!!E^%{D(1CG^uDb!wR`X3EdN3Pu zZuTq=ls(fEDId|V;K#azuGkN#>xJa&@ubY7ZFb5Z9z;Zd!nNcXPpo>YdO^;lUhtW_ zUJAGhpvD8LvUBhTa6u_5)B<=gSJ`!ekZyFn73X&WX6W;0UGbht*U13*FJ0#WFbdlB zIr0_b4cTHAJftSmA@;26gDCMaz+$o1(YIKFYWqX!fBS>QW)GtRrUg5H5`2NKx zC5ftK93#q)yYCmfwzK=WeHw}9zz1i48IeQyW!&Sb7wCQ!@Fw7;)|r<(;YZ*(#le>e zJj(!|0p3&Xz-xhr1hex?r)C9?Hnnl23-{Mj=HQ40#l71oh5o?Hia-aAPunO>v z)OW-5;Pgqs;!(wU)3Kfyi&?R5$gAFq*&hTS-a28Oi`Q3-(JKHy0KOD_n{vvEdD-2p zp(TaRs=TJ+gFlxtZvy#O=CznV7aohs%g@ci9^E`c8+y$<68A&QSa@2;5ASv~m;KjI z;)l1T_8odVbqV|7^`b|*9f(n6c%9vj1Y}0nSN!7T(Rq<8kr(Yf&c3l*P06u#A6CfA z$Y<8nsMb~fg|0VbT%?<#*XRZh1j*dgd1_ysNcqVsmbq$b(TvBScQxffcWFA0eG;6CEx_WX#lLE=eqLzQ@7{wpO%_H5Bva5Y#Z%$C{e~$ zSDm&n9;@24^CZ>Zmj zz26P^z6Y?3tx)z?zL!^6R>C_ds-5#Bzp@}Wvow+y7afuM!v7Y$y8|Ca6}oKzd?o&O zg|hoD6fIR>^e4gF8~CaLI{=kZug#%)jVqiMMke3Z^*C6*HqAe8QktzKiIv4qC@tXS9Exl+s5&r7fOAxPP04L zc^|-T!ru+LJSiTxK)o?_FEZv$CFPJzUwH=kf4dsjCxNnmlWl(OBA|sYMPE0F zKe{U;!W3{adSsBX+Zmt;TBy5F6ea(VQqTHD^t?O%(B)j>4~)TgU(Kiye{^4ift`l| zOK{zX$pI)kqs`lL{IRZ)#^C$C+98QQgdRsmCH{cN*PY!%B%?c)9VLGS_zqVbpoxFh z-1vj}va|P8@Hb<}K^-G>B3|hMmsQ5m*&o=<_i>~7KqD?>P;4LM;3n^Uka6-J8V?dG zQDl2SM=o7&{~id2q&?z}M}*IMJn|mO@5SXa{k`FRcLgwyd9W|c=Vs5>3SK=PI0t;& z&R7|5Kj1tLFc??+0fcYMapJ@S-7%`v9dB)bI}-QsTC^TV;(skQLEiLu0RC%tS^vQF zWP+B{0YQ|%KS224Ri4FPbNW~KJ8C^fpxCj1VX7aw;(^*C3_q#Lc&>-rf7^)XS$dd9 zgCHLfIyh&tly3CM#yO&^9%qPuwMq7CE-1yq;jvS(o&+~3KU(e9KRo=_F7mzB|8-1p z8$AjDC4iZfHcmxu#)j3no~`t~$=xGn5%ZtG8(&&`K0Sxolh8O z(fGvu8dLR1MvsdCmjh0f_NvX#D{w{%8nmBRzPQ^<@##k3z?!}u3n*>ZOT!FFIiS+v zQ*t=Zbt2>C-)ZCPqKYF;8R3+A(0#wMk2|@)0pGw!eZ6BuzS@HRCk2bq;~|_s4tP-b zR5huva2kf1r^T`UFgBl_N13kx-XQ;DYzELq8yDkxsp3--R7mV3a`L0br~V<5qB-Qg zFQc*h8t?^pL;Y@1lsqMZzAuC-qsMZb{}V7*$q%oGYbfiZ&~7J0~-ml>A*vr>af-{3T_;yKduPOP3ld_>R8}vuThdMHP zLN0sy$b5vSVO2`$+ez`Eo$BYIeC;TBwePU^1xuJDjTLgY`@W3E?sM~HE@opEAf|*3 zgSW?;nY9l0ppdj^)U^Dm@T+=8uvoq_6V)zB;Fr?NM$g@G-UrZ2@fUty30sHewoA{0 zP$uR9dLBXcrY=&TvGh({AEnwQ`2)#|@gwr5@0**&Bt=@q{eOo0e|I}*cA#gEC_cb` z^*mA0)^h;PhXOLy_(yh0NnuVN?+TphY<}51IqeCbpyxzDA(@4WAB@=Od5$Be55{1H zWVz={`)0aHi|~dYaNnQtXZOz~-wz`w<>p7pUQ|fFk0wy^?+Fw*_9rr*C?a#{!<2HP zGlJR}jm^myxogC3_dF)5y)d5B^Af>j^qhxYgt6Bi?<@aiI(A9Q9uwO9gEelG+bb?T z-18dHgqW(wGD^E;c$g1H&zn`dnwTSwo!oNVcMzM3NL#x9&v5^*%QY&j`8Nh=x?ivw zJ@3Z(BEX$WA7ETYzD3mx{)pb~iFvc0PXnGKYun)p*CUfDrSE8`e|L^uYX`5s|7Mm$ zQl#qgsI;GUAM~yw-F;t!{tmmkjqOO87+#GpCg^?F;mZ=7zYTaz_@dwMwfz~d?k6d} z!2b9A0te@( zprZW0Gv~hd?t4k#rTzbZf9La=cgwr?%$zxMX6DQ(S2qxA@VN&0!ne8DSVU~`h&gAcF^bLzXMN$%=LT#o#DUFoap z_^{{dC-z7D#P9~jeG5thqy@NS`Y-TYVI$8)bEcGu{r`G=<4ND|+l3L+0N*m9yNl)H zb=C7ufMCc5#)6x&ee4&FvzvHn)0%RlUC|~E#%91@+=1S zk=(2Aakw65PHxvjeZE|0_Zs*yyn%L9Fvmy=7S-NLey*^w=ZH7XMgpqekgV;W7O&gK zl9fq({p){9r^h=>)}l)#J7cUwZhew{gddXdQ>!IA{cjBr*34V=?C2_5T0dZS;AG%0 zz*E5IaK}k)Gcl$1S}=~)6>l@pZnB}^D9gp`TF3cHV41Ub3(IPk%&%rUL>dp9E#i;Q zttwkqyQI2>-x2J30ys_w&Se+j>R1W9uIKxD`GwfMq!Zhx>4kW^C@5)^#01$%evkc| z8!KAkds}K>+7F8N$8#vp)jl6D<@`$EV%NUrm+?I{8;5UU`}!++J`B7p-r~59@w&e1 z_}2dWBzDCvliN+fBqJ%ItorcgRnlq5LDE^ykx;L0(&^PXl6&MWl6}m}l3A4|oxA5q z&TAh??uu>_y5dpE8U8~IMXQ`7(^>fcS30*O7Z)bTMK1OAr7_3bg}HjW919%j?D>Kv zWp!*sI=$jBKP=Hg{o5Ta)BPmibjg0`)>wsj-OqIL5jrGxFX_aM7j^v}S~sCB(NuMKZ-Jjv@q~inWYQAYR6qW(wdd>c3o?9vyBj^~0Kc|@-c?4V*A1Vc+cChA&fc*ccyWbI z1Ztriol2gJ5_daK!W%MU4Dq^M;N+;o!?AlwCx$oZPtG!u5}Ct0$Vu81 zD;7YdU*6`o>wl0Z{ztdRB=_=c!=*o7H{bv8u8rMGI!Wep!8{{r>-EvtbIJ9A<-?0r z56tWOG4Lf+sf04CiB=tz)Fi4}?=t9LcO%*pkcaKS{;^^5y1mQ!hrnB=SH85B=cu8g zs)g>`Lbc773+vB!(^7v2{K!m`^@cNR2jU;yHo5lF@%6?^Yu1UXO(Kwj=bP|^m}K>MM>-GsP%`&Z8`%aanO@Vs zTcUSM_4P|WB8ZBP;L7eXj3~=uU`oAse$9Bh8=w1X&maH@0jFmg5 zpxCbmr)y(>#80gL1O4}c(pZ-~SRJlC2c9cz?73w5q@M7))l*V$KrM`FSJfm@>5LQ8 z24}|Sjn1WE8@OP-&Achlpa2lhaL9v zz>#+u@CfidykYi9cl_h-X9L{tuKfC1iT!^!nS2D}WB6>bP-#FylAkMV?73w52>6eb zH&{R2B~*EzmDcNi0j0kfIM1~kn}t$2ySldd;~zo1XD8sLM!NgNih79Ypy z34fd}^SZyxIlad2FS_K#lEe;V*#1Eti5H?NYMpKg-S#}yK~;9kkTV4j4}ib(d{6S;m%a!-Cs zI(-=DdcFKxdLx;>!esiA+mG!7(ZkJ8^Lp%W_`M!K^A&(A;LVAE#Rh`$18of{>lwxO zQ}Q~jV0*H4Sm%T10>w>drH4-bd>MEb$N+R8)bw0%9|+Z7>yrwn&#jV-f9xX}&;Ca` zyg=OL(GJr7tB<8!X|8nmxTmyx~644I*oB zBn0FF*6(g;|A|$+c{BSWl!(_4kEuVN(*PoIgANj};GewM#;F!mkN1EN6n}!8z9*)R zLIg0ruI2>q69MyjoB<$1aL4x8VBd4ErwU#mHKU$8xYu>9d)8;cM*$~r zrGtyc2jrMFZi?5-KL=TUA30ux9Mg9!%+~kXHl!}=@0Q5Ee@cnX3Z%KI_lP!F7P1M%` zd}c3uP9yJ`z~0gP?CAB}H{rU03oGY)$?Nn3dV5~ke4W5)-|2Xq{(50;856%3Ro5&i zFDzSDQMjnAwvI(NwRQRVOaWjT*Md5>M+=%Ya@fN6ZPt;wYFOpgZ^0AiANr@~p+>UT z6MvxR5@3Yc&+iuSd6W72VG-7I+Y_;$X4jkJBki&0$pG_%_EhywLtK0f*Ng-g_5=5aLHLgFN!!!WYjpx z{^btI-u}uY1TDNwrq3!UNMEww5v-T}6Y2#uW$mdie8GzK#G3VV{r_Jo7DmZzc0I)F zzdiZhZ25UTiOlpw!}L7Z_8C--h5qSDj|-XcdhQPpkLh`76np&GY&x7g+)b`e1J6t6 zbQed}ti7JA{dmA_aZHJ4hBwe(GI@ygs^VgcT!ef6TSDXU0fxWDHVAlgN6}jwzCvW` zks>4dCgz)T<@H#M&-#gkPQz%NT`Zys?AWJ7W+1%>?<6v+(Fmion;=}*XFRfqKLAne>ZY;%m7-okWSx=;;xBr9wIc}Baz`-4{$A$YyWb#!K zdHfp5V)jXHr==2JdmHg2*K=|h+vwNz*YbD38_1(w`~dtELlt@A6xUALzZAQdbYk<4 zUkd2W(yGO53Z<)lrm?`0L0{ec&?%}~_wfYFA^APlO{Dgo^{09|pUcZv7mN0s&+La@ zr*l;Q;Ag#+vfi+MLQqbvzl2`QAFcUd*77Id=+PA0jpKSdpuzr<#>?K>dLf!YSFrzb z1LTZUy0p+Up=mC#4_Dg*xj>`+msI0_6l$&};bKR%gf8x4$d3Ed)(L=Fg~OzN9G4a+m-nn{m2_XARj*<|7xcf1Aef@8fEBmG5rOxYDN=u@?@JmvTAqJ>X-&t#918aJfH?*tdUydRDqyWBub=FvDRWBwvF0HCKb1lf(Ip-Pc{PXNoS+dr2(SH2bMnFxiIlQng{dQirN*_HgK0MmhDtIyAM{z6SvS>?2aif~ayd5!L6uc;Nvm+9lB z=hbT-urDyj%J&0{BYae?fQQ|rtb9YspZ@p@xHo0?p|qSv+La1-#ig!gmaU6gR$z=i7{B*(Sl{&jIc z^SEw>M!9Gow_{)KNj=WBr5t1XLk8%x`V5Tg2J8)Pu*uyB%KI?z81SGy|0C;-BHWUj*E~6zk%Cg5U!dYFKKW2{>Mf8{gWp?(IF(<#6y({DPg*#VT_MMj5o9I|?Y<%wyW@pzW(xaw5Wjd1VPus+KdY{;U2>c3f zS)8Y%Wc_k}J>n0ME@|IN=d6NO8^51hT~jx!h6PhPdT-@EcXjkan&jWFwSn1re$^RE7|4$rs@)HuO z8fLT8!uQ-D8E@xGr`#*J_qc?XeqJAEYu+(E9gO3xV)hR`)$VUHqK58Z1i zI<+SHdURTBsdVO^ zta;Srz9SZF#})@;wq@^2-4kB#%iIYM`$^x^e106Oj+Gf;yWTi<0XrMoovrC9dfIeX z67a+A-Y=jFuNUd^N6s&f;(wqa{HkYvWXc-fIF0_T$IYuGv~C*-eSMLH)_*3U&2X&U ztKxMa;?nV=;FE20ZsmTr(F(|0R#S0=Mmg{w=r{Jh+EJnYL-qk&KM6do_l%!E+mt+e z#9i0c#rmz`CCUO zzW=3I0_AM4`Qw9Wn6ZxXzU!{NJ_Fqe4+rFCH8+WX=(u6;^MI=X=6aK-*QXn>E3jMi zMP6OayRU7P57q2gSW~f(b{OYBJ)}O9oG;cs6D;q!T)jS{qS*)ON{Toe&*e_?ynmcb!DYxcL-*>NRrF)l_G`qbk z-NAmCUT-LhqEo#WrB9FAmN@o7`}g@BaDdShct6IPr^x4}X6T<}dQ`7Q<^Gvy?plvA zx{zF>OC|UeU>R^I|I-|R_FU})R078a-fu2_TgkU=`UQOgC6AZk*LUXk3%aEJBboNi zE0CAA{|^0Jc01ND`IVJa)Gkn^wUXT@Yszbv%qy!s%=!=JFZMal=nLJuy&b*2Co#iI z<^Df_v-j4%w-P2Z7W^~S3jzOB>9Y5t$F1pg^A8O_ z_{@J(`^-3f-%QIV;J@`*&s|16?EcpBHG5(F^!>NKJ?urVkBy(>Z}inMNJ~nzCNA36 zf9u;Hw8fM!9$)hM&hn|);=$ra|E%Y~HPCDp(`+l+0}pmW)lWN!IZ*CHMUv61x9u$*c=Wrzr%WRK7%E|=b+!K_;gAM z$?MDbzf0EG{Pwn*TfX1hhyE*?z@y%bw|$S{crI{X^hNNj=DjBSy`~57d;8wu`@O^- z`4kpZ)fOy=6vQPs1L66^ozX^eX;eATZ=0=3kN?;e?pZd^Sf1d z-UZm0L_$5^60PT^`rXFApx=EY`9I=tdVODXCuHs?u1${y{ciY4|3&N4>&M8!07m8p zUdOy_EL_2+Xa;R}Yyv;kpKyMi(-mru-vv}M-*)|$k~!9?iI(%{DbxKh6YT&Vw2FUC zJ`MTr=3g6qe68C2Ak{>S|KF?9>Bg;p*k{V5S#(7L>}(NT!MI_d-S<1n6kCv<*$F~F-gj4K zpWY0N6Eu$1Uf9gM`@p*C$f@O$^#Oiv|4$@0_YBGGIb(-omZXYyGf(-HigT z-`@W56DUUi^h3+{J4x@QtZyx@ki5PxDBso(x|n>=(R@)h{Zv@gC3p$Y?tlgmt-S}= z_i6v&4BFV*9|r(=G_k6b?l zJOY{o|FPe_KAtAeQ#HP7G>ByJycOjCth@I5(eX_qR+=`H8zCTGzQ8&@#zEfsR6?J6 z68iQy32i!7Jo+x)HuxCKAKh9Cy>z*R-rrV2pP$7z3h&6?;$<^Jy&Zmi-+ylHb;_M8 zKjU%~^^f0RJ=+(Q_cn*c>-QC9-3`!Sp31bzk=h#-a^k}Mh@$D*Olrk^DAu;sODWT{ z#+s6EM>?-0qe0|K9rxEJw$bG12X;$Xx=gn}NxhsjJ0*&PJ0`~s<9NZ-zq3Be5r4ej z9UR?0zZ-Rz2BOwA_OJc;^8`@ZI^VubmvSwtQ29=k|EAab?+A__0K5HM|Myt#UVp?) z^?Jrxv3p4;Ha_y~*7SN&5`AV}9Q}{Lkih#5>)9>5uY7F859?10!q3ur)A}Udq5Zvf zqbTQaU<{C9ewZJ3?e`sbXx;q_;)P6^k4g2}HvUcjljD^An$OI?$&ko@AF5Xhz9-wU zujGt)y7l}UKKfP0xS=gPTsgPA=7@>~v7Hk(JNaj9pg$V2|A~O>j(h#Db+nmZ^GZEB z{Tog`g7V)GwrG2dKgWJg4N%2%$?|M|MgMVz&g<`5zSsX2|N1QGJx|Yr{aKZgrpaxx zpAnF=IL^xqCkU@_Cm`{Y;paR#-W&8gQq@Q6$jpzQu-4v>pBOz+KjV7l2V4Rfmns>m zEN|BnO+k9ra!rc|Y|VcE>-2%t`O-%1_a{fiul?6=zd7gh^-JQ{4OdGfr{YO`^kZ7D z{n}S0rM| zpEWfq?Ei+_shjVry%bH}0A>#jI2k|+2dFEW*iMm#7PixXJXwF>Qt+7XK)V?58}RK3 z90I6w)nI>MEsbV#uY~+o$#e{tEhB?vcC!`TXi4tD^vQ+4PUr=?55I zNaeYh-E{tVdFU3&wTazdyy zEh^*2hg9v&8Z#k&J2L-pGskaxEgFyV! z`KQtLWBA8__cY*a;0PPX^zGPy8txqL5T?w(Bz$dS*9K50{}+;P*SZu2jEP^aWs>n; zAIa|XRjb)G{lfAzK0~`#MQw%iO?5=lH*wCs4fr=TPBe7@(bNI&Ncd08V;Q(ovY$X+ zZC>s{jd9)NBe>6G!`PhM2A;F;IM=7j>91fv%ly&-=NNu(z~k;X@ObD`9kmAdNbe=+ zL8QdVZFA=#1m(=^-Jij;&Tw<`jXME}pA0|e$$n{b=BYlSo}}T&v<}<>ov(iAW!%&7 z7RejvE6fD^?mu@+&y_Mes@)CD4~RXddMoAmqXRa$_f&6W9|8&3zkwEMclKrr^Apy9 zXG`-uZT!sg$FAG_10p{IiAN0F+0oChua^d*?+2>0K}v1Dn(9`IuHskS=?+xx&g=rjM&>YK>Qz{6=TQC(5) zsPG0Zj*?Taz60|NR`X|*=eIHo!IHI)GVrVZT&}kg=){3=?WK9+{E8(|&Y<7)JMi^! zG3!2I2)U9vn-}8|OFvGxj*}avCk+)b`9I z80h=1-oOi^xd-V=-G9=0J=QP4nOoeo zH}E!hlE_!Z6C7txy*%1=LZ6c2viczSh=LFNhta>WX!`U$=a$Z4Vy*du-%gu3uXN7L zqUcRtZT9$WlD}s7f_B&ZRijVo)V8GdhYkp-&y6o;-$!K4hdRYNKSGD>2ui}Nv_(0l%<(0ZYz%)J) zw|Gh23>K#@ukjtu%@zk8v=cK=dLlJXa2%Y-ZHuS8mUu6IW#a%(#p9a=V05e4>zJ}y zTV1(a$0zjT5mgJ=0M5SSGiP~ad30-_u zj}HyPv(RLAk=Z?iP5@5QI|*|5dtWY^Y!|J3!T1pU#X;w2{z%)P^FfTzr%&c86NvG( z#qlA-8}xII23?(ERlI)z=YfDSItwtquI5B7IDXC`M&NY+T)5*6BGRFA-PngTAvHt3 zI=Bqf*US2f95v)f@&?@jEk^+-aFq=hADZM3Sb2HV;xl8(@?ijfV9*23KI?8Bbt`9< zEiE^>{f0d**t}z5$9i;sj{&C>ddL}L~=pTkJ5KmHEno{Op zvcD0>NB>NH#k9WQSpz%+yk+J6p|*NC`-s~3cfI$qXP@#V?d6pVr!B6kt|>2NqT=oGxDJ zxBt+0&w^TcM~`#Re}UJ7{h2|3=Z<<3F9RR()b>DsV7QTNKPlJSS{~Pk0kbK;!y6|r z_kLVXX#dte#`EtGp8APnfwhnItV%vC&=`3$WxVnHJMtBziM)zEDL@Al6ak}64mZ}| z$!PGd3HjD*H}J93tUr-I^H&W|2kA8XLf|Oiytawk7WiYjVEt96sDItjbPPrDeGTek z3GHHeoBP-G*J;h*lem?0mSY%}nrP@sllbtZKcBJy>sN3-Gptx|T44R6{d)X5 z@yy~#_XYgz1}Iow$rAg@vfA2W{fTX8GP{P)?%4L6d_`hec}?9)vQEygu%-E#KVC4! zsP+o*zervoy1cL}WxW=-QEvtPAeF|H+oiRiWPdy;&*qP-|9`jQQ6=>t#~XkT0d<-h z^vCZ-ULI><;mJGYa+rT?bo(-E{_)L_OV>e@SMVIaYM9i3sM8hm<61nA((tN2!%|sX zs59qJgM#E0yan5~1$O2N<=O`Rals3U3Ec01<`+;B0W0`K?bY_W0{WQW6)v67Y zs`YLK>M!$HYPW6tkix54kK+F?bBg*Q!-n}(_&S}dWqc2AB>R0o)oSC%@h$9Xi`i(d zt~|JA!^QIoFQiRe0$>LVuS?{N`4{w+8&1|91LML44P$e5F7RAnKkpz_PJajG+WZ4{ zK-c6Ip5=~%x8WQKFT4S;_4{|jASh?%A6yBZdlfhSL801N^@aWbH0mGd zxap^jFoXAW{H^dd>iK(#Jdq|@dF|NO{dV?s|3)&;Xq4N$*h(p7{+Qok{P1Pe{El0o z{_lEk}^&9-Dlv8noyEQ>B zY+So=4R4an@7N6P?}3eaCqdrU>2(wR4z+KAaVO1F6L%B)|8f5N{)vri9RnSH%)uM1 zws^6C1~SCEy>#n|^@Afd2JgOnxt*7q|Rgvi;Y} z56F4j*x$kDM$7x_KAQdYB&S-{xF+SCOUoqZmvbe1QCh3n-GC;p>XChzYAs10`$^tl4Q^fxFloY6qUlG~?+x|4SMlZ@;tlU7-iXo6 zwP7T6G;zu?SBf|OS~6(k)Qoate+Pf)+h6>y!R804QdGPDH{gB%`_Kmc{=sTxNXm19 zy53;+5E!hcF2Vi|UZdCWyQ%&DjIsmBO05{l`n%sE*B7{JZ}7K>+x9>nH&n)~UQ@NJ zYYl5^;2}r5w^Zk4&j;1H!1;R5>Cu+X2e$l?b(;@-FnQzG47uF$SMBZVpCM;( zS2YwVwfVrtFMV6tbGLs~H-O{~u|R;HCf8S+%?BRx0B9cto>8=xydfGM*lM!+dM9~Y zw_alz@AfTAeZ00_4k_#}JLGCuW`2(Gm$8>2?*Y*^_=+oxH{`Wwsp|2!rSos2JAj!y zE&%rjz(7%iuD@C~_NP^CjX5w(@{cZXC0 zM*~*_j1&xEwgH;m8`@7_a>@F2P1t8E_8utpTrul$9ZpBP9~`7JFS}iDU>5K+K+UvU zhm}`Le+Z5Y#}518i~So?OCYr;@G32Q22d@MlaG%!Tx1*a>~^h4{$Su25x&|Zy=a}i z-xBFF8aNQRO@v*Dq~AOMMO4VMza1ws>_L%{okhmLq;X3`CLSkJ1P6=ZZ7KOrd6(~6 zJ}$D`e39MX5t)f*n?=3N`G?57X{<9u!|yp$WUpIA_PJN2tUzSJ@gn84phe$_oWuL) zjsoa?pUX2B^%c1kdN17%I1}LitM&zu*{fa>xq3U`dE!sdb6pWo16(6=J;Aw~egnXl zf?gswQUUX zX`^40v@usp+W1c-?XNFO+OtC??YTb!4*_c>?S*e7?Ufb4-N0(#CrNv6FG>5L3$R?$ zzSvFDzWQF$zP?t{etuEX(|SpIhc3V#z%7#AF-OufehZujJPbSod@JdpG@w5~*}u=` z_?4uG!$2W09XK1fLDD0GfqjA3B|Wngm<=2SoDAFwydvpYqkuAi^K9^E{}Vt?zJqt) zy&>s2BY}f~hk%bIeK5}szDd%D3<7v}$Wlok2CiXifX{&ql0JNUARm|j><;V&)Bwi- z7c-}D&Tj(UBGjaKI&dcAH6NGD^M-zkxPXW&<^MTWWKLU3E4*_d|^^$(-?Z5|;ei}SGjdxF544ef}=F=$K zA2>e;KAhVQ*iF(eUnl7|{72I7SSaZa&yw`Vpz( zN$L2&AmA3s*kOOk==OnR^u7XkK{EP0D;a%rBxBmXlCjqq$=G*C$=L5Q$vAk4WE^t8 zWGwndGL|foj0&DREF>9AkC%+P6C~s4J0xS(gOYLLk&$@q$Q)}105U*9Vk-ySO&>vxrm?|Vtc zhVGKFajazgkPo~n89#x4)8&%!^OcgZS-;74DEl|C_kPB`67o)yQ1~thW$q!NtoJ08 z{fdNgZjey!nG))Bl!Ut6ETL`q&cn8YCA8h&B((h_658Qh=B-{Tp`Cswp`DMA&@Qh_ zs9TAI@@7e>dmjn)U|*V^>{gk7r-b<0Qi!hXYkz2Pb4&JorGq8DWN&fOK6@ap*_iSufIrWA7%&b^OJ=3eNaOC&ymmp z{UvnZg%Uc5{|^S|AwNo}jIzxCNJ0xu5=z>Ee zbm2k?{SjLKv_V1_L(3&+O6bx*OXxD{?{c2M`#K5z4W9k|ZT5J3lilUu&3(_XN9ySk zdVsophmHN>M035lP{rXr%C8J%KZE_68aByzIwHU zUihnoUZSpF-UqYRTSBkhDWNyEmC#$jJO7c;yLYn}5%u`NVG{ZfdOkWuLLc8Jp|$Yl z6L|jVCiW>>A)zmz{Y%Qe?s~reaI}QJ0sps)m)O^d!E}kK|()_me7yL%um23 z{`>iL!T^)ROJhE2Ix{cYpCw+$j^btX2H0I76MrBZKOh@_Am>N%I=v)b=kvttau53{ z-6-B~h?8$egn4^0jbaJVd-njF=ST z-Iv@Y-jw6So4QcEX|u%Jtw_Ax^TgZpkK*l}4ty@&KF^7_Uk~y2=f8vQ6z`CM;+3@% zZ$7@xf<@vjI$ylShly7K&4+@wa*TLOIaW^)4>|M>Un^eiE8^9CE8g<=#aqGk%72S@ z6w%FNz`KeF$Z>_@odCTj{!YAaZxU~Pd-1*}zwg1n@c{9D_^o(9@$S#BiTBIZO!Ll@ zaQa;mZhwP>J5({3oz<CaOL)8Y zCA>o#@TG)z{6@k%Um)RKY9-utZwYtXN5XjrNVrE2zRx{K!ufntxfgl$$&hg0juP&d zFJV@1h6mjwq2He?;lV>Cj2#T`3Je`C;b8+MJRF=O>Lffa7kEv=8_~bn#e9Ea3J{9^;hu$-I?#$T|J{w-2 z{kVkB;dt)$5pM-DAlJM>D@s86ad?$3?b(4hezFfk8 zgAe!oDB=4k=Re@X{XG8wvhpDCFm><_3{gX02#xsvohfnp8@YAIderAb;pM}@Y z9Vy}GDa(I4N_h2E5`J-8;C~W+=>rMB0)JkeE8*9m`SnQ>euJ|Aw^G7yu8{Cs@cNx` z5`Om*39q5d@7*uq56J(6?%Kpi3CH(2h68?<({{lXK*$IHguaKLs zr%U*o9VGniGzowAf`r%KBH@kT{9&Mke}rE@Jt5&u@ckFczxgJKu+dp0eFurOn<0_* zd?UO=Z;5o|JmVgTcluNa9ODv``5B$7QsB01YgBsWbWoysKAdA&ro`Ljf5E0JyQ zm&kUPN@NGti0n8Ghn~BD2dSvd3>FGG|+f%$+5XdCy8@&xa+l zH+1ZCjYP1ck^R1u$o_9jDuzkqQ0O^~GA^YYRo6;n8TadskjU~MC33`z z5;^iCiL7`$kFdh#5I6 zQi>u|#fwZ+|6^o2n&p>kbmR z?G%aJK2{=k43)^8)bCw)OXTi)55`I4${5&FVZFQC3Uop=hwl@Z;;z>k(=+3 zqxHPEAqRLzA{(J=(_0ex8Cm*eokTX@A(?FAn3=vK@UmpK?yg@QEcahAj5t5nBJ2}6X%-pe(*{M`AJ3qkMr@JL{o9`s^HxEhX_D4wO4yQ=w zj?YQv&f_I>m(J`XdZ}b~TP&G*3na7qQIgp+T{832B$Mx9X7)Z?GO-z%{rX8}|2HJF zV2orI^8R4%6W_|*^)t!DW@iqChG8#C=I~o2bHx3UIr2@(#IMX8d!1xX*i|wo(g%(9 z`(wv=T!wLjq1_3deMN77TcQp(5gs6UL$`M)?q&bQ&8zSqSQD&kXLNpG;Trsh)jXVr z@30{HLfai(Ty|^U*Ma0UOrcS#EZH~@-pJ6N0KInpU&oLB3*GS0kN-4v|80wF=@1pk z=1&|?ZbURRc|&(~CyD&iI8$JLMia^drG}5JqcOChct}Gh1LG`ywQ=^IbBd=H%`NrI z^L^>eIkToupTT!;T6I0}PjgBqm(H=$!RIJldeqpSa&!-1A7D(Q>w}(x53RKycVJ#u zjOB5z{c4(3!wg=qAVo;3p0p0qh1G7=0W5HJ3ikw|%{QL%${Nq^WJjvxd5u zwL|eM{lAM_*w%T~s?B(+-D{7axPg6#hMr?kBXskE%X5e;U zKj1#;yzOkX+f2zyo8pgW9a4`z|Avh>tSzqQ%hC(#ik4LrBw#_V)*$zR{|l4|Ze{_CKg zNVq0%XpCG}dRP8d880I$WXZ-S=*eQqy`ewot=1VYv-~NOjh7ul-b53Isdi#qo}Y9B zZ|K+j^RwRNzRKs8_T@3Z!T6D&Bn`y^#Cn%`Gyrn zQFG3uh^;4+llPOy%Mu#pc+JK32Y6yZ_0q!HvdZ$>Mb(Ud7nUunC|p!lTUV&>=jZF@ z$9}USsE?C*D@Bg7O=HD@@<~R5GV%@;oEft~X7ewimv!re^zh%CF@4RRRCg`NKw+ z(x+`$?aE!iKY+`EdUx2x+_~AvX+3(>F0HRCt65xLw^wx0J1E-5?;IX+)c@LleZR9y zj~c%ue!r2cWzy-$10?sqXSAB%IisxRu;t4pl`pQSnp?h@dAoIig)`3o9FEKk?}&8# z71)%>U7NSd$a2HUMtGXZG6Y@nuDIdV75I;av?8Cu&sh1nvP;Ddz&#A8u&=ZqxCmgJQaGrx>Lf zKA7xD-tc068Ge_S0X3Owz>E*UeTJ34Ka^G0%`0C~r~jvl-{LC6NAe2E>=-@h;q4gaJ&SacMVs}W)7dv{iLLEv%!o-@t-&1WNhk@ zjH%ILh-G^|qNF!k_p%A~t4+z*>*^1-o5(e52!{UwIMw9n=jAn(K6xqUn`}4NSd&#e zv>(G$ME(~6mjOlAPQG7is?zOj;Sjb0K5aM503vzARe#XeAAVsl9yA=UX*gq>!>@2S z^|#r0EuJv^@8pL4AO4W!jC0+|obhWUXTmxD`rvMHOo?ZvuRe=+EDD_Jim@d5e_ubx z|5v^T{gb5Yw($!_XjAz=kjyWLNSA3i>ZhwS!&9_=Qo$u-brc66AZHR1zghFNkWz6E~tNfc&e%<{j-Lm#c-sC7BJg0maUv%eRTXmcKeqmGJPqwFK&qiEh z)OsV{bjOjE^cat0_nvrjhswOc`be5XPH;}ALf-t zJC)?oR;d~C6tu&qK=lwun>P}FD(!OMI&Q?`5UaWH?eIvgiJgG{uB;kIr{ABDnn6#{ z4u4OM8fGGSBaeZW2Y|=)3b1-ewVkgqmsRUov%=Ea@eIz-0Zwyqw4nW@J#VP2USQg< zHuZL@dM+40H@(elcyAk~91e=8`g3Y{?|a?l(fR zU-4_zQP=Wc(*uEQ67<3els{hos?uMyN4=5%=3Hg|8H+2Yb62(83BbQxW@c}`iORv0 zn(F1ttUr;mT)X=JFF9hnM+GS4)ElK3x0tN{AKpU!8%bLi0^7g#nr791N*Mg*lD0on z+TU3hz*>RMU77#P{M`ROAz3HQmE1*tW{pr6<{i##w8){$_mj+bkCskX?Fq+jL#7Ur z$lvM+Say?6LprnGnt{&OU^}g9pf7tricOTv1uBlap#Sm=_HNxj4|MiL{LpU@CxbOY%m2$Vvppg>1b&J(`A-#R~)T zj|vj7s2)HM2L3Nh{=Y##b(FJ_-l&m=)fZIdM~JNR2rOqXzqNapgfsB z$~f65zs%mK1<|5Y6ibGmvn|b6+KQb_oG)bf(UYTac?>@*PDUN<(0Zfr3taNitK;p) zeQchF>Brb3iZ|u;^`n-!_iUcVB5)FE8+EMSbMX!G_cM0aO<2!t@f6D+|JmjXm612` zvr(s8{%iU5_5UcwE=FN9?7qs&R_6;Dznm`jM%`{NdZVgc4&JC6-3f*86W2!nmgWns zVoejHiUaeAHC|1ek+{bw<|U6~45sLUXohWfZ1(&Cvv;ge^+r7iJRYOa8}(%DdMYPC$P2MP6MElbW!u-=1Hy^?C473|a+x9y@CLVYfg1#@7%cCOU^o=^A$) z?T5~MTc-eDiQA6e8Rha7(F1x*qlkBE@<#pOP7?WQdJ67Yvbb*s?{@|A^j5I`S-a@# z#iq`qvijCu9LdI?Pb2>U?%EqY$ekq8rFOB|^ZE^+7TLF-qep|U2pDO4aMNDXN_7x{ zWY-%@X6-$5`mCZ7t~IXG8uRFr?Yi{`j4rivN*Bk`(*b7ijvgND53tVO8(nJTwH`fj zdlTOI-*`4_T>fq2pN_uG<^F5`HUBhIy5x8EOM)%;6W@>h{z}RH*UPQupUx<&DqCF6 zu3lAjL_ufry#bqW<~-HStB}i67U9AwzN$sFg-fcJme&^69Z^=x%_9m+%4-j+t6o;P zw4$n_rmk#JU3twBWi^EbwTl+6D6FfluB;Fh9xV8<;<}6+byPKhxsIhF|r@8ehNf%=u%WB6)0oB61dR zKA^@`mAd)K4aE&p#p~?DzsZVZ_5lk#`hDO-y_3LSdP`QmCXWkRx%}9KjSId+{x56( zS}yem?gIV^#Ny0mAAP^2T)GcLSgV#Nxl||M+oG-G_2CktB`vGKbjBd%`vcQ_6B4r^ka8^_c6bdj1A108*@@3kIn9^NxT=oGQa-KxP>b)42e7Z*3Kxe ztEq5Nj^yVHxAwe^D~@3pjO2}R;R0{Wd#uu;H!y}+@0c_7uLL#4xMvw0snO(daGNS#tF@J@Y zcL6mRS%BHaRv9NWyhPB){L8n8yKsIzC`jIze}MBR{!qfQfd=(j)ZkSyh-M}UmowRZtufQP3KWR1(RCQ~Ff)40CXSsOrAy2GVFDd{SJW+u z?{Z(OR6}>u`GbFEbTDUPY(F3e$hY|RI%aP8pCGHXQace?5JKlv$}3-dF8T2 z%UR*)Z(-aFdT19$&r;|Z4vYbIb@BEje5DI3>U>No<7vD;XcvaJ3Vc%l`tW1(tUlH+ zHA7O%j8o*%(iZC}g?N+eFT~|_gnhSRduya$QL@krz+o#;|n=$BHh7r zD!};A*rLt1lYJNPxyFZeWqbzki1H%kMhoS=ZQ?>>)dl!JkfL#+0ejRd4C~u2{)=Q^*uK@`LN*>= zx|I2HlWUk@Twb+cWpwnCc4hwY*w>MPw*mU)V?UAXPp&8Od=9gKhWX={^Xt*+-!S=m zKj0rXfK4Awey*^w=d?Wq*GHItJQkOfsoCc{}_|h=Z|LFnnx>l z%Hyfy{1}dnr$QmSih1l7OLB3cmX4=d{`f;So;shrdjUf&|9E`c8;8aoH^_0p?9x`p zQ?0%n?cTWE>`iZ+cAH4vxMFuwUtYE}p86D(+njL(YtQ56fL8f;coa3~zULOZ)8L8q zU*AfeztcctwNXuqv`VsG!9O3!m_yDUl6lI->{ZxHvL;TD@S3^?QMBq!n{V_;>hpve zD2ba7W?CdpT2P-bhV73#T0JwqI_^~3V^kL%?cVan9TR;$*e+EM{Ls?z)p5&R*48d6 zz)yT}T)nu!xD%u8qzUs3wA|XkRc!+n7pJyzw)b&r|Lsivo#3v$aaXt#9`+O0o0S`Q zSUSF{`^(VMZ0w&rZ47f9k^gc3j=reR^KMhdSFK-Zbaf!7$I**l;m0t}IIhU$>WzCK znthNi^q;P~&^ezr#!K8&`;|)1_`9MnwB2!QdOsGQw|D?lS+aOQ7%HCxp4M9l^7yD; zQ^+RA1B`##%OJ0Ye4|fW0P}ap{S3U@ zXuqqudRgl$7+>a6i>REoqn7`>y-Q1XPh>!VPFj@F$#HxpG=2+w;p(TfsCeq^S;{oW z*Fb--CG-aUuz;Qze-e1CKVkes9~xa8$1`7Gd=DV4)#@#dM`J1~M;yn~TN+RM7#}jd zLr+%q&bT*$uehsE5a}47ubfRx&891$-x|P^d-^8nbjgf3uD0p_DChq#BC3&nJyj*MHvnLF305MsK|H>%8$Fv0FhmXvH5G{|Egq zWqV`#D0y5UC|}m^xSf12(R@*kU#{3u7XVi>(JyiN88jIY7*fmg`QcLTifZ;<^v zz!!kJb}_!TcznR{2K~#k!OL)qCT~0)?KJ*O)3GOlX!XVi#-GbW*8+C|{{h~qzh?*i z67@Ijzlle&KRz{Ad^7vwKhOU7XDObxP0f%q6WNaBCZ22cUC3e?j%akGg(@9py}QyqR!DA_ zYRP)3Z>z-}<6}k)C)JfzRF&6oq8l>C!;ik*oj|N&LKRR49A%_=6E1Khn%#XrncV2L z+0o$meB)T{mE`9G-(gOs(mk(o9rT0E4o}dgNMoFEh=26wk4^YJ_m0ityenSeanhZb3}|ll^}n`RzKJuN%1(J?g$V;c4$k_V9~ZuU*&F zRM#-`Be2>&-k@!s=^1VAzn3muR$0BWynJ>|wc@Ic5#apz2}GbK5bd78Sog$jV-=jc z%h&$C10TfhC7oD14UT7&)-SETlKfm@W6!BQ3+Rt1I&B)3PxOet!ma{3vs-7Q>P#T* z?W(6AZSm1p+vMo>>zVKu%iNprsXIlG;w=i7rhtM2ikgCrq_b)&-xp8f~T+I zL61xv$WbS&d<3W;*kFHS4GjFE5$5ww%Ji9DGkT(W4cE6l^MEJzCL5ABad&>zH?=E% zV*YSL{S4}J;t+h!8hlPhStl>%n@pvAlPQmHGU3d%b!tYr>E}#b==XD=a^grwqc?GX z%Df$*0uTmTzn?R4w!>xp9K6Aai-0A1FG1c8(QE3v$^9Iw*I+;ARr2@8L%fNY=d^La zbnr!hSiQEmpJRA~{hU95*N=I46Hf)_0^l%kYG23rx|$R1OcKwUNS{Sz2=3@!44(F5 zCMNY=no-Xk$em>Uj33EyUw7?I#NkRi4mgb)S%C2&Mf>dHfmUAL)Yv@T6>s9z0AtA$ z-TuFu7BDZ@VKYDf%L=CZR4uBkSWt%|KcZq`c}>dYX|TUx_-UWk-zWhu@r#MX3MR78 zFLLukMeSsED)PG&Mo25*OZUq=06Y%^j{&#XxZ(PW+BwYVSy?vUb*5a=TMIApYumM9zenv17x{LCU>zXcfat2{M7Gh4c3++UCU z71F6TM{@UgxYhj3xkO6qbo0fMirNL$%!^z})RtvQvzC?Dl(7et`F!SYp4sO9=A80M z=HxA$TwcCVC&R_uO~3zIG?7)BQ-GPkp2i!mh>?g%Py6#{Q1cBZ8;^JeEg1bi$<|8k zXOsM1VXE&n*q@#Fjb-Zdl*Cxw$04dGY4`eOt0Yt%lbJin!=%4Mzk zEBjDTodBGq_ncqT()lfxKlab&w=5v<D$Vl z>-?iXC&4SyaREzyb;aTjZ8pE9=vL^!t`|MxV^+HSdF`<~4W3xL`A_ovmaR3O@v`{_ z3U^oP^GvpuV{HGKb%|tdUPat`H{-Hbf`m@#N1x$T@n%!vy)I3Bwk@s_+BpuPi}zUl zw}Yzx0Z|?Cro-NTE^BKqhk^SO;4{6KK<5Y1_S3w1FN!5l&Y-`3 z4)}body}l=XUP46DjiSpLx5iWb^WFiEl~Hn@W@lw?R%3lZ0tebN=TZ6-iRGnbJpbf zFjg-ez(DuR=EHOc>tzm+H%Zs5SW+aKxJcPAviT@bZ^`;)S>R#JVA4){E69JoJ?!hR zrmpKZ`qg_R*?g39$-lR|_9pdpCyq%``qh3ldp?TcQ(fW9@T6hj8w>o_^zX*fnI&`g zo;Gi)U!IM{vu4gKnl^JT*H3}BIrH(7`zdx!mZkHobeq>`sKe;eqteB3628PFe2Gaz z%%2a;8;P-`wdhg1wtmW-(xQ2#bLLIOfpIB7ms$*^i{qsI0s2*w#yfsZFP%Hry=2z` zI-AX}I6shU!>jUrCU8D*dVns~M@kpRN!Zd!hXb>ljW@ZT;&in4@o=1k<(#xHu(#{K z2KY8>PU#+d7EN#U`ij%x`E+oc^b)|V%Smqk|LP-N#!bvw6zrT*kpMY~mLc3o4eCMHi#1oY_3H;>pOv?!asyItR`t z&BnVwY>eCHzr7cT7c_)T@o2v^@LXYI&uM!Nj8D07pkmMPd&T4Z<6Y4C1%T}JK656R=(K{>PjIDNZf3j^Q`6)y$fUx5374uBHp^hRLbnT`W}-bf+!`BdZB zHV$O;_%dSi&4_3gN8=O4N0Z-w0PUQp^O_5o9cpMCsOfmq!F8eU&-dVbCE1g_;xqZx z&JTl_*5zpZahT%c$eLvSel{ro1YE3l66*V0pZ`rBhcUjk)BLDO`YiGq`Cn_7oLrCZ zOPSL0xDf(kd~NYKjNuLT>&^q+sh}Wv#mH6K2w;L<0mj$WoM`1@?TZfq7{`MF(MqejHi|BBmY44IOVYKBOu~Yqb9mZBLqaJJmJ# zi^Z=4t6jSZ%nw)p|LbLOO*OO31`JXzPlNV8+I|c_eVO79f#-quTsv7*QC_*wAAfVD zw)@`(=$N+9{z#dQc)4jmL{2n$#n}5|=JXf8L%%_L3b322X8^qC;!n8tQ_6Uf%d7pc zSCivO4e6oDT4twD!O2^R{eNc{@J&ka?@Q=W2a;Fvo4{3rr<-pl!+)e6pK6psKQLwO zJ%A~p{lmAm@i$5mWFmn6S9WUtMvinD-PtER?r*FRZ{Y{ z>w11riP|XiNXZQU_==|!{z-}11(bRT^Ze32 z#yD#rUSoR=`axy zs?YBs`>#;mJvooYV@q!3=1@SLdbN?Q?+=w+L$)OIhjPGuA8^0kNvQX`^qTTE*&nj< z1^ppxbjcH%zY5*cAl?tC;7ZHZdj62%4f;dpgYK`2Rq?(F&Q*X`uqv=*f2agMNar-c z9j}BL4<%Ukk~KUSNX?M1pg+XCy^@<>kyJ3R z>TL0LpCR6!cLoS)qtlejXMTzC8%k{74WdG9BZgOsK>=#PE35M{Nrta5I27Jd`j zYqEb5$4~n;e{3pvw*{!`(k|9cH`Z3y)WtqgX&iI@*n;ZHXp)dOZx)3PTyA4&aSDbuHhR__4tsgeo8K{*}2kP!7&0DE4eqXG~BtjAUL-y z^S|%8huv%7$Ca-!J2yARr{w1n?MvXfWV@0~Z@hlc12(^=0J`y+OQ!=RRu9bQv32W{ zm;r$ksbr^I4~^ra{TseQ@azM02fA53Y}D_$`THj(zn@&5RO=~TPTIM(gF5gn0G0q{ zhIhl#vK5u(Rg3GEv_|Ls(yBTn&j~>*@RPAJYhSy8 z=NRAw;AmGa>+e|4sul3iBQ3qisP;M;+4M7`Tu}5hUcf{{;a)d`BL3qIS|Ki{HMQP zx&io^9@d|Y%{iBkl$^^i@cHlTP(%D*jobv+5jE^W$BbmXbwpcxKDj=V@FpMW$g%$P$3fD9=WgCryd4)LV)5r?#s7En`(jkM{zkCBia*R~lSb^d zx2hhOS_##7(N-5k-|FXX++ecn%XpJV7y@tdD*t#0{6Xs=@9X%{o+KSwmBy6qjJA(@ z`>6-yIgS$_Pm?#f#+|rE<~KCcH_7t|TevQcwH-PS2tU{8iT0DPr?-NQnOvo0XmL+y zh@Q3F)DFGAy%<>O9!ixjZKNk&ijw;4K1Snk)9ROJnPd-mU&8-7veoni9}S;TIfE4r zmBikN#FkH~E~_l9TE0|g3;X)waccNk;054yyaoXih1Nw@ld% z7CQT)?V}xK+6Qrrw#n(PSl*PG(ekOS)5NvOPmA}Tn?kTilgZ~&@b3rITNf~eDUD8E zn>P{IVe8O=4i6RqioYK`@dsC|22@m^;>)`%#li!0o^aS9WN1oo4`2f9};JzPL z-%XxxYx3TKoKAAFllJ+X=SAt#c>$J!bfwyFT4VL<&#AX~Gd=k!rvRsEo8O&Wt~cOm)HH`3%y@t5Q$@>TIPd%msVQ`H%j)oVcWSKun6f8&gzeWuNr zwx8C!;h8aQX7pOeRaifR|4**wKd?+xF)mXz%Yt7TL z`~!Y_EdMp;B5M0qPf+RNIOS=8SjCi^p<7!%)y5UGE~nfIJj%77noZvtGT1`CZR1}~ z?GvT@*L^hqGFQ3`y~HmEHrAzJd)3mKdZ@3;NbkzsXMSrJr7D4S(y@ZcN{wF&;GA5)Fyu~1pL#|s@ml><&&3J zEvzl7U0JojjYlVL8$o8t@39|CYVX-TEO1PdH&utI^mwv=90>hC>v^jEC}($qa%ukG zKgiSO3{oXiCz9V-;1EEa9uIK!8kmQ+nhJd@#X{)&soDp#|3;rL4QeCWMVX)%PvO&+N5z}TWK8D@S=~VF7fSNFV3TW$JB$ta~^OJphnxq3zO}JT?f9mm1?=y zP!w+}o`oi}i=DV8l0CIj?=v zZSlM`!yEK-{s`XvK|%7Sp2;tjEE+^oqiuYprx=}=HWhDI_mqG;-qdBlvB0_fA4tuR zFD)WTeZ8!o$?-sU?M>DC-GseVf-?Z)LyGm-Mt0;&N87LcH)=;Z-tLzqrtvqgl2GQG z;&slJ(6FA8iSyg3GVT9i?>*q7s?z`e6A;LqNdkzytk~Ns_TG?YAdrxR-ZDuh$v~0` zlLWyA)^&GX>$>WyYgv2mYwx{c*R`Qoupxp7*!aDl=iEDUXEK3Fn0)^)_w_%o*Jo~- zd(U&qbDnn2z1I{Rexq^nYr4MPu3q4Yg`++N-+*PwR8=pyK63Iua-`oqe#xg7+CCVm zArqb09M#$o=0jSAjjUX9vr4@`&2!FczF*{y&)%|ejiWBr?46@r{ZYv1DI|J&)N=5X zmU{`m(hDN^;j)a!k!1fx1mh z?u@rhz60Mpdy45jY_18Ov%uti{G93a%S4mQTTXj@(`52CJi`>cysODS@m$mUg$GRE z=pGbe9aF~bm1rNoUPJE|y7Jg5lu4Tx!K*-IkIJ2_tS^$D6+64I%++fV{>KE636MCLL z75()aWcKsuVH@Qz0h_ZgC*t~RJ_pjd%&H&7ym?`NKwlM30ug(s|F;9}>q-vpmM6F+ zIfZaV;b~y5wx{oX0vYG4@+EcNv+!*4ya-&abi5y@@LF%Ty{&#f;fd7s%WdUM{2d&w zj4tJc#$grIhiTTUFGucOoB8_Vj!=*gnewBr5=s2Yxa%7G;{U?)@>QzKc0KzdN5?i~ z686Px`fcw2!TVEc!ZE%)6qb+4v05W6U(k$ItJb&ganbqI!Y|?BrQm0v{#&9+)Xw-a zah$xTeEj4Z?Tj+MYQ@`-8e0Z7hU(`uN1DrHp~mK#XskiMw`cQ9%_oh$ky$>ec85<- z2v^bS$^O6kvxV1dDV)NO?RI#xyJbFLcu@8`CMQzY7yJ2H?GR#K!#9$A5mv*uWLpTt z-)YysmAKq1ZAb6g8YSa$t39CQ^xFg2OT#yySR`loANf5SoDW2~^Z^=ITj%x0N*8-z z_z>3~*pdC6$)4m47vKLTAj?Zd$t3K7Y`yQ>vk+7t_k-jxAYGEAkB1MGWBQ@Pey-Nf z)yL}RGLJXh^{t)Zwa|GD2=j?bjJIn#KX)GX4QqeJ?;Os0gAqhr#=m2n%F~Tg6`yz~ zlP*e~;3v;6xB#xXkWzbbli`1+j4NH47`H>_b5ahl3x?-|Z2gTVf87``nSe^$4LDYL*ZFHMb-l2D1MA@VDsZ z_rL;>;LhGV<7TOzb?4mMHn{THr#?M9D3yx6C-u4k?Om6uCshv)|EK2S41d{fM;vLK z^35nK_Q7zm@ss5t+>tT=tNq+YFZ%dP_2NU&StWEtFB0?G5Rtaw$sGR`I6&pEf8CJy zqu;fyWX9#PdQZyX*L$L$S8$HxjKBcc@FMUpj?Msa`MmCWPw1leMr`Nmy`9+4?CLWcK(R|Zo79}?@9gqdJo_fjo6rTBxl4?#%x4qZzTM57SML}>zyTB1Ow7K zs$WH~@O(>B>I8rJoH!e3J7ikl1v*ruz9gxML1T`n2CNwx zG0lz_pWiC^ei&)24mXAQX>2JC&x(YP9xRV8HbffLA{Rd)47)Z>#^p)S@8-70w$Nohe?%0Vtm|vO zYY0ouNYfU+yerj}cGIN)f6jw9Vb+k<)bP=S)_9x9J6$_b4)|Z&p$PgsH!uPlXvEpt z4vY1>u&O3x-P+)Ab5+Lqx8LsYz48HTBt~2Xt_O2<-NnLC)r`jI(e>f#+ORleMd22@ zU0jHyHjswMLOI}ft+!aIcY=Gtt=hhes-sneobd=-=zu!eD{Be0wBmJTfiBjg(&g!k z5s!hV!Nc0#KQxD9vm#aDqVTMae&3|cI7;vtrkb`lb8{nJ18;*D?YbsD=*&A)>q}zt zf#(*U6%NP7@zhmIxRFn(M`|Kfao);8z0n(54w2zsfN#LRw7tKKg?ZAVu{0cNjy4LH z#Uf2o8tLcxjJpiJXRd=IJAC07r^xDBXT%E1Nc3;SQmy|&9!aZ32-Ob`H%3DBBjw}t z97Om$Iq#j-B4pf7Vi%-aPr_-*h>hK9{G&+9gtRZ((X2o91|=jvPSMWRE(0h!)6&p2~iOu@Yum_R`vllQmpO~KXIo4j!snfzC`G<~-E z*yQi=o#|WVYP*!;uJfUe1OL3v60(%u6n%+>xH>T|0xmz|%NOkh_6GxW94>dqp-<{$ z+^_A+J&RQdm_=Bm1Ibt`gD!l`wkSZ&xNodvpiuDmIRo`6}0BKtnN zrOEPL8b1s4@?Cl*(3uLVz(gxoV_`Sk=QD^0g_==sS)hy2qV2mg^zgQeW`c< zituh|L`oLhl_?69V`j{JYlk8<&5=)vB?gHPWrZMf7L;0E}PTb5^iAm0v1@f+V({j=n}e9`M4`I851Kn2Kk!rXNme^ep%5a zg3|j)M0V9goi%&BW{V=jn`RZ#v z$;BHRRR1Me*IA)U7)beQH|U9us08D+J|DNKcUfzttD#&)oP~OCVPjJ{dq8&vXaaS% zpXEC%ah;g0er7sM`*{L%=71BxEX&97_&_w;V50+Bs2|~Wr8f~e%%Y6^8#u+vsZc{@ zYki36Q=PJGiob;-EB#8yN9j(2-UZ+iaGsS@4auGl&SKckNM?hN`@3`}BNzV+&IG4v zJ1⪚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

{SNXpC5eK`vhNXjcmO3JIQR#N>#2Y`{n|rP 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

x%)O0XWqZ(BXr1dltY)%-TBcrk(O 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

Qo*L^S-87II5)5n-h(ej4iL0&yK4j*rsu# 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 z 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%0DZ}^t8$!*V;QB*^FtayDnoCHqn z{Oki_cx&zbqDmM4Ywjb^I)bh(f^G|?Tgk7le}3j{1K<$($CPUIOCU!lb7yZ)jbdII-wBu;?J(UXkle}>Q(SLc=XYg1ZUoY$wUG+L78JU=T?v}k`$rb@*B zvxE3QZM~v+{r;Q+&MSZ}LQ3_@k44rS_e>3xpEdTclx|(8QS@7|qSuaheRA1-u20XPl-Vx=yoOzIU4Cw^qFF z>=_1cRlh074_T7gb3FMWuQa>F;B;r-j>sT0$8_gJYvBKb{OBA8jFt5RWB_O14Gfj~ z)yyAZRaD@gPXi}5V)m36-rAENq3g?!jCg#Z*$b3zCBL3Nm_3-Yc*k}hr_i6RxbtIg z-8xoo_Hw~5`T(19%p1TD9ElHc2B7ivJ4PQ=u{4{jxNZx2BjtHIR-S3m{v-1+8#_7s zVZ~P?ze4f)<9`M?nc1EFTnw-EUTQ<1`fGlp2J6==CEifF;#Y{>e}rQ^huN=zAOSOlCI$)Gw&E|AYGZ@zqT3eHqxQ_1nU)SW?kig85P41%SDO+3(90 z@ugaNf{zGE@Y!o1W!)mJh`mwR#~NDBV58i_#%u#Shvu7ek|)>XP-lx6Q`|ZAS+2Ph zc#I>N7*@GXRbGWlNEG1C836qn$)~5Y^LN> z>DKk$A1y6G7tFy85d8dj`enjroW)b{X`BCHcun3T9rV+wf{zB$C5L@QD{qh^smz74 zBSkt_itI{!TUq6IQd-=UU)U!bt@-nl>b2|b8T-+m&KS1;kBIbpX!|?$Z}fPtl5FbJ z&xx$eaheT$CS%`2>seToms8Rec?sAFFdr~y zu$&6p-&n(>lX8trew0F~P>bFvHCl$7M%RA2@UcZP0{%$NOWeHS#K z&v%A8e-0{!?p$PgZawIKVcW+!pK#_!sb>x7S@w4O#g4nZyTMmG_GE5vgMCl`_3TOW zDRjf;MpH zHdboxTw@2_dC2y>D>=`6|J*+EpRFfFTFf{yUQUZD-5|M-akQg-mtLK{_Nbn)xsY@rrz)xv?|vA;Vcc(-4WlP}-iyU4Fkl@*D7SkmZCr7z=mA-Y8TJ^Etq zErzH&SM0GCkG%SO;#dDLAUnT|q>@#34tCtaOC7iL7{|TsbjQ6Ni+T@v`QfLb1J1TC ztfgJ;hyPaH?xNzn0Zc)QA59!Mx71WablQgYMvh$-QeG7|oqOG%w@>=)h0|%`I-|@%i2N({OE)r=eG_d_?}zsL^}n6D$|zGd!o=f2~k*oFT(Ub^;``llM#8hI5LhNAL1 z7usI{U&@)ddVVCw5dSF!d6jmHCoEb3D)g(^ax|MCuc<$^nRDWrQrvmsyJ@l7X`hmP z`AfIrXUPrZ8Rq5!rNI5btH5_4BSSLp1i8`_qvxv}UtT=fqL7)V;=EkObI>p36y_ai ze4++7fqjj^=+4uL0y(hi8`}R-{!>dW>Nj5vouh$c6s5(#d58M^=Q(F{gO|6evORYF z#T%t4zaIhr$>!Ld*UId~*I)I%6&IxBKYDg2Cd2c{>(6TooTu{hUC*xFI<#rqvuk$~ z_k7NN$F5!4T-vF9?>5~#$~JAiA@#QXNt=Hd9Q3nDqR5|Y#SXKb*9GVWoMZc!^UmPR zWrjH!tB<9hZTz+4Z_bOESig(+%&q5dX0?^DIllCBnyx#}X>`}Kne#WZi%Yu|7xpid zZ{LcWDK4hTU(CBsi8nsHCn@f{#b#&M zahfrIP3g;c_=o4Oi3Xi-$hz~^CZk`Kzb5)3w7)bD3n)eH&pc>83_K!djJ>I;zohuF zLh3Jd1^0u%Gm76Hj~hArxSSO|LH&0(AE$Of`Q`ab^WN4Q-FY!P_L`m$WL}Y7(NDGJ zFU|Xy7GS&QZTCsD|3hqlH#;h~Z|>qRB@Ts)c5a~le@nqXO2pu~MCw;q^|AeodDwJg zca^{RL-UVzf-$#`xy_w_pnv}^{I&d{!H%2Tkl0}nF~e9iK7PSGqQgbZiZ6T5M^Jm) z^!zbus71%aeA<5uaGad7`85ASX_Y_r3~Ug21uoAmsy zc{8{gpNoD|-p*$Q+k7nk{GR@eay|F{yGlQ$3cpMHAHQpUC(rNd2ZjF_tnU1_K6<-e z;r$ems|ySY^}DX&7(ZZsH#rx_=gZ|7A}Qx9wf?r>^(gqSH#FV(H<}%gdqwH8Z|7sf zw@380vG-=Ia6JEJ;8viY)_+IaHr>5GF~=QywvXitpqoydmgsMZK1I`tS2f>6klIS) zcWM3Vcw?D3VE!N3XYJMezP8^rzYk{y=xxYnn)RyWe$f>BLgByQvv3OL+VQvS77LX< zwWz;U&uMU=KlG(XP3h+}ytAd#_}-Qo^S8Q0OK&SIzQqfw@wozjYyL1L+U!;nYq<;1 z+6$ue<|Dx0<-gEzmda`3e39K>>Thia@AHCJ#P=n(Q-Gy_3}VTp>$v$bVZP{#U78TS zUg}3^Jv<)ke9`%k|0m=q?)GknGe^XISTKM804qug;99K@X`0O#<( zRYLPQ=y&N}iugELTxRQSx0V?m|`_ZyIg1d1!xH|z?0Ufp9e$LAk z%2LeyRY7+DXh~6aPPAKbv~S)(IUkl@qW!CkSw8ry^jAUmI^eg!WlHbs+~|O4eqm9x zxC?|$J!(#mI7I2Kh7RLsK>=_zc2{hmfV-eA&;!T@ij-_7+DX4D-8Epn4fq34s_p!? zKS|SQai{D)(OAAa&34v~y+aF)+)D=~ zUEi_bPfEYRQO0j@7iKx`!W)nWBI^YY$$z$AE!^kOmRDj% zXy>RN?~v~)8|tCkk!YupNhk}r3(rG7gL-gQ*S-9XfAAR=_69Cgd$u(ndnPq$$5ij7 zgE~`(wCM-*5MPlX=N0G(P2!t{UDR%iq+_?KpS$o1;2OEilyvFVjvZYnD)xV%s2#2E zG|BJr^$Y^GG<5Hk{a!qJ(gNojUzUJgxCJF4v$P4FROAO0TpBm3p1cJ4y4 zpIYqpXJp=Eq53LDryeAI%Zl%Xl|swd%bL!6D1P*r&U+w33ttDsEgJN)RoIYXYur)5oi!8d>(nV*O+uTKG`S~@N@*8}kPM9(qOR0d^U zX;DXjs0ZIJR??gQ&~dgOm*eo_IeZ1tDaxE=ra#F8~i!Hes#RDgyvl|+i7%^ z^zRT`A1}gYE}CNQO}k!|+;9BHMn}E`J`1N{t{p$nZn03=Q;X*ZHoc*p*8=HLQ;M8= zXI|qpYkOnH{J(T+)C7c}4x?Qy7meRta*8N$aTU?smmwelR?Bdp~O8VvwY+YJdm|xQR^fS+H-J>+S zAUC@>w@p!WV5hu3#o5J!T3gE)dqlH~bNcxoJoeU9OM{I+y69eQeEnY!)UCT1?Y4L- zQpNLIi@r10QO^+1X_;}Dn8&f@M*T0M=Edq?FlZKw0+|C;01||XSvPpBd6-J*e^?bO zr5z#br~aVU$Ln*^jSViO8c>zuE|zr%l3RKnkh-~m#)mb2en;t|7Z&5~sJ_o12Ioe+C&KkteFmV47zyd8EWX7%iybtpFS++hr z6wO8P6_&B$x?^sMsZ98Bn`nnC#olT?7{}7a#%rNJ24Ie2@kkx7mfiNqnQ{D8QFgJa z;T#sW>u2M`*CU{d{!+T@pf?u~KFq`q@a?j@xP&uz0~3Af$hGLPPfK<&38ohOA5xFi zj(uPJYEaWXc~9+o1E=|MUYwyGn>J|YF!(>F*6nSFXf(GY57BijC@ND!Z|v;iMOuj_ zc_s#Qmtc36wn0MP0^XPZ;`AWB5mp|O+g-aq)$aZToiBxs*j)mky5oSqaC`ue)b5Hr zzSlXsfQ)P|4n-;Brnh-(Q`fRm8YjpoDb>@mqjr0jpqQZ+KmV`#Oxt1G>x-y9QLGeq z3A()QBf#G|65FkMJ>)nt@uA`uyZjSqz}uid`#%bH!G8!R-vHj>=pZ1JT@FiM?V@j~ z)h^x$$zuT3*V?Zs+d*xQZ3nS1OIk^5q&=shq4;wjaXb!|Gl1&L8rwmoYuiDh<|QIp z6n9BmXr2f_Uq3yee6;M~;t#n9!Gs&`l3xPMnJl?nZ;t(hma{-^Y&-ZnFiICv+$CM9 z%Vhvt{l0xla-()Y+soZ*2P#0xyvdRr;JT!C@Wbq~(td@-(cJj)B)UIzyOP>Ltq0>n zILeY5cS#{|4Un(>YORNm3#91zZ;Q(MWYWvL*jVUd6FJI+g#SZoi_w@WAb6Dml`?s`waHz@1!ngL4Sv~_Z#AZ z!kj#2Y6=UyfFN`|J_IA02WWH%S->UR*{4`^8$0!H_y?zsz{hIFRnyouQvds7ndj}L z@04bxOZRBsDB(bk3SMaX!8mQ=(K!?7|sXIG~+18ID}V52W6mLm|qUS~Sm0FPLZAn@YEUfs zq7#~24=SN>Er9J`dbRRpN1wu6iHs@f@}+j-yQSjl{|^)|zKfjZ<#vMj&M9&lbvnnX zv!r{*^0${}mqbmh(>+?moBxS`RAZU^tcjo?-ZT8bh6nl!{c6tUS7)D(xvO=oE?{m)TAcI ziTPh!?j*)(a4~fLrnK34jGaFNcLVzZC<2rBjEfV+ud?#NVfC8E0ZJeHxAb)khQxOT z>~Dq)#a;R$zcR5jAHeA{@txSUn#4nu%+9z=#r{wipkR(D&o! zWp%*!0U-6j=`(y4dE8w-o4>gQUPl0l~Eobb|jd4BFP$6a}af48z*?*W>k4Jch;4v~!kDuwd zPqH@WA4?qfsfmvJbbrTv_TP^CPi9A+Kge-kVD9Vi4&=RkrQcff)iP9$=S6KOudi5xJ_i5xiI zi5xW9i5yzsL=Fen5qCL}qds#YM?dRCj``M!96!j3oN~4kX?3C#Id!fRIh||H;My~D zoXAEuM(^mZawzTreVFLNSSo#I4#9uNHN zM0$PbM6RYT*LQIuznSSo`t))lxtBYUC^Y)kb0RlU_kInWNFj7??d(KKZgwIAik!%8 zuQ-uGuR4+6Z*?MnnD0dX^tltcgY8`}Igz0ooXD`RoXE(9PGoGk6B&1h6B$3miA?y5 z6PdE!iA<%vGoU%+Gbb{W<5|x+5xz(hnfrtjS#*>WSxkMGw09!+vVUKFCvyLxz|T%( zIqg}#jrZF><3!dx?L^kiaw6+#^TriU|ycvaWgE$-4GlC+qr?c$o7mC+kmNI$3{i>tv0X;SZ<1+r1pv%YnTd*vo;v9N5c& zy&TxffxR5q%YnTd`2Wj+#P~mr^$4}f(ReR{RC?roX>n2M>~9{a27-stD^{dI3aOUS{@KFx`IGbCf{-r7ZT^5pC6 zJ>{EBJqmf5jrXp6A!^o3d`pKkKUWJuZ0@pGfVX_o?7tJ+ z-_4G$yL>hA{WVF42+wxYqz%;bq44i-Ns5U#x#;+@>J>MhHb6($;VGY4Z@6rGFcz16 zYHo9veeU1y4GXn1qUXP_>3dxKH|(oiip;S7aM=za7gx`3U&(Y{<1`r zqU$)H0sooi*j;|M*#Ws%IM)8O*Kvk#kLXV<0max2>4kQ{l|UQCYdt?@o)c-;zDL_G zy*hR3)TT#Iy%Tw$F6rojr2dUJeoTF&9|r-0fdOW{zy4pxtFQFOH2^b7%X^vUF4`nk zFa7$dU#Ilydi3^%&P_mp)8O`VRPTP{(d*E$yU!2975XJpddVIk72ZN~ZT>gm@wQ}wDH ze{}`6_ca^ly z`oDGJ|Dx~g=ReSD!#?4=nq_=Hfcf#!-#PBMm-I_%{?j0dRmkYEZLdVijlQ>@7ooaB zkd4{ucU6~rfO|E0JqZUj~Xq60L(4;?qFzhsXui6aijCapL?P|J=y6ED80s6fdR zGyqIJt>;fv-z6|xt_y1igL-&lLZ6Gd1oHB<8^vAm3x3}RBw-+RZ~@h`)^jnO(vk*U z?Cy$-J%6Q${o@QKcLnxd-nm>y+TIY5rwwYe;0G?uDFV}wFJ)LL?a-^*P1-<6ZEI;pFRuS(|x)* z(4-P|dUK*NpnMe}6VD5~wW1Ng)2eVs*SPSWXm>?F{tm-`-V+(~+uHXpyg9FJVSauzM_vSATqu)YT=9(3 zZ?^F|-MTBWQ!8fz^#DxkO3#JQXX~BSt$_KR)?#i#swtSf5t|FgW-VD%q z-yV-5HKE73#tDi3gDrRJKaeXfKU!!D)6QTs52)a{8IaU}kbKU^RWy=&b`EwL77%Hb zA4K1O?6_}y>eRntlGCW;qfX;rZgCn6tZ*8&e25Ecsf6Z_`Z3B6+mE@FnjdMZ=9c4R z)WN~4Bf+ES_?W$|u^*#!@ng!b_xzY*_Q`cfam%|y^F!csj>Lxv{21%K$|_Gq#f7S5`9Hybv*4HZ{Q<(r zSKWg-$^wG+^~)~l*S0V>s&eF(V|7=zaNISGd4}c?o}n4dGc@G&*SFxNS}tkGk?+6! zhgRj%OmW32ZuuD6dI}&8O>;Q|*z*C56}S9c;4*+Vm*2q!2_Ls*rSk;%$$Xcu1y-AWyR|I4fOilMO47c>dWUUqATRj4N>|#2CtLn5@P^X0-p`qV z_U(^_*ao|p$1ML8_!9V7>16D^k*a?P6|_C9m@EGtU~OCZcS`3wUMgB@#4-czVXP?~ z@;|GHM9Q}S&+ROyg(hj~mNNrbJ`ceAEhk%5&Xwi=0p16`<}Osis^&lofEZ@gg`O~3 zo6z+P`V;f5^?DkNVv%29d$9V^pOqGtX6K7DEpO*))4#B+Kys{7(x5{MUgndR56~pZFy5NFWbw@&bOvjU7k682YEaPN-6f7$ z)k%rCtL`z|)#!oM_|mKH1+;CpUnx=;TF>aXNQ`4_Io3Fam}wQO%^Yz`R!OQq2bc_q z6Ph%R(R@MbObA_XjW4vGo^0y;XiT_thN6Tq_oPDgV8U-~`m z`P)_RfR>_p+8k(O|5yDeXX51WYdMBaD)9}MD;|Fv^s|T>Mdx#WLjFA;++BS*XFmgE z;bEA(?Gi?hyemN72O!V<%X9rayD!h@S6AF|t&xeIyk7v>c=C_DC*WG%1(412{ulC0 zf9vXQPhngJ?e^myvSkhMeO7&JsJN?7VK@@+)RFcl%iFG6$<;&+^p<&70{+kH)8p%y zhTM5<5?h@W1^cIdea@pUrvYq(ylqN;vafg44FsBPGu9@ytTcXKb%!hmtUZ^tJ~FQ+xhd7t_#kUO0ZA>F(CycJ=IZB7b=2PH(sou2 zuKr%m#p&fQ57D3 z0ubY`X{C9LZk_x2CsH z%?MrOSljs`SkX#r@DA5_-vc6yjON#fPVM+BYnExH_V^#qUuoX+G_NV1t>UQ2Y5e>q z-i7t+jQJ~VN=u9L`jnMMlYADy%S)`8N8c|7?gv)Ivse9=mGS3-BbEO*Ex)A-YKhmi zuIjp^e$1L2rRc6PK9#$cXm>3u!`EO**KCmgZ2c}$lG?aT^kZx}Q$J>Z=sYTP@MG49 z{Y1ydp3hF|$H@HXM^!XZ>Kj%cs=n3w*#3;@Br)X_cg_3MyUK^Vj>g zr`2x!nYFZC^9R!BFB)v_8tH?Jf%cq;***1NtocJdw&qL2@?HH2-@{RVB1%2>0o3l% zyYcb=Rw^MqBmzQ)AwB;>`x(6~Me_$cp(o~(;;wBD_9!4Z`j}l6f4Ro~h0?YC3$aCB z=F(j&_IxBjc#w2G_?k^zP1YZ7={pW(j&|)yQsJ7IuYu0$ zXMCSsloz99T5bG~SUpmo&!|+%6#MD>8!toeMxYOHg~pd(=Jd%3*0mgB_42y*_gsb&m^ts+w64$rIx+LC&OMa;w`FtS!dbcVt zu>#K2RPCr$>78(o)q%oMcLUn!!7F%I>7~4<^b*J2{IqppE$!NNoqqDZo2KIj{h;#n z3bk7c5NWS9^W)!@@D_-!#ks7#Pq!ay$A4XSYAvzp{}`?MuT7lh2T8~&#q&+*ADMR> zR_pU_I%(e~_vW&a(*DeT^~{Uq;#~ZgyPT}=eliu?X~yFYRt+5pkil4Ymifp3RsXi! zKT6yt&X=_k%6SDh#m157>E7A-JjO$kH|h7c6eZ)R@xlY0CU@WIG`{O2r`ZFyIrYaC zJIx*%;xw)}CXs69j}zO$`owhG;pYFo%C=;_;t3elUhIDqO%w21I1b5ve`uSmi zoWZ&a$aA-}l_>7I8~K%l`AdK}TP~n}MzXjetlu2a#cy9X!1LP&uy3A?VW&TI zJ^>`GkQ7w}Fn&O${PuNyKuJ-*y)PsO0=LVVI61)PDczLwfXY|PPp6mNb@vE<*%^iy z(55;qII0K4_*!E>UFq6>I=P#5d5{n)>u@&YSy73Jg8c3l4!k_zx{J7|2Y|;X?;)3U zlIcSK%(1&}33cfOh@8dZ(y($=sY8j8Dn;!)nfG>zt?RC)FX%+|8OO=ylcE+*#XqI z&|qV>1KGK&*8QF~eM(A;vvW#&M6-)?`t>Ng>85B&@Gzp($LL?Hzg6#(Ij%TddBV<- z?2HB`0HVZHKS}#6y>G^s^&Ww+<2Im=DXhTP(!9-W>@!Uv#jQA*U*dO1l8U0t(3NJ~ z)I>jOzNX?>P*GIxlQXEm{#TqQXY78jI8BaeZ|Ztq_$s5GBKa9IUT(#S=Gd*coE@>J zqAX(eROs02SCr4zd)`v#t7ms~Jw3ULik?3G-t2q}h@e+#S5v3w+Z)mEWC|=GYU;F40@iiga0{aHLc^E-}T11jZQoO~lap~sET`_ZzC zI!yPhFyIKt#P$3713bDZ+ePK8ZI{Stum7dsm-b;GeT)++yu1YH0^ATVGhMp1V;9%Y4QjS0 z@2OpE>SS#@-fKn7F0$S+^4BF!{h>EzZ2iF1*?Fb%pj6xo>&$yk)|*(rVO>#M473f% z=7y7zfF;0RV}BRBBKrKR_$F~# z_GeV!fB_)6NkRq#vuzUFrm z@DCu)KG!5}4EoczCsUCe=0?|hI^EqM!d(e`2*|$j6*jUP#Q$Pnq*BaTwm z_y{2Tu%WSB9hA`HAgG^MFN)~ktXshPvN?7)9LLVj3;{#llefXF)x3js8K*OIeiSof zCy@b}i=`q4OJ?s3uFU<0ZlBsSZ(O?@NMBOi4W|P5s2f_@a_utSC=*ZXX+6g`_?uIKJNBsDPB5FyC(tXGB<9(GPQ@7n?)id?8u4`S@ zby7duZx^W-4I>(rcGr$Q+;Csg#_e$@J$u-^x2QiUF?+aE;>5AF6DPJQEA7|X6M<-M zo1&s_`DHidnHPiYH1ai)-Wv~01^lPYQcdc!bAF~d?lCL%e+4+M? z@=7}7Me}ppv0j3AZxls~O9!r-Ix9wZ!(C>(k##YfT2q5^V4a+c(+5be8UN{ir@@wg^(PuZXS32~=Wk{Q zB3@DY?Ehfp@6?`NkdvQRkXL$<(kH_g}jSJ;nEj-{rf)%rtJ7#PaTo zd+D)`dmW>w|L2Z-XA5-5EXUn~clbE;LD6xt6#8v|wsOX<=SC6^DUTD&z6%wrowgtPZ`%8f&_m!i z_BA_PY_(JTPH{@{J2$Kco&Y}MVxq8(@O@)GaJPRWx6;3JzvKC%6CHOE|I4=}J3sX!9kdxCSn1(YS_O(ne;- zHx8Clas50{jv5UAy$W zT>ehKzk+%+@an;K6SI~Ze`0&ZE_CSzrRQ%G+m$J~3F@`KS1-1kvVcPYSL^j1a@DoN z)$Q9~nST2d>mSg?$I*Uay9w*Q=|tdYlV?`GckK`i-`b!rmQCc3?WXhS4?K&FpXz&+ z8gbU;XaTSecoHBRzVSl<%ee_}deh;+uQ>jmZBOa3mhpLYfo=koK3ra zK|eCCm5(yMuK|7wSGJ~&H$h%%CqJ=ibMoHW)6QysqM6hD^#8bf5BNBXTS zu2g^K$2gtkbMjZV5(%p)FRMy;^^nKGp?N?5*vsua!7KRjrCz(E&hzq)I@fDE^j@#c zcVm&b7^4iICCVMt&_U%Ey?5huy6)_qA{EcP^O!x3J`JQMu?x`nJG14Uiz7v=L*ps! zXNmJ5ZokmDK^}aT3LiktJA~hLpM~c*%3z``Wc`=3o~w>>tP0s!@_bl4t>ZP7&)0Fm z)NLAn_-QoR>Nw$Nu+zAM@ck4%!92S_=FHEJ zyz?&El5`w#J#yePM@#j`wf|^pM%yFhafFudFv*XaJC@c3lZ`&gUYpU}kUGzi^#n2` zjMi(5=SP&UJ1$*Lb$%G|{R%w41j#gd8%XO_#-&op;(RfbrHQPKehPX%zLwQrHyg>(_{&PiUl;b!8HK)Z8&0H}H!)Ga=(2S? zui*T?^TB?f)IW~CN@X;oAF#(U-y@14di)RQ6}jj7N70_J`fK}NqJMPtPyJ&)d`1f& z>C6&_EQWpoiBS_9Ve@hPqr|y4HDB1!@~J;md3@bbe|Q;UybW8D8I6PV9)Scr9Mm6< zVt(dT=4WOzpUb-(y2e)4G6{0?W9ej*wUkD=ThZ3JzCZps#hqn^Gh?JeUWP}=KnH)Ho2l}&T@)yBQtFXXCkf(I=%$zqpvz$2b`Vj|ySiTKi z@4EgWKqBhjvH4>e1&;*-#p~HvRx+gL-?e^S|Bgo51*za(HuI0!N#NTT@gvV*pRjr?pT~8#Lv0b4{phDMPj6Kh9$B(MjL~2|hET2UG zs`hkjUwB*z`QB5x3;%2Vvt|#vj%G{Zx)N(g1pn->rGL)}zkb9%8QmVn+DV6dVm)NX zUyuD?^4G@elqcO%Qq*7XzlnCaElcr)^0G3*{sa*SD#&}oc71C6%Vu%$g|S%Lu`fXQ z^Rd>STY33ZfBx_2Wx|Q-*Hp)!$8oITZ-8O|BH5o5Bt9Q6afs)W`v0+mR7^AW5B4~Y zS;29vNE(a(A6qN;;`F%1{@>MC_5aLLjt%_(*ah&r6?zG3*8fjOALgf6c~XwBc1P`} z%IV^RUdS2XgRu?dHyM%}nZ*anw-vmI*(yF@z0KG)upybT@A6p>ZGuAMgRtdR{|tK2 zr2ZM7G4@mRLF*w-4_INOaam{lZJ*;lNzS9kdd?2Ieo@Qq`fcX&$F;Y4nsEi#0}O-i z<0}RtbADU-x_%oJG?vwMlFYbM;Ymy&=Nzt*`R%dz?Xln_!CW%-mvu+uzN8OFKhn@U z*Ke1TyFXqqvilu$7^@r{hs-5M=y85bzc5SrSWy1%`5v}!8jS>dS3nm zo%CqNA4l}^Z2BYqe_XBHi);55`+v86)&H|fb6nv6$BF-c9$F3^(Erz6$)b(HrFMe= z-uI9>N1d$^`;ZJhQI4>FQ2oEk>9?822YMr?xO1udWJ=UE3Z-nYtTJPtqS zo6v>u%dDSQzOJ7qHajlx^W#s3=RoKh_$Kr7of1~(68ulNZbfeeqm~*_m=kM{_&1Y4~o}pguSM4l)R_ojPXZ6qX8FdC6W#>-#!uo{4m}8o@fL$^=h2*X z0qS25R>djEseV}Ha{VwfXXD4fo@B-gUU&w20m`f&R=)V*@x)AZ9FA6up9dR~886f6 z6QF5OydQS<(--_Kl2d`Tr>9VE9fyx!%9A7=hvOT@?|^p6ow#=2?6*V8ept&VO-a)A za>U`sgE=IbS`nM9_5XSf>W4+2-1l*~lw3I2V@kM7<#PS>8ss8WEy>gZQltOp)0#Vi zgWUbg$FtUb{B#Ik%^bYE|6^(;={-ze#O=|nVyLvPe zum=;sZM8p#L^tE?jclAg84YQ85zgFIyMBS_y5lPCQW5(VuSN>v|U&Y2g z%lqX-?rQH1`2X3SP)I)sf1Uqr>HFoikJzmBz1ipBDJ1U8`qR%^`hL0QkNMX3%lnb{ z-=Q}&|3*HUSCzNuYM+86$W973Zqxdbr^O8Gc%9=P^qP~&_9VW(#13Wc{qov{uw4e# z2dp_4w|vl~db=TUT;X(0J8ZD?fz!i}8=M?8f_I>CK`k>!_Pu7USJu7N?u+%kS}=zs zQ|k{1aJzrGfJwN?f*A>W?xW2e8>aZ{W;mZSwp zrT6}{)<1rC!s&Dj@KxK};4snVX(pTy&D@bIES^yuhm@KW$AKLtdtNRoU3C8`jd-ib{G89%-Mc4^zaHLY!o5tg?2}N291sm+_ zio}gnSy*e zzEXMoHrF_NAH?w2RhS8LkwZYnUm>KC+p?)bhf`4hF5WF~yX z=PF1Tit~upYqE84b+mW=!SDr{_=#T&T#t?aW9{tv{|3ZZVIMIQPe%O!mpQrI5SO1g zuAjhan+dExr`F7bUGxZ)b>eCE>EM(3QoTQ!nVKoAMw|K|>mY}EX8Lc~r$-TR@XPER zL-)&AeYkN2(E(`^l9_lWb#V$LK%ot!?Gs+Vq$^whkXu;Bevx*VdHar;fcM|!ff4f$rr?@hczigV~E-|w~QbB|w^nBTkBYd36#*XFv{ zGUoUC4K1qVpSi53*w^wR^ce?A?Z0?EoJNsNM z4vhWY#v3MHsJWSmRsPYAdCbInk>^3V=h{JO_0;q-(eJr>qke|i#>8O!I`L2N`x5k3 zNCvsu-$cJZuBnPt+E-33zDLM zh82zM8v#RNEUSi=R`e;V9!e<=D!=NJvp=Hx0o4m|$Rt*Ps9uPUz*~};_&(N@@O94D zxf188dQtCRNI4&do`e_^PdbVFB$Xrc`mw?0uI>3xIDQ6MKQHAE+COIADnJ4IJf1ANxf~>mvCpd-wfYE*Gf+(RrlckTa_B1>b=TK}8q*Bw2I@%)|ggdtACCcoQ>!P0yZ=Mg?h!>{iqGeK?A!GBG@YR^?3 zxl2+za4g?GB3JUW=j23^E01GW$j40ji~p05ct1=1Q*D=({_a^zLk>d{Od;F-yP=04;9 zNjv3UT>qdITG&6Fc2s@D(@c`#zv$y+sf=Gh4?{8-O}ef_aM|``MdJaI?N5;#YKn#_ zmJ`+1`@u1!9{c@AJIUft zsq2qGWs=T^tb^Ux?6sNvBebLdI+h!v>xpruNxS(qy_DK8lYamaOPYMGeLDC|qg|zI zkpw$;l)633UYp4`A`93)N7Popuhs*4%N|g&zk<92D({oXT2ooa(j?|(^U3UI=Lk+qA#A zxK{N`i^8`l$fN#A`MZ9(A8Z8ylgt#SHCaqdI5Di0=koLB~%h^*B1L} zaQBevJ@(VhS+|Zux{eBn#y6qniQH(g8#rTiD?kN zfuF=SO}QD0KsRdt{IslSctqJmKlJ{dl1No?Wod=PIQ?%z%Ms%n_)BS9-o%{3=ypoA z#uav#m6yq1m<}twIa1O)PKMBYnlCT`GHvu{m>g<*d zDdWcf*}<_>K5}^;y61{xJ9(YVCcg{;o{jhKls2@Us9j9Nk8XV_e*7HmcCPTmNld+l zqjXaVoQhLUiXX*(ti7TpQYB8Iu&ku8tm;MvS6z!LiUySqV@ z{EJ?zZ#?L=KK&H0RqtZY`^j{0YEV-6BuVXxdw7SvG1~K0Z0@H}GeLt-N->ndlvMQD5hWSvn2fPKrCU zUHmo|jMuh5C8YKwnW^G?Ws+Dr-4SvJQhV3peaMtAxO(cZuy5G7ws&%VJ=v4Y)LZzR z2F-ym@(!+c);lHo-?08gaczLK71!3ll9<8N`(PEP_fzkXYxFKp9j&6Z3hlE)DE40 zV!Oxqp~uQ^Gkm}TQ;CL5oxH!10)PZ1x;gb_Xsj)e%JKdUzCG#BKPgA_i?DKJ$FEE~ z!Af_ie+GW#2Ve3_67wsgybixV$?I@ap_kY1Qm_4rx4m|^Jn3~jd#qQmTxa03TlW3B z{%9KG%xN7V;uzCTiRY;EmbLNsVpqD3e6BNZ$tkb$R`-q!VM)e_NRP4+<)y`uo~31x zD)mTxi9w+4iODS(dVO6;!25u`oc|M`~deWg}wFovPa zt$vK1HZ`dq8v)BfP>I}%YkvX=>G?4&pXYb_nL_=FYWwzB{YoR(vZ|Lc{j^`( zabFAK6w>a_czl1ob|v8#_^~bUVQzNXQ_ukGuOfp7%QD#!k?2S>ba|TR7sN@n!iUl0 zw0}W=KpqRm59jJ`==Tt#u4%8?+ROl7^s3`Xaszu!dk130+_ZmNeBk#7wW2NKmmNPn z{VP_gL;chD(`N8mza&vV?G5$vj`)+;ZrtB9HjmM@s4CJ`|I9*H5c%z@{&+flZTiu) z|7RS}imz4m#}nf3#jez@x&D!ECEs$eM_E6x)%DjgDfD-vJTrKwS8(lq&oDmApPcWR zud-*`aqPjdAyykPh8aH7c%&m=XQ!3|`S|xL`G*eKC0lmNlvT^J+9>e;8I~wMJ3HSr z&DOt}wnx7;(}`(LXHSUf-+;cYa_;6+>PuRZ-jSMpNW>d%|5ChhBDr2Dd?fp>9Pr~g z9k~{)krZ#pI^R7BmC0{I%cZzN}* z(!~{8J|9=;yia@b55}w0@270nLE;=3x5n^VvUwl+udJ1jd6?<+iy6#{&wRu)vygaB zi1??JvLz`EeG2f+qi8N;gQs#%C$GDLPX}b!(5m4QRUw#+51R4lYR(ZE* z`qO;pq%`D_C;&+?PDg3$YxRrti zS0wvE^dDIfvG{bKA4l&pGCZH8xW@0dc}F}C-^1WH6`BRTuJ~eKbbSV2+Z4K7&GQ3C zX}q3D%Jjw13TTp+(_MFx_`XKG9p{ zvz`3khZaKfb^jX~REd7R0)gVD&w-dFnGS-T{vmx*THjBh>p50F^iz5Q!%H(AFFgZ9 zI{j0NzcW4WqUAi&EBN?(@Wa*2z%I?`0OeYJjf`M5k=569+fDq#t^vLK4CvCcN54zD zU)8TifB6gL?BLWH{`kRdryyM#u#*EDRc#NrQ8dx@7li;agf`7ii1uf-y+FZlv9Sczl8nz_gQLf}8%w>C4T*{6fgH1x~GMN-#~*u2b) zxybSZ=wfa}=TpL#w_dxhwaaG42F=sVz_-o7ch6WJ*NzKmM;*To#{AHCqkE*PDXNlZ zLzgQNKj^r72EKd-zI=wi)?1~aVP{6|tAD4-LF3tr68AAmYG>@52p8Ba_P>H&z7>97 zqXXoae4it-7fu}PaW@xI8ZnsEXLkJT%&Udxp`QXjd(~#YEKxn!UqOZ5m~}r}IEbyD z7!@?#$g@{@Nn}{e1@Bk=o!Jdt?G0f8X8QI&Xa$WMO$x3OkE(}bow!i*oMo5R(qjH# zt*oR}79Yg_KZ~DnVt$=lnxFJnH?F1c@65Ee*~~m&*_xSeQEp=LGmD_Xa?iCNqLr!H zheZ70>b1r{q@HiEMK&|V0KE*o4n_T}$nC^G)DOAqfWz8J^$W_Mo;&kC-`^4|o*B$P z%oN8f&}2Ro^|#{ZTjGy2{xS0=vLvaW9SP6-p$FwoT>bt^uHl!mpVe};lKhbTSZa@` z0N8JVt!WmB+eVT?-8b6ufCsGf7=NE7XtqOgf~Lve4ZPvA@#S)Kizp9 zEpOo8CC(sq3QCb=W`fh?9h98^<0|S;>$nh*!MJkfPzVn!ah;iegP5V1nb5OC>v>GC zeE+Vv`ebta6Wqj2%$zAFlBjY`avHXN>op7O4+<`6&!dthV}hBCh-WUg{UPE1KR;ss zlbYeW89``1(jM;oQ6rp0qgr_d7k>h$d7P7&#}WP_54K!%&8y|Q(JQ#*42}!;$DWgC z%*+OPDtvjf<4BJJCwUQ*V<4s>kcBN#BpYQ1v*Q(uzl;4Am6NWXbo{FLH+j)`B)oju?^PbZ4b-3g5HY?h`Cx};2`JwOeF}-)i;iy` zf5vT1q3b2amvQ5)i0{W3sm$tOb277-&(7%t9nTH1e@X3aqWuqVkBEQHy2A2Oe|9t1 zL!eT*7uViJa*bU{*`H~>`u;@ySpoU`kw-J@M#@H`=Uf6mY2#?Uw!}}z>NW5ykCHnP z$5~fNxuiWGhbN#gX9!m^X4QIi{K_n5uV!_Dh}Ot_!K|M{;(VP%Ttx5Bu4g`hXnh@u zJO7KGS@0dtEG%<=n5EM+^voT%N?TiB#K|+%#V?>ck+mJ9?GRp%q|5qtS>wPvxPA=+ zgU+(+{p0)*dh~t;8$T77Rum13zGM-)Jc<6TUQLGZ$7=SXtpyp(nhd=JP0)Dot|Dxn zSU>yEJXk-wUNt6%#%_5wyxn+(A6unu)9Y@p&He9r?ce{mm;c%tXgB9mynVZ6`M?Q(Y{4>7>{&19Gx@JeNmkkCLf22MKInJa9=ph8J=6%*Yklk_{2!?-D;gH_ z3Ze5)tp8E8=dZFp{)=vq*w%eSD8k5Xy;;nN|saX|3L*yWjdOr@j;ioI-n@Yk8X4=LgKC@g#Ar ze#jl)sQ){^cvxv!X*IE=gXwXw;k4b?LHT39W?zf{eU|;!Pv!i30sqUA@z;29OZQu! zU1+nG{&@^`YBuW!W~+a)ezv9it!w`D3Egju2}jE+9ki3!XaAK4;di zN_(}^2h8k|{!!dF$;_^_Cou67*IJ&e?YBPrHrO)upZ(i_HRr#No*&>u|F?E_Vw^H+ zW`ccq`4=8hETTK&A-b2<3`fT#?SGCkz7jrO86xN8am(E>6YC~g3Se>c7W_8*A70Gn z{Z-_Wc6idBBx#41?$18^F`KpO?aQ!w5qeqfxprYTJ;~~Edi%2r7pI&qj@t@9A6=Q* z6O)xwa9nE$-#HuKOHYt`GvsMz6aSw*9jXr=gijsqxb$HAC7vRG%T!rf!g_>QKRAM% zmif5-KF%v_u4eYUAbYnTgvV3TuG4K6ip!b7n9Z7j*@^_>>UmL6&#CUit9DO@RwRw{ zuts3^W_xXBZ?Pw2?kBFbJ>CD)311#G*SGUlS4ETeLH~h1(0mi|;qI=5J-ZI*$^Pu! zdUfyLw?|j_Pe+z?_CHU=D`LN$_-VAL7B`7~Lq5e3jLYWaA>(@-a}_te+pmA$?uEUW zmk-3UIP$&jSM~4Sw|8OB=BEtto zD*Km4DxJN&_UpXIoMLofD1;lB6LrT{5S{m!5{Q*}RNS=DnfFNK;y;l1yUxx2j?j&n z^JRU^%=wXjWNbKB^t2jM{NUO%(T0QJH;XiVd-O?ST*=iZ#dBYP&o6~HoqEo%IIM54)QdDzsecA5;!s2Q;2^HSBMP9m&l3J5GbaSu2U@6v!P&?Mt$F z(kQ#9guI6*?=Z+ZKbg~(*f%kXtfw@}Ep`(ZsOunp&G{o%NHb?DH$M-_phC(VDxO98 zWnH7p;Y+MvVlv{x=YV|XEy#ND!|S8Y4^=FEqfT^2p#!^d%RX8C%Tay(7- z3e}OM@iasJYwWd|(?H#Jhx&6v>NcuZEsm!tUl)h5K48wP0pIuGc|BCcjgCHV_y6za zps#a86KFHm-fFyT&WHBt;4=+9JHkFIShS;Xc->x`xs<)tJZr4)%y% zu{Vpn(<<)+$$D8?8=`YaiLpL;F4HM=dF$15VHqV!t9tBbHkWw$+|!{Glj5hH)i{Ul zH&v8Y>UPlbQc!4qiFhf-AMMq6(r);Itml3X`nt7S!Y_DZS45Yf8~kaJ{tbR zp-O0|w%gjG61(J~Xjsq07WS7Qg>K(Oxnu3k_(b)6Eqv+UbLp{jZ_;|-rTQKB&RYif zF>2I${{TLCo4F4{cWJ$EPt>nyxH!CjXuh1l0Oh*}et(621P#>vTx6CQ3qSW5=t~fD z3v;_e{UGqbTu{{9+o6Xc?AP2^p<2=UrYUs&#Ofb-BxA#zTgVm5J@*ypIjw)SFa6{N zX8tLtca6Z&(D^rC4@|{qJ?w?g+t4`ZP38A~w4cTFz2*Ad4i~Wtiogd%F?S9$S=)O{ zQDvk*UAs%9jQCG=6?;sV4k^Ju6|%LRoI|@^9Gb zwZHB1jE$cd#Z4c_i`Lku0YF&>>aFqu4!+yv=BhJ4Jt zUiL>}>m^He<~M<;hxXC8GaWzttzQnmZD_B%QHY1KK94zoKkn&OiaRMUvkP!+KbdD| zVe-BruL_{5b#0&uTK{oKS02Rm6IvszKG^X=lYZi~r^ZPbOU!#-Sc_hc<5&-U1_8p7 z$4SKhu6K%4DEklaDoNMqUv}{%a*iUyC%oJzZ}g71??~^+H`aQ&;}7@p&aLp;ZC~iM z{la}-$0H;9)2w`it|!}HrCx&m%DB2MSZp5sR+5=Fhwm6q%75QvcpcC@;VV6U69+I! z+xt16DO`oG#H>0)tc6Ti2b8ey)jsBdU>PHnuZjuYt=^icHL%$o!)fQZw}8lXA}I5;T{{d40Q#E|9@-;iYLK8Gxi zLr-!Ac(wHu76;dB*S7uM)SV?clI547uR*8T@nucSJo){()Na$6qP=nUja3{~$H=9Q z=w;o-$~X8hbw3PFn>!|dpCnjBpTz!LU~@|KeUby@n0#J#6mdvaD^rtZ(FtHH#$U^8 zJX22$Y26o^D^2F^yZy56^XPS~eRI6l`^CSBHWE9iWA=02N*zZz^K5}6q4hIy+$M4I zWckJ90LAEdj=8=%Myhq!AlGxq$!#Tr+@=l-TQ>|EX(b9RPmE6xpZSnnZiRjc{lelp z(PtZ)37v03IkSVO>PFkr9_pVyp6Yat#rdLhL8|a_|L`v_ug60f8@F{YBf?i4DPi}Y z>tow{#;s$nyGz-(J!!ih&3tUze9?!A&@{Oh*KcTr)bt_|N4f2&IEodZbqj=#bUvK9 z_Zl<gEj7JN>pr@VHBL&_mdKm8a<#bc68ojClp&<056zM_6U*}PX+zZT;QewvTVR{Zn;?B0Wg zaG5U-^%I&z1d}$9sG_!miw_hpICv^7f5lIAvTlH+_=$Mge4=*qJIWnb-{u1%(!)<$ zuP%P-Nd6~D{!+eEDBG#fH@Fg<60O%3&-*A}7axIg=KJky=6?&GIP{#$;VF1T>$Q#( zA0MHkrfwVbF;5Z0l=ac`zsvVdN<+U~d<0gV@7If&kL%B2D3LRq{B7uz`VQZY(q(CMF@IF7K7zBba%2Zb%wG}6acCbEM;z;Q>MeRN$+t0_Rd^ltEcbHz zMlyyYx)R;@cVF!r8BrQxyYSdTn*BOnnLnG>W>hzS86+;tNgDSRm!34~dcsw1+_yPy z_VL8uv(H;I()quae%vI^I{!ia*36%5j|&)UEqDak8z6xp@qP%c39Gl-@0+Z%arI7d z53^JA-xWR>(fRoK99)3DCo2B7S=_U^`ND>lPvWJbEihi-dql3RpLK8rwPwft!BKI8 zmc!RIU8nOC#NQ>)<3$&MQS|-ObGeH8)v*2~mcQT<@PXnI<`m}#@r4D)k^dEt#DSy! zQ*ns%KCND-i%S;dNlAQM!q{lRsnBV1Cp{dZ_2uG_PUL4}37mYBvfK#WMgCF$E91l# z;}GTR;t<|xS#Xq;L)xh;JpT+m!<7^`5r@ntnzcamgV~$~L_Fjjtp%6Jv#}If-(u}5 zUVi9Oa0SlWQkrbU@X7jYTF;3_=?o;2bI1Z z%hbGd&@Yt#f8bjNT?JjQ{@B^KOlm-q-hV%kqj!0As&S)wH67y5g1Etc`27qT1r615 z^MBsfUi}|>nym@-7jrH zf9{k(RnYAaR%5|mpqE5En?mbrtX_}s+Ei`Rr_F+A$n6E_DQ&lRfwl5~h~3JIYld^= zN1^ji#Fe{wIIzcmA)gq3T!NNcdgANQ+t908zaPt6IW<)xTe^I+gRd6)Hb*2ol#`FI zIt)9*FNKS*@+MvH6@2sRjNvQxK`E~)Wdp~N7nKf+^s5;@yr^=dAExmvzFI)6ZUJ^} zA--{;zyq5)TrtxBfAE>Xt;D0%4+mc*vP8`sumTLeET=Tu)x~eSk@{RKqFMMePHLg)5Kf{A zep^ViYvJk8*|w~_UvCzU;)hO3Lmn5ufsGgXubY~Mzarl?&?cxgr0ozA_h-ou36%UF zNa}}<^E$Pj;}<6ChxU&G$7cUM@^}N;EmB=nYIj1h>o6AnTII?+%j%|Cgxy<23}E3* zXr6o*X9s8%t9R+X|Gdy?SGD_Rz-NW68?#Vf_*16TjU?sIF>$@phv~lmto+5re2UF` zmi0+r;e1)Z--1P9>L)ps@y5q3egAo3gXJN3@R(QNxfl9S?peFqg7=>r$wZu_coD43 zB45L#1e$+v)VRIM!7ubZY2F4{_yJF-UC{aPgT4=~^(Wjg63hbYaiK^+GK>5HYJB~P zzslPC(2H1KwuoruqVHH4RE+OM&kt~-??cZ_d>^{$c6&fNwvNz6-f?e4>-*3zg?}G9 zRL;!2Ykza(cKhEVkfU8^r|obUL=y*p|$>xAg7z@c*M`zKFqn!e~DZ-1leol`}H5vpYGRwij#@@${@oDArVcu)eJJ19#@BGhfKkah)_73XZjr(M(K4SeO@2s!G znVHT-4?#pq7QG5R2`#d1AfGDN$Gr#i>e9WhUS~>AL&QBdk zzChA++bKIZcCic{{|AzfW7{t!!llVa8Jt&mdH=Y@GsSmiES}P}ysV6W_bRL??S4~n zMF0Feh^C;2I$yQ;3!YibNN_Quzs3F-)|bp{Cs_N^;41N`_;p>3#aXe_C^vZ~@ptlG zLZVdqyQJ}yMH`i`S^PQw_^^NcHu9s$jL--4RO7sI?8 zgj-gqsN*}yClObt^B#c4Pn5r}6M_voj)H$M&R<*#-)o@jp~E2MFSvTokcj?^MD#5u z>Ot;*!2Rx(mF1OP+3c7HNc%^5t&e`j%OAMM%Wt)r+9}UO2`N#Z?S$sY}Vx`Gq;u?#w9gFXU zo`z-zf~6pj;w5s>q`34|JvED;kYl)Ujp{FWVDVJHJYrY=A$B#w>*jc2aTWf z7v86y#5&nRR-pE>*wZhceLjnyq1(^a*V9&%BL!2g&~vj`!clSfa`D8J>JPuYn6aSh z!`C@qDEUeKEtV5W2dcmDcoJL|Xo|M?Ynr!NT(2w=?QuO!4>Yc|^&y%^Z`1l%>F1~6 zfc?(+dhrT4Z_sZKu2-YrdtcVyufZ$He;f6yso=kN*|96?D5a{kKKx^L@XZo|sQ&{g zh|~Sxvc$stm*RBVj%C%C)C}qqsT}USFlF)1k_%aJe=*tzE?#2&h*`qyHNWB^IG)w9sa#-3f zc#ucycsAuYqSimSbLnB&4T&QPhd%~#eH>)(%9RpMLP|{GR-z578kpNXFUTN! z#}sh0^c;(KqJ3rQH~T{ zG!9p#cV~qhE!AH zmp@i-V*jMxI4&ImF)Cf!D{X($eEXo;%7^39n<4z^(*ACIb1ActOBow4?E@7<6;@XF zGi|xVo*e-(FA|1NcE$@!m$_v*bkB9XaJ*-}{JAD&xYo-Xu)}Lpe|E;=p;671!JWk` zONs9-od`{ZR;vtV>0T>~uGgQ{L@xh^;xngTbdKh3f1v%(U2l(l=3lmCM@!jZL{{9( zDlv&{T5WEQQHJi@bqY%@x-?7Q(QM5!e|)iYE#==J_gvf{S{B-_Yky5#pXTUkl;=|X zvm~?hU3&r(KXI+~mWg<(gVUC>AjjetmB*IZ##g?97z$f3_R9`WCJ&;?ZIMuq4qhi; zv-CszP}q9Pjy+h`#Y%CgfBN>IQ|?;7Bz{{_{}nXA&$Au}YP!6ju!sIrU_V`H91RQ6 zFIaMBmbFzm+y27uSIcU-_gkn3q!`ETPtr-qk_R|sFe@W-Xg@LJ6Cn0twAJ@rM;yj<#; ze={bSKr~+d@6KJf!BfeSxdU`{AG7vw# zCz5DNO>$bthmZS~fh*An9cwN72S-u3gcQ2`il6;{-TvPGWCN~W#)_L|#1fXx({g?) zA!*AXbiUfpo%em}d0uMxaIgKn-M##eSQ9IH5~S?-rRAck{{zYQOYQF5+@vtPXZpci zUfXMmGKW(m#ig>*SO20xyatin@7N`tZB|#RJZ3p)as^}6<;OrL$UUnk>BfQGcGLdx zE%N=6ExTEMhCPYzA5H8LJtyrru=2;wFYoEcfzj6Grw9DMn~Z-(;=s$lZnM^S+MDp~ z0(Fyn)~>fS4y^fO$21PiD!SztLYHg)4z65|?_GY0l_XpoSnJFB57|vfl39L^&A}`$ zvnNg4>p<&C@gK|ku`dx(#dXFr+urfa4rU$pPVvl#+ky9u;(FF@O}k_ecYX^!uMNL`HAzkfjWg2@{`f`P`7p}$niuQ)0{KX0 z`SbQ9Njp31RcY7S4a}`S1`Z%{Byrf~57Ex+Y3D0~46=9B`dxm||IG>hZcE}`Qr?HG zMA|R^%{5xN{NHlV#XZYkmTTH0&GoXv#f}rTo_&0vaqhkFyV}ZNmivMI_<9z6&>A8x zwEQH9sG;;9soUjap*qMPD@s1;#ko~3q6f=&`}mi!#_}Iae$xI?=cJ&85AF&Ml=qkA z9T-`&EAe*0E+Wqgu{l{zq4A1sXQ@S!;_P1{<$KTvawo2xx68G(bEah%U8|IROa`OALp6@2F`ui#hRyn;o{xPBea_cQwC zvfq0hK6i)LVc0*s4x_ty9Xl-YI^OZ7|D=CNp?<}mT0CZL2iGf3fxZl#to7-}!?m0} zdKY%>-{Z>elt110vE<|CD}MTuZhZ?c5~v$X^z%SI{*O~}4LEqkccBxZvvnNjQk=$KlL`hG``K@s={mgZQ_V+_GWDS(5tBO`kIRFWhMP0L*%Xe9%U6Z z)j{OyzqAg={&Ppyn#xMH`X3qFCdXfQyy9PI6!?0@1<-}@Ev#{OS$mu`S$pTqM%<5z zBL9KVFi3{z5>&MI*oo8CV>h=oQwaHeO7Rbs$JarPBNidXT(TjV73=xD9g+Z-m@osW z{dMAq+|rZ=U$N_-`uOE{oY&i&%!>Cp`3v+kB&J84mDYnB=W*=t%F|OQx8jQc@hHBy z6W;$}mK-j^hYzU{X^;ZCvPl6Z}$k{LIQJ(+N%e%uQb2 z>Sw&%+m6kcpSirUgk5s0Bg6fzI(n9u<98feFIBl;$Kxx@(SaI>6>clVv^Yuay>EM* z+y1E?FUIWnSqI|EGl{?Ne6Zh(ez`bL=XF+oQ`wu9L;NH2qpSW8*%_0pyhrZ2_CmBL zHGNL>53c^HfA}_hek*)1M=KxaPy~sRwtcCsw{_d8wbc3*L;zR*LD4Z}+is4WE?#gx0I?Cv-oLqsd<^Gs&!6NZDBH zpR<80aURinO}3v$*mA|%Gw>JUpFV=!>%vv|ZiMG2RJaJ%9@2Uhsl-_k*I3EgvXy^< zUW8^q%b=}%=cF{+S-cTR{g?DFe}rpRzKbl!L#Ohs_)e{du;s1Su4C#4n0)jvDSICJzN!Os z4Dx+!@z&td$gq<1`cWeP7(d3V9p+QIcJMj{`XZFC_2G=Kn_Q<`?ik<0@IFi7E9E50 zv5JV)s;_D}_Y{>}S5s9jgO#ALq4lU~IW34j9B$LR_Jx0g%a>yf>eM^^KL+c ziTwICo#zYmov7ccT!^tRd6-q-hy1vFkYi{$WA(s(YU_{UdC|o_(8*9w8^?&%L*bAi zm60L*0i$0bq4`KmPi6vIdAYY1#pKNnZd!F;P!EUpQE}4=Ub{DH{c`v|kE?6FHjk|L z%*f3B5A)UKWzPFWiZ@nWrF`4`;0!&QRUq=!y=c9Mpx?>8(Cx4NArW7=?WFkPJLLO> zXFQuF4bc1i$VqAFmy079+pijLvoou~h&h0roWF9T08$(=iuF#N zScgf3nLS-)UoazUIT!;s!8DFo89NPKzIyGVzMWNn#Ylbiu@G_b)kin+)1t4R)#zU9 zB5Y_r@|^4cV|?ki%J&HPodHp6tG{Udc1fhFxUy8Y7Vv9E?|(3Y1q_2qhw+C}Det=; zkSH+%3W>L4Q)dt>M=Nx){1p`F>hfG(1)NmndJXd;$Id zS+DK~frnOqQ}IU|DpT$jK%j%wUx&_zdO%k}gP|&0;i20%#+QB~wy>4t!usdcCD4zx z-FBB&@o&i0Y}8a(R>k(_@CcoM^W{9!Yd=y#iQuf&tR!1~19Y9%=iZo}WPlGLE-lv( z@*fG^0^O*5J}j-$zonw>(&dvK{Iq(F-)#=@gO8s&b$Hq@i0|vE@4K-p4`zMcF0bCo zz^&`h(qSb!)v;gWPOHbE1B;^)yCQLjFg zrNxoL=)lF#W&bFz-5G!I+TN1m<=(N}YcumBFYjCDdHHQBy!P`elCsL^%|y97hm~9U zZ<9FK>QO43S#5EQS%W=Xvzxly2EQV8 zR^Q-Sa79v_s`mfjg$^wz)gt^k*rVcEmDAU8#j|2VeFS6HfMHu*1YO2+QM{3nxR~+< z&#pP0?6Ki(ALCrS1<9;Aftz5xRzu|qQrso&nlU`PMzSR-p1m8EUxIYZ;_AVgQ>ZWD zn{r%C%je=*aL$^ul_e+Nf$`lCSWe3(!l>VBF`iYvE}s1acE<*MFM;PvkaPl>B1y!v ztGDxO6qMT0eRS8H$FY}vI`|B&Z!!IH@$6mXc)ZQatm%&|v!O-Y=mcp!gvC9I1GKz6 zsW_)Cc^5(8fi>4?ySX?}+R=@Zh2@t6LiF?^218`pqI){Ig<+hTmWB_P|x_)PzzN`KQOD{1KV zRll_6VR$|Y{n^W{JWg}y(6`d-(08rB4~3m~2r9uj>iovCWPT~;id@+ee;@M)&HP^4 z&GiG#wHuZYF-YhE=I+#zQ~1 zcydrtRm5^ks>hCgWk3%4r}m%r@Sg_FhNf6KihYdGqa*`-7&R-OJn~-xt%Me6J#Vdu z#~@vc_~Xi!{coj>kE(qDPb**E`dEX%U$YfzuTZ>z{BYK+9Toc7RSTXZoLe~aaRWzn!2 z%wCE(EABlIJe9UDFh$lt=G+RO&qJp}C#n8^h+dUf%HKh!%_lqKrM2aW?RaQj2jivw zz!^=^@sj*+S?N~B3h!iWp1zR3jUQ4LDd`)jDzB+5j#Rk|!uG2_T1z~3Ej?=OaLAqh zLO2~K&G+SOa?pOX*6~Nlxmi7Oe%HCV-zEAVjgPPWk}@`Hf8-zMAtxAZ?Fi^+a?iz| zq9vjGxB8jHafqvDIu7|BeC`rHbe^^Ma$E>)fiTX=$034Swl-5po(V0V;z5cm5m*j5mjN4*vNpR9pCK~$bUmkX=Tiag_a}6mw2-BE%i)2-MAhfzIHo!2REo> z)~?`ABeaiiMWIRbVms~+j$zxo`SKs;wJoFD$UJyG7^nUysJ+DzY(W?)D~XioKKWJ3 zKYf0|Jb2r(Jg?ofKgY@>`DVvI*B43NhkjE3e4^LsjD(mWC1aoFrz*Vs`#zsB|J4p?*AJxieoQMe#;PBz^=lfy>s;gJ(k6DRP zf0Od&MEtQP>8z5tP=AoPkBIv|>L?y8N9v`#+ej2(2MBmCw)Mj|F!TTP^ULDlVD>9` z0nWaUrsWr#C1I#%`M;HOIUixgGxg&CHQCbJ@~i*X_x{w5M1LaoWNq{B-+}x`ujHmPW{u+-{qe5w=I1iR`bUn==-o&k@r*3zcl|wKC#$pCGmIlFUVc^ z3a&cPKD6p*wZ7zOoM`~y|QXFo5+*Y)#|gL#O0;yZpa z^$o%4fsS@PYvTK;$vfu-WVHVk2K-|6jlML9ZSZYE z{Z{*!sb{gjO-<@M?!DB4U5|O@JjU?XV(s4k8vSyg*P-*3UWe-*2{LH*Sg;wde#Rcp z3}hDd$s>5v?QyTeN&h0E*2nAc$dqQEi+*A2x%qzKTdts62K~eL586N8ru?9^27zvI z_OAg=wEZQ${TF#R*RAIOKQeZ2`x*5;#umafoD`JCt!KfHGAKYYv3K-1eWzRA_iZ53 z&~O@bUhp7%>UcQi{TH>rQR@w7(_wcZ*B{_A&gNRDM@F&!xS;q)z{og&a zVUA}u&h*Ttg`U~`c922#jtBE6R)47<#lu=&v5kITZ74!|e0M|g`2RC@<1>D>KrfskIUR& zX6M}QBi8U+&Asgaix14Y8Y~GGq@fNXEP&pry-XKByX~m>5lhujuRJ+fXHQ__C*ddk z^Fa9dAoe?OlolT-fBN$}!YIn0)l3bn7La5b-nA$3{4;`I8#ddl)jtz4X&}C{PI|TP zj~)Cf{G5FwT#@wme67cW;ZN(YgfDy)*NPSR7``%lK|F&GL8f9g_HtKZJEU;9R_jro zrrOqh!5$lS>X91~RM6x%V{{ypHC(&yOxS)4ip_SLb=Ic@vNUtl{k~@<;@YO$@AV<( zQ(7$RZe(Uf2F8MNsjufKh_!`d~`?Ock{wS~Q&uOQc6TNmd zH+y+!6A8^`IuPDwA08hEsvdy1*OhoNn{kzu%dGP^D&fa|;tTE1E#7Z@-4&LH_NUSC z9}EqZdoB)JcdgIQ=}!mM@7-h~JyWa%TpYXM;@$mxdn~^qnRP$2C;Zqcr-OH8Y>x%d z{fo%ctSf_VgQ5dw9!(4HYW;(E*F8)}-UVL#Bj?9kam>2AlgV`ud+FdaY1i9q7K(T8 zU-VzX7Q!?h4*xR zsK-S;y6PSyQax$Q6_cZtFGp+m6B}4J2AZ$<(T_*3BQm~@sLQ$;5R3VhulS$FUITje z@1a5^N|ph+h)*jHVZ^v@9kd0i*LK<4x4Ukw!agf$^GR%%S16T?m74m#ZYWvzy0KeB^^*Pquc!$ax|#la_eoq9j#i!BycldjYKZPwT6 zb}1b;th8)Mup0^eNaAA!bFc~PiQKIJK6Ifkl7G^13~mqgnq||M(&!c#)|Kbg|rX?XGA;=<&Ad zd*b}Et51rD{|`QWg%8GZ{XmZLGR;azjI_)>T080N2O{=&-9ZW~&xN(q8pl()e4P;A z(-!}}z7N@u%=*E63Rd3>wU#@O+RYZfr=@&B#OojQ{pp`LFD84ES$`MRk_UC-stwcu z()w`yk@_cR-gy*n0O4U|O{UD3N}Nl4|N84`*{Fjfqb#M+^{(Ruq|&7R{?|y!`oQ%X z^^DWI`}}gJ?C-UH53@YhU|1b91tbdZaC2%Km-KuNRc5U&xTIK8Dw_H*0%7E`{ z@cbcE#0_x)+OBn+h|=SI*7tyZ4AExmABBjkt$&N}oD{mAWBTonxCFy?yqg^T^)6=p zcx1T|x|RIfL0S)C`%k@gUF#>z`h_Z@SwEZn=R-49Uq3C5{ST+;>&KPWDDmUa$fZ4;KQu<$A-a;rbqST3lhg+P3(%@)x+9Q9f0XP!<*s9UkA*QftTvJ zBVL@|Po{oi^^1Lyw##FU+h;>S6bDtrkE8@RneS6*Q?+>2QLO0aMzCe zgJVpNR@PRvx(pX}hL4ZbbcDma8c0{nE;9KR60ujJ|`ufx%&cpbiRM#k0!`0q3oR##V+ z4yvh+^o#KSl*46pObk9ryrMPw)$Wwjy!LH!z4o8H;^m%ki)Z@$&}&=y*X&odjbCoC zQ%`Lk8m%17hDFSN%4Yr9`|zhYt)0xvy?*DkNP#O z4__A*w+*2hZnC184N@1PumYmRwMPAWi*cLs1-ETrO`gUq#X0*KF9oWU|+pBU-d#8+>w0tgZI-dNeNd8j3>8M))bTU_h zOQZGLV%(&BUECyf{Jd}#zANDQZRr2F65US3O&f0DM?{RM9kXE^#7x45weoB%rJ-Lg zZn}pY|6y}88#WO%yS=Q%mJe*%Kn%H31DSk4nXi#LBeZc<= zEk~@paM%2gCjSl)zIRM{9WhfekXe5#!E)AU*z-bk%5Oir|0?z7 z_*b=CpE&UwsmJBiBe4nD3q{@^m9^b6-ol^8}G70nvLR^ zWRiL%Byl12M>3vji67Ls$VMN*s(*g~o~-}h2-Zkw-DpI83r z?iZ`&4RD3TKkkL!gn-{hc>Ms9fM?W?*Kr|AO+04ft$x?r_|eKI?rq029N;>0s7 zuJQYE>;1Cc1mv^n^U&$khuv>5TK?cI#uVziDZgMHRO|hBveyzmVw1JnS}~410S=;F zHnEnVu9V}6d@mSCanQ!S`mEV>CdcpU%JvE;&daZ^|5JZ<+qLAwuV@xDpf z!C9MbwxvGQKYg6l>0;mJ(MN++;kElqFE4M_yBWh-{#Hi%c5=5!by4XsH*TWyKAXBL z`}{Rm>(Ojl!D>y>!`mSBZ!V6IR!FV?CE^IT9o61l2%m?AH}-CmbV{6nC;n87qS*W< zxIz5t&Zb2REtmQomBX)l#WT|9n0t|AHvNsy@epCx7@iTn4xZsFO=<8IyTh7g#SwUu zO;6aI%%;~k5e(4)MR7!;ztd}Ho+qroRXnljIm=7&1QvS}qvK7raxbo(-}37{<#>VC ztFPONCy32%nkD&5z0ReXsq`F)6GZVuOL0=HJp;ckID*mRrk9m1C-w0BGSrzHQ5@m; z^-auzYYDSyY%LHn-z_gZUO8N+gRKxL_G2f%-DDs=N2GWcJ*n3-k%zm2 z;c`F-n~8mH+QTu|&P&L=dRN&9!{^R(+U^y+?ZeJ9+T`)K2!hpd9Tfyets!LQ#9%Niifhk zzM^lWxV*BYXjr7u|Hl^_PuP47tsjAyN!?r-$YhTiPgoLvFLq_$i*e!!mP1vf`l8Zd zY!uj)Z6YF-rA4}@0FNd9zVpF;FZ$)i7t}9rK2;?!n+N*GxyVf)-&_rilzXnd7VQb$ zZ&aTX{j#fn>X!@Q^Go4FH{W~@$G0IFv9h&3ww{ z+sTGxHb2Ivge}D+iN6%TqIRXlep>nBr#EA>)lWac`R~Y{WH#eObKoayGSrWC;HY*t zaa`<F0u~af;K~g{c5ZA9kZ^)gvc7M_5o3fwQ^7(#R$K9;;*<366OZg^JwzD7! z21fm*;*NC3-O4ZU&*BeRFeE-PFHzfzP$VM>>Q6f3nI`=UjWbqA(#px5ESYOl?}SG>G)UiWhLF7fjJ`LUO?`v|DBmouZ5%(9e1*N6I1 zEx+qWv3ZR@wW68E+cC9(%q?HKepLCn zew3Np#`~2WCv)I+0(2TTM2EE<9Y2b`n#LQUyP&6_SL~DSr|30%cgo&6ver=M%{9)= zcsQxwb)U_|d1$?^*RG3Ykfi?PcuGV>zHv3Q#Nsg-_1cN^(D^3#5$nJG{$m<3%N>lov62)9o{<68K{+DpdkV8A@a>RZJ3ujgp^K8Tl_#s%C( z@3uHtMBkrk93B}yi2qzG;g51k2bUIWK%=X!DGgh%*}(-{0zZ1dHu?Ymmp(4&G?0;n zrYJ7Z@%sbW8NbWx3XGG7&_yb>NiQiXD`5yP;cAN)wj8h0w;(%E%TPQo0d#)#6$GXml?ai1+t%ft!L&i zU(Em9B*h&GIhcpw@$&6FOMOlr;+eU0yj4WN8pnF({nHbEo#Zlfebj50w)VT-8)9cf z&l{jk&{~Tl@HCMj<&`5-wJT2CT-Mueb>fKnLbm;z5fR_|$Dn_UhI#AYPi<{sc4EtJ ziznEhr_`FrV1_=8a<*cGCrwLad@FIEEuVUMRUb5qV-Q<};b4!_zxML?4;90x6ZUsb z#7kl012J5hR}E^u`UZ&pa`j_K^r3K!Pb%N;fNz&loi|{@AawZ?C*rG^z3=bWkS}QrZ#_r-y%8R79XQ7W;4k_gXw_^5Wo?aMmu6#= z=tp}lVV}39NeYzVTdrNc`nPfVjonfFcLI|2g@|`<&2j&CaLY<`V7uyp;aRg4nYRv% z7cg|Y$ND$APEANMTYm}_LqAfz()AD4Ps<#Xq|o^%*Q?>=T?Oe{Jewn*W~=YVqIa5{ z=={Nw=Jl#uBo0Dcpzk5Qla4+m0SS2!#W;Zw!Wr+A%CdBHD4 z6hE_XX6|Y0y}Wx?W-PAO%f9T?FET{_I5Zkzvz+%^`^NnK)=3cK;;n1rD^};dmdD?V zU8(-N>u8g3lV2zPu5)w0<9(8ge&V$`{w%NcXP0qY;pN|PlV{HPo0s>4+hTmPb*6r* z$voRu%h_ywQ~8>0-?PW9`2Ve&)pMQC5xUh8kL-32S*woQ2UhWbMSh85?^_`!M4nA@5{ z*F!y7nXSG@*ZHhRV3h|INJeh`ZX*b&nd@^v-7_-Cz4W#9C=L=JBM<2iI z__P~rK1a4HzQlDj(R7-)Q2%NJk!EY7wup{Zww=b4-}Ha)9KyD5cKm^~!2d$>{Xqf$ z8JU>aL-~}SdAW^CGUgAu4`+#AV1BEMs%xs6toPg2RmCtzUS^NmPiC|_1`YTHbi3TM z?Vj#FYi_%#UUnznAU?f~;kiw&UaEa_){o1zyHD{!`bGRcYsz1G@N3w&XW1wCBF^u# zOwBe8{L6*QU*jV!-6wb(2v?He+GC_XpNIY-cdR{g_F0qirLr%S+E2|N>!kasT}|H4 zLh7^jH^M|LAEVZ7So3W!3s?Bcc=Mq91Z#a+yD1|CNoLz0^~lK-dlFw?B7fHQQ`@!( zwp$@_g*KUOdxFyg9ThjPPQ=YkyF_3ciBGis;-9?SKVI#%|MeYSo1AyJUgYIn+TJTz z`ke!D%FK5fcb^a*w>K?`1?&gH>)YO;>1tIo#Gc}Zx8rxCeP6sC$!zx>S6n;W@9Zr( zmoB46ZGUIq;yS)qp6b5A>};$_`wJ1B?W_aXE^avv4{RrhY5Pxl`vwaayN{acx$iF( zAGAfsCRiEF_UPbW3MonCkoW|6MAo0k{^;~TLw(Ag%x3$s(7Dhcn}d8xylY84??O-- z*;iQhT9e=Hpil18lEr?TjWgB%l=m&xdSP6={b~#dII!*0lyH)j&uqUU5Y*O+tryBE z>ttmuj?5!U3=nju^|8aE=-{cW9K+(0{c1O9B~6MuX~FHhUAFzFa?8b?+pm;s3YjwQ z)cQNp@=(3XCI3=;ZMI);PsrR)%9nEoPp42GADNPg?ZaGe9|_SS+efJUd;4|o-M?S| z!u|vLXtwD<vZ-j0SSabf%==lLo zbf4%siQ^hsXFr^%Z;39KD6Ac-bIkNSEJ*c=P2aA!jCf!p7X)S9XnXTX>qr< z1O9Kv<6f+<2JwI$&Bg;-yifCvyKI%J-j0X=AE7_Xy*RtT0uHOk>5VUhi&IW_e9;bm zKejTM9k19Ee(Wca!x>-5e=pG!4E1KnQ^yQoX<0)MP3hr#t$+OLj;TJre};3#ztSPb z2D!U(9VFfozfW_3_!VEXCS%8RXr^QvSI-mW8YU^@YnA^Gg zUWHHE_*(gSzOIVB-2iQa)~Wn1z7jrryAJ5r|MFfv`P+?5;S$A#pTy=3qD54kr1ItX z@_}b}ij4KpzBqfiiaWdQlbYYoUWHe6EBs-<9=*F>-m4dX7SjKRy8d4V{)dy>EPn4i z6Y!Lys7Bl|O`M(`ytOkhbFRpT;JJ^tI{a{}FT5X{q5kit0kXd@ao_Tq>iB($^*ywm zvb>Ek!HGNcXm(;pcQUWNvnv{-_d<_fb)Lj+FU2uE$V>e_ioBCyxF>7z#X*Q_HoLBF zV?W;TE37E(Q#4YhK6^#j?wG&#)qRe6PEs0j`E@R~tS!--otN93%uZP}@Hgl=NQ}IJ zv|l;%a@^9C24CsNxA^v%k=af^s$_Q7kmGnr;;=GxBZCXIL+-qh^mCD1D)8?qlw0E? zJFnwOlG^Xzlfx)TF^X%yci!ytP1$~HdrMQ2)P56x+!^@)o#OvDK|3Ka^0D$c>*~V# zqnLgLepu$=9)jNuWKA+VpQM)fGDp_5NoY^ov5pg|T*kdSLDf4!q11}5-P`F$_4ziM zLbq?dwurS)t+$EK0tfA6{J-;6$d3Pa6&F>O#3^xjy-gVJXUD$ok}mi^kb?1SYvzPB z#q4VZ_H{&d)-}gg`*m*m_bc}G;Vb3u?1O)H(e=){Zeu6!&hPvWt4CWy`SA^)>o!)# z--})8yuzdy=d+Su^GQ~MQ2AJ#R9;rb z3w@YuJAU8!x=L(z`hI1XOwH3FcM&ugvEmt7a}`4S|JCdM_XotAoc{Zd%Ft$t|Nd1OmcKSYFb*A-Adxf7=c zm!<26w0yoF(tSxzB>$gE{!%`15R0Jokhp?qy(ZhgZ4~cAF%Pt9G7k=9ZTD9_^Dgw> zDbS}poaK~;J_Y^|waLv#>MmA9v+E8{KBfzZ&PV;P_(QqCAMQF9`Wkc|L|J7m`>wnB z&Pi#=BUMb2v3W<{$=lVx8%XgGP?GK`%g}tV#Vr9rkW%5`XajxO)%yIEwTC zf90yKTgkmwaA+d5kc4JjunES-HZ2K7md>_7mV_i5n}lEpA%%oMNN6cQ0trbVKnOJi zOy^4pri304EkJ0Nd)M#%JTrSYcRE>nr@Q?BW?rx7w%qPK&&)jYe4cq`cDFWKS2Lrk zu@P96js2E=czF#DhhWGnxNIGFeY1elxZr=gH!^)Q{j57FY4=2KLt)=8;vy*m)h21{FJ! zeY{#FS&|g5uAs)oL*hnc80Y#-%H!hGaPpI-prpvE{b?0!be=HHmot!=KU@%PIec+# zUCnXPre>Zhlk*|%rBjbCKCljB6((3xWYrPyoB-|3k@NwrM;9Mnq1Hd)LLUMHdCn=a z>L|H4o-&Zf#Rs1CS~bMv7FmTukT(@NniGYP)_|m(Sue2@kg;m5+R(;dN`?~Qy?auk3GRluNeyh%g z&Vx>8KHO*;v(c+gfEGX!Xs{`CdnNJB4gRib4dmLnw~D`Gyo$XR+HzRiPJfm7-laJo ze@=}?Yh;)iTM^p69KJvPpYWX>t*YtdJ>RRq_f^dEuX+P|FR_hvocr&@bMYgc4|&ZQ z=jvnalj^FPn`2Lg^T7}aYU)kN*H?CRz36v`=LJ@subD+wJz=(O_$h7QM)voikL8@} zr-=5Z*PoKdt*-v7pK=s@1pXDKx3Ike`YR+xGo_!>N;&@1d0|7#r+$gbV|7>Kq-P+{ zI#`n;ZDNxjhn|MA=9k3zg7E#9-fwoRa&6loKHco+IFBqy_v_ibflOH#bY`)LF3 z+jf;RZhN%P#&aUl;$0zqAdIa!I`&0Z*_$ z??8@H;s2^nxkxU=YmhN;8~ESWE&Nw`M3qT`UFED&Y76|4HoCf6d?K zUBawuTQ#&0>WKe>_wUXZZ$70_nO;LSq|p5*2`|B6@w8jXBJc}FAqV}bjZt=+^$X&D zgz%D-1%CJi5(DubfY135zDV10#Y z>V?rJ^MSjVdtkmx8fkkJEqD@I3B8n9w~EhiB%X^Osh+ye52oNIS0`V`dq6r!rPrmz z! z=Z?vRWXQ3YNJ|^$)ZjS8^bwCyv|J z3a#csR@Q2qnzcr&kKsQjv92?+n)7RlyvW)w@ScD{(0ZO-ILM1^9PM0~qumVj-t`k$ z+rQfSXpz+?P#5@wd1H`O`k=N$*!phOu59r{aq>a(o)4W4RjYsJt^<<()YcT`*}Hni z8WR`Uw_JxVPfEWa=+`=a9}Qn3ZL6yw*3VNQ5L}{Pt51R!u}?Dbpz6gCFx1 zwOFC;Np5g?^{qy_o&DG1a?!;H+mcwD%Tc3O{792mba7?YaG61E3#(eDEuJ?!+St%s z+ro=yV!&+T<*UD~a^(O1E4q!WDW~Ut2W_|u(q(-v?nx`8r;o|F=eDEb-qG-pp`OCU zQ*4GqU*uTqUZ=SCajK$8E@{Z8xT5mdHqdb>v9#5Xnw%o5nH-mI_{ckj6UR%ba4)P~ zi1U@6N32=n&VOeA<$&);@T`VvIU#l6LuxPF^@!5nGoB}1-Aa}u#WU7ot;RyH-Y91h z+IyAdoAx+V>(#}#QRtODj;sMr@_q(#-x)vWMc{Vdc9Z8aFS28DD}X#J13vx_gRZC(AL$uF{IKV%`sk@qi76hn$H z%b5$go2Tc-G8Y0GF;6P7a2XGGz*<+XZ0(0GU#oUmEP^D(moe1X;m{G#p+;ZlM|pgl z0UmlJ?fYp{Lqp3{27A1FkykJ^^O>N~{8HkZ?Z2genyO+%*35!8tDn~#to+tCHZ?3^ zoY^EHOT8jZ`xPHIyZvI#bjlMie-AA8a?2lVT?59inPKof9*^&U_hIcta=Gb~)Vxq+ z&4~$e^z`zN{f3o;vCA69|7+^C9#&WJW<+_{rFqk(T$6FVyZlc};7`9(JwS8U5D!>$ z3UreDzKAtn<_s$}kvp=6xWJmTRN91}uyW{bH^$5#MNmtmqeSIunqPNn#uW8W}1)m*ADUiHNYJyvgSdvU5nqdR(imD z(0}Dzf_*^?!}bGXSCaiKSC7@NX@So=<;~6pcK!{$4GCB(?uguuUt{vk;Qc^i=N&(V z>@{&VasFTNQRT#vtsQOspc@fyjkzPT7QFUkkS{k1h$>!#kFt(P=87d=tYgtua*$jY zyyiNEZWmpThE$r=&-xV-VjI_vms4(guf@mE`cB)=()yE897)$jS5SYp79wlKzZeBg z;9q>MxF4DPJmHqw`o_gAT#<&}#oN#NbsA^CjPf0(8L@LXybpoI2*u(UqGy@-t#N+V zzti!I z4Rn&Wr@IayQ@n3gq!(Pu^ZLHu$hLs|7eU16*6!nuJ zKO@!7{u|)x9>2CFvHcr8Yos2R<{Ve2F0O+|ojk2Fvq{`&>9`E<@v%AOAgjUEwYQ@Y z_d$VTswD92M7R)XXg){dyXRCyf?Dp-t|*2j&k6+d7*qKm9CKS1!?@dNlvQwDsAZ>+<$ z(D=qp@Lg+iimby}YFu>`Ct|psj0>yyQzWNi*BzKfxee}G3{>3xH8~ImSl5r-67*pm zgYL|5SL-#vy~~MW^do;}?IlIljYjH;&~%OxaM$sRGN@0Bdy2D{!^ZNDtlJk}r$7tf zCqP7{C*a=Nm#Fn?F zoPK__bhF?;D$PG@f3vkWhyff}voQ~W2<9FX?x_Pnw34e&?su0MRY!9uvK7tDD85>SwR9j7av zJI~)D27krZ0j%Uegk)ZM9kUX#p@*??xfJ|5Z6CxVv^$J736B?Vk7G- zIE#XK??d^J)>Bx&O7TzYgF7Yfl5t4OI=l6Z?bi>}cHMd!wt&A$q2*4(x!l{N;Kau}jyD8dh z`ctOw6?XMs@o_eMt}w-mtiQ_az{Doy&wg^eEaUfYDSv!`_4k2Kf8f2sbJ)Ku;I9sW z9Ju^-Jf`nSZ8q1LU#*8XJAYqlV^i%CKCB}1R6XHwwYf{|)qoWo{|&lB&KVr)?)$ei zfAC)4EBsCJ{wpMqz`P$n5}^c@*Mr9E?~${dZ>5l3zE@c5%fvT>uZ=|3|K8*fSuYTx z$*nKZ^PIhZYyF#);6Ko+fHnK8WBWVUG4J(B9(U}h)0%;XewX9U>V`#?&Ah8b9~#*M3sn~fcs0U22AXk4-W5!yxZQ|leQ*}&XP&^Om_F~y6lx4_TE zHt~n*QMcc>wcf@ER8Jp(Ke5gYGF6{o2R7gV8NJQyeOtoCDW~h#44}ME*>Y|eVRpFK zDW@o%I63$&>wgMe4Lt&_MN;M@HsB4g)-9IQPN)4oU9ErOSR3}Ue(cR~u<^Ty{n#xm zT)D#gFVe2#jDYH=Qi2T!KnKb>*WPZ}TaICp_Pm73FWwzV=OqS`|0Hu9*)YZIB+4&* zGKr6RD9_^x;C|A8xor*_J*g!*=@j#tB~JYQco3pl9V&g1r*_3Tp>dACluI zZu_Z!HWxmx3m@scGG;sjIu8;R?lgY#S%)HpmrLO(yo8!pFy+rLGiBSk?eT)Agm5=|iffX|w-i6j6Ei)Xfua9g@8WD%?4{^N{ zl_F`}IK8<=OoEPk zLYE`S&MS^d%l7h0XW+g6W((X7<=7^JgDMwwEjr($jw|pTHco<$Gk9EGRX>pjf)~`Q zjS_*v%99(M*~r-O^NKeCO_=GrfWXKFk`IqeD6hqvMbvAt4pw z6PuJj`&o;ZD1Yq6#&_wLlxFC0?B5&keZm>$^}jAu8lH(7OTubjn8HZg|X zR0Q=4ShGJMw!ecN^PYtc@sbo>_z=xS=XLK-BTkYcr>^278}Wop+(7G@aml9LX`!Gm zjx@!IY#JSuE4g2EJ3g{$kjYx(BM-r!^)8z#<(%8^H|;9NFi+?EV5`VPy$y1Ni&IY5 zKN(DUZM-Y8>2MPU)gnrU_tUpjlOFcKtV=26*H2SG{aU}Ko zc%F3A0&^VMRBLt;agHaq{#z6AwRX%4A!f^~WAPnJ@m# zJaNk8Y>l^-&!#CyTQ)ZSpmK?Qmp;UH(+?oV`J0;5?{eZPu`0<{yhd=s!Pi*+ts;lY zCH|?%#dg!LpzlHF;4ex1}X{i^PKGBP8-;_N+vME|q%XgBOG}Kn}_<(L?fz#Zor7?HXzV~3$duWGPze}JP z{2IY@{Uv@)>ZEq@Ro9>FoU7!Je0}AlF0NO9a?>A_dt}qU&35zoUSu=Ac9Gz%!qCtBFr!Xn+4E+0o?+Lu}&H95nOq%i^}HS(DkO{aFxsIu*QGT z;>{NOBb&wJc@&bxCIYoO4p+aISJzk7HFGMK+Ltr0%O(2U{vPg2|;O8)cBab)vS)D9if_cMyFX}l*H_i4|~ zr+ASqtTNb2Z{5aB$M(y-Nc&taA8T^T%8PcIoy{=b86fR0kXW)u2(bnKOoT9nY`=$s$pKIOLye5Bvp30;Fc;;X2? zvKh~6GoH-mKS6gZ+wgX&bH3=a*5||IdOsxFe`tMfpq%zi7MYeWH-68SGE@4U{a5{- zUA&5~h{{Te`#p_b*^Lvt(xa-g=J!mFR@chgVdqxOtBdlUCkETjdmvW;MUgGo&@J@b zEhSKV%&(%Uzw@5%rub3)aN}pGxN%?db(Ni6C;IC6_wDNMY!=wW&}`mfwp$vJ^HFF3 zG*r&H{*Gu#dU~5YpXBP9`WGj_XBXjvk=U{u+czK?Pz#Qy^e&eRPU@ z(w@$|Qs{Cku5U3xBJ;irZ1EPn%`L|X_k{Mw!BD%EHm+;ET3pw4xns${O7fTT)ljx0 zp%XcZ;hgwu-JU;EzGB@;>Q4-V-4t^i*|G$ljSzlC%J*Gt8P3&}&>;{J4)H0re9PP& z{D!XQcsutt_v-u+@$@Z6nB&Nn^N{5t=rT^o@?O=iuzJ+0UB=pN#kpO{`(g+T-|`b} zHy4Mce%JDdcSF;RXmc~O%0`ONs^QX66@^p`KsI zSFyxe#$Q7bzTd{n4ZiFA)FSvXM%yBNi0=|p&LDpYmzrY6ezQzYZ9a;h1 zZSY;|S3T`4@aaXq&#T~(El;t}Xl2Wv+~;?-lNf_ec1#>IIbNO0Zp%`KLp)vA_xJGe>dta9U(vL7%#kg@u2E0=p5}{k zzApOM#^V}Vq8;AS41bb{7i@Fm*KM8PRKZTXYyGYeTzKHtk2nTXBu)U-l$xzKXVr19IP3!Bb6hI$bSY2NM_HUQNH*y zTfc4nnZL0=3l_pie4CCW?H%`GHBDqxHb(DKK@fgOsvX(>UNMy__xV#mQ zaoa$y%W(>=AL>sbl_rgoT!)n3ftJgu1ii!Y$jqP8`nCR)`ZaheTQ5|W>`0rggkFaF zK=Jx@o;M2XSH$%w@S_;BmorMNple+V&O6U+Q%RW#d5K zYY?-8osDCcGkeOKL>X6ZV+Gar?_;L>d4A7>JiphMOpdwy%|M?5`+qs3^btrs!pIld z1`y<(3N7SBKBRaf_Fuq9?EiYMW=rd6StTaF&DvwG(3F8Z*4F4a`q$(*%H$N;#t=R4 zJJ1E3kiMq+O?}Hdjn)zU<=I(T2P*M$8PBK0Ba>J5enXe9RXrZjGro_0LOs7?LVg4h zo!)jqhjF~vjsGqQY+>v%NHL0%MQFZBc-Jlx^iV20fw_fk%h@Nj$K?~buGf>1ZP&05 zvTysPbD!K3+4gh2!pQMnRq&K%^V|k&>+Cnz&#T3#KGZo3H%f1{qP?_=`d+%tBs z(~Yh}SeZN?wKBzOF)rqm`j)0;M9JE3puYbWeq7o`j=}I${aZ%&Qlq{%3tH>>y|4BB zg5{oHN>nh{$;Cryv)uSQ+YichIsP~KtG~0WS8}4!f9az(8U1zEC72=IalA>9_dwOv z&5kxNu4_S$q`$fGcMc^BHoE0~*M--=$v03B&6?koQj)-NYB&99BS=KtaN9Pv6N56D ztfC_@~>R)w7Z9#y5&=2fyfXk?o9Xw@;J*-2N!NCbV5tJD%*Hy8TZ5 z({I2>hW`RC+mB}(h0cO@=%0SnNu_dMX!+DXRe4e>Yoy&-F`0gT{)A`-Z(Is z`KMYw*FR-$eLGVMk|NtL;rBV{EvQTXG%deh`MUn$NZ2*Oh7{TUJAN5&XnW_gpX?uQ z=lRL)--J$wh+)fmjqNwcz44TReu?Uk)Ia9n3)dq+*#J=S%Utf^Bt_R-2NoA61vOvzqS)~+y1Z?I(+|3 z@&j|@2egYCd=8TJ11b*whAoV>X&fyjPWex-XxiOb!*8>QZbo!b!^D~zUTE1IZMN@U zJ7aOQxy2y4!I$mQ%~@K*YC%bnc4jWye*l$1{p6HuZ=^Ls_pg-r; z+Q+ed5E8r7DZWVmd#j5ga(`$!6=zf~+a_Xj3mEaW4<{Q^qRLUdu$v`*n z1n5+b#IUHpu#z2VRN@Zp10bTr)QYSFjI__=d{PRnSFNhj#(ow5OI!vKfhYo=Wu$$n z&S$Tl$2(}{D@CTC$|a%mPqM!W?ezrt#QEoWhQD;Ni=c_ng|7W?Z{f`O!kzmx4%NJ{ zR==1Y7c8_~ACO58rHGqvj_`q!ejbv=hqC`XW=j*thlO6`kSD#;?|mn0_`qw9>y}N| zZyGfR!#ea16BB8_O!*hy^&8##-fnctDV%=>dO^;G)`Qgc-)S$k|0j{}o06|6=i6*& zLnlLGG*ZUDML*ZNMc_hGXt|8N7dc#e&%9gvzcnLv+Sm~%a2X`VMD2v=wcL?MjTExA zDFeP@@0kYExc6P`OL(2+s~NhOJ!u3nNiloqypMp=xARwQ{I7P|eV$3}r-Kja;lX;z z+m1VKK!8$6il3?dmwLALU*q7rkl#?rPf90#^&QY7kl>rCXA0Qu^<3@3H^2djLyv}? zZExS(n?GNN-i2bgvyuZ5LU7EVKBXJ<#I{`Wg ziYnjW$M+TlyPa*d{@zWFt2+Jq5OZhy3iRRe@NrZp2aTC(`5hsW>mw()lich{*s|UsZxJ0*p-oBon z_cQcQqTzp%a|!KBE0}(o;dA>5?WlNlGJI}V-t63Ic3@(Y@@GF=&+Qxjf;g{XlmEbT z`=_vfTfqO(RQv@WH+SN{Y*Xgq%32+cwZb~isR=E3d&`>g*Ys# zH{E@1-_J8~aPvNiN8mpW+C|v8{aylgMo%+(uc2~r%IW$MV^E_HP4WD^FPj~h*(7p^ zA0bXfK3Cod-3z^qlx5H!(4o-r!Hse~_on+^LsS2~$!VtbBkzXGMFO3&7Q(53@1;P9~H}t(^os^ZMK=qi%52SllPvjZ}++5Rvr0B zJ@TDKl~eTOGWKt0dp6}T9(ON}qR=wvBIwtgCuJ;GoNrIdS2$b?F+Ry#l5xJt{;c#{ z@zC?(ay~hyD1($ENV)MFrRF~m$@-1uthF@Bj=ea*Z#-#?SFoiiYkni|3z)RHxrOIK znkGkEs%q<+XY>5FjdUBoG4B=?BQkQXZv7r}Jio_xXyyMxKbCW8jpux~ozyQom3%fz zJ{XrCQrKTX;wXxdOBu&##U8xhspzJEJL7(`(Igg8c4FJGc2MFTMsC{{8s|QTb9T({ z_YlYANhpA@i10~2fB5tOlQq6^5BYB;8{*T1dvAaD68wvd$ zCsNiup#3;e2&uk^@)$en=Y7W2eV}qv<{r#)B&X2wv`W_s`kjnRN_Hn#taOjlpm_!- zqf4WU8e4d_c6PMNd^#d@{>gX{=ZDrPKfJdd&CpV4sPbDE<99S;VNF@!$M{A0?Fk<= zqX#QKdo;TE+Jg}jZ&&ntoCWQSw`eXF;J?Ou3&K;kKcBI!Ilh#A| zu6`-bSHWkU@DZFBV7n4}3=)%<66a<7@Z7AX+G^(cj_0ARrm3v%n}MG)xvHg#Rep^P z_03VDmQ2(KU!EkZ@N%o2RynOU$bNyK%o@oD6zVAfcbVK^_?{SNPvu`QJ1NgH%X2ug z7F*Wa=$z>L+h()(Q_2plBCZ2{u!1BKnKbhR}XvcEywUldz`H8YW)qJKiQT1?eNj>ITbY=3GD^H z*t~&^GrK!~V)Q=1eVIQQ58qv-TvD$mz;g;D?n=zh5!@I3AnwuQV=khDP&@jZg7`W; zPvSo(Wzf#j#Ylot<-aAzFPLM$XAQDcL#J~h=7)rDN9oEIM-=}m$-4iD#AS>q zc+ty;Uf`k}r_k-AIFD4C6z6Y5!Y@Mm%Bjq7UF%C!nWVT*oTAqu=GgBwk)1oCM8j=!WnQ==z5L! zHy77`2Zt>tKfjmscMkNs+A;qoEbg?b>9Dv^@(r>YfV7O7dz}HD=Gw1bI1t*7>(7jt z#L(sVpWs`sKe%1jNlD^D_BLcvd9bVTydr z>esc5Yqv@Z4D$TqvBXvIxQF3!?Ad>Z_v)Xa%WrVQBAMdGO>o={N!TD!zi=!v!x3#) z7e~H;9*gNF`MuF4eZKi89F;(^cI`HfC|?&x7?<|4ecJCWx_ljUBRq+Rn|5_@q!%-W zy&i#HKu8g^3>wXaP6}Pmas762Hg!<&W>t`v^$3lXV=pCg3->;q+*|;iqu` zqDo6@8x}XmWeF`utC}XkogOwWybt{5LMK8KO}Sed_^7Vomn?VK`c1ws&KJGb^0LOO zH@&m>0_YSi@9OHsO-)40;>F5F{i4q@rz3Oky@~Vpo(;{?^&H}S5ZCCvCv-4$6!Z;< zadB^E1A1Qo{amXdyd3dzqPJSk{m6y+xZdYO-_~+|=C+?{+tBUTdA;IND!={V^AqT2 z(2tbgDyLqpDrJFRU-G|JYsc?>75i61R~Y@Nr^BzSGIz!v*O%vri@!Y3D}4DvujHB&dDeN37x`p? zSKPP3D;)T(6ar=Wl=?AFo~~abI-8q#OrKpHmOJsT^;atn_}CW0`cUY_5Aerw|9$i+ zi&)QK7sTpJ2wW4#|Em9e3h;zL(LTg!`|Oce;rcv2u2$-#>(5?x-b0`qXGEJ8M5oq9 z>uM%7)YTCiVoKG#DJ1#&%C4?o?iIdvt5^8U&0g8R$9ko^4)DsZ=Z!mk9`N#uK1JGC zji#2byJywTxbIJp=Un{W|EKu|-2Fa3M3TQjL_PZKEC0FuM6@|Q`;_eeyZxaDm^zf% z{ysY1$N%p$34X^zEs!{KDgA%J(|5Y4Z0-#$r}|AQmu&&@Q47GnJ`4pU`F-SBoF73y zg~Zv5`H$Tm7bsuG1$|DpzD6F{t`AM`F+mj_bEsm=Iq9Il&|ZT6IbdZ!z+^CN7`{U z#Iq(T<2!xu2>MKe7*qAZ1Cn(qeXL)@Et)dWFV`=>o*Yj#Ir)A5jI)JK>3ZQK#c|k)$4UEct&e?#C3LwJhx<+=Ym(yd&9G!;Ti;XVOoG0l44L7ume1m_uGjnm z`Qvj)^7}60_i<v62mZ4emTNDX_C)D3UIH_CR>;o?uk9T?{Tm1XN6wz zH_r9)+e^KoF>Abny^ioA`^2uwT@@G{?E3~9@E-Irv?h_8;$U0ix%iPj=kbh#gL4*D zHMPhZy2-LOW=XVZnL=;Upw&Eg;@npm_CC?`4&%nYSF1#R-xtj`pLi&b!TNpILE=^? z+AXvyJw11DQvAg&)pZT^QDqhUa5i!LZ|shvzlx{xkxNXB;Aws-+aE$VL$UGYN-}yi zWMyz)=yJs6aq;YX)X!G3A^G{k`F#YEc)S?PEaI8e1C}QL05+fDIjmrR2TD5aIia=z;tEVcZ`m893Q18F-#oR&*>evnse-&&9IPO>XcoUqTa~ zgB0N5fdSUUk&bzrlP7rj=P%0IIB;@p6OmH;l_XxjHZR&Vk;v(i+7@RKg2BOj{OtTk zXxSPFb+ySq_C(K99F#Ck%B1nv7abhzf@|{im0ev={DrSI%Qs}@>u&PqQHheu$S^>? zlyYV3q*c)5UlS4qBNs$>vM z1L*fd#h#@ce~LYMtBcCy-q3Q!<#KV8nZLq$aNe$v1o&fiP5gvz$78iVz|8`n zS#k3L_N^R#K|gph2G#e~OI>6iHwz?NlH%sA@E!?`mNTxsEf_4vnc$|D&&AC>$X}|F z-%xkkw@LV83{>=a-G*<{YOC^vT6-{DlH3 z9?35_hBE&Y0?<=^*Ury>pK`Kdh1Sus7Es25&rt9k zXuk4GwN4{!`I7wvjVl)XfV>&c7hI|Qf*-%&m%(mlTOCimkUa0b1AC^kRrJ4G=zn*G zpAX+bj$OWQq@W3Yt!k3R9|_i>5FshJ9{LlsMCb2QtXl}m9a=w=>o?99yP^8@75Lo- z-38sE?V0s;D5^j7SLMh0qJoE^|AVe|zTf8;%;QWGM1-Z_M(CcPwDE1G<<5;iS-4AF zvYmNP{mI?Ea{2zMCX12isp*ec%R;cLa2#aEBSCr9uM7Op;ACv8?d8V#=QcFfR!^y~ zX=rMW%G`qe79hPZar}QVCoaqRbD1iQEI=TR)VGTFaPwaL{L%}&q7@H$r59Cr1(Oc( z3iBjDz2j7R&~Lq>Js-ob9O&gAx-Z{+>gSbyc9vIo?J-`_{m<_BX8AX{o+>-5C+W`} z;x`3PDhIy+_m1QjejoZPv?sKWoO1mQ(c1L-QL>-u>b?4z3*mFH@Bt(WC$gOZ)j;B$ zr1Ud&o}-gOa!+Xa)W1}Dtj>zBRUqa6D%p_y!dd*D1)T$l(-8B6y6s;oU;N8L+${Ak zA7o#OPVx&+ig^q>r zV+)rUXPpZFmY_#}L62lywk8_4-@H3PQt0v|`6Ic({S+dwVdZu|{f$;|lw=z1!?iCRQEhCjE}DVDL&Sc>uBKvJ{F17_%&!g)G0nn|9!8E z!g7CTIn}PJTvmq^CmClIjU*eAUo?f^Z$sxoUE(D6Q=gf8gt);pVrYzBG!`zN;#4xo zamt|FqOaIY#p#FGSHDQgEg*UY^czTwZ1!=w=t#09DNZxiDmoRKCudyyTEv7yW;m_w z>f$u(J&V*2kn%OcM>@dMP4EGA492dx@Zs=5xJpuG}a_o zT=ab|c2WlI?BXP2=^~lyAo)cX(fxWr0uGtsWYDigL%es$@|Vyx(3J`8c&Tm2E&9G% zxi)-1{oml@2P)J~|D*W0hgY%ZN46-|wsFLWWYrq4_@kd?Z63tILgH${`+IbJT=WJy z@HX@x=##{1RXmi?d&*?q|LfpkA{XLB;K2Lw|0|RKPlGrs=Nce&`#RpluA>LIi*^~U@efgC! z%_{W$(_TE!TTI(Yo5{S2j5~{?{O6?5^&Ho47w`T|j-yR>esLYTPxVsYR&`ZHk4gIcAoin}xPLKm|Kc;vyn{Z+7d;bmXpeE_k6tV@#G%WPgm>+6zVuri zj~)y^;yJ}Xh8DM*o@II$WBcOeDqwiKki;)HLS1#m5wat|+ORAbVxukM(wE6UwhQ`W8we_`4EmiY*LmXdeuH376e$CR# zmWGD9=E{BcJD_q-OI3YMRa4Ex#^}ZMvt4yVQ;jZ-QBS~(i;LexBR_=JK${a=S^a?ZiRa=+I{);K zc**zbSaLd6l=tmb)lFa2xVS}Mjy1Qbs=j%CL(?KX(&hO!%jEo0tPe~tKj}9e;?Bjm z)Fi+7C9^F#5j6TD$HWIpR96!0J-s45yO8W>xcy4~4C0+7GNmfUs)YG`UDy2zTLFiZ ze#Q#Q@p$Hy8(My~&nmC&GdkY>5n|fdlwUFy89#%>ArnxE;Z(Q%59N#hQ4;tcjM7U+ z!Gh$M;D5-68+09rfJfZ_aM!={he$3JTa!k+DgFl@iQ@n5Q&C{WJ#rzN9ywwc+G-N;3(#A2<}Ve zg8LBDYRa-N{iTjP=`WnU9VHpj`}R|#?d5^3SLpm!2kDt>K9JQqJQ?-SS| zewmlq*Pc~1ug*M!oq$(jm!FQ`p8~ITe7`>bT(VRp@=I~EXpbG7qgL9L zZ?F|R)FMhy~%H=fd`gK_gC-bEei8m7bBd~My@8_=cN^U&JD{j5kE9&`> zSNx+!ub36dMf>k=F3#nz@h?i5cPo7YdKP*)k)Qe(8xzmPk91wG>*=U;1~mEjxe}BlVQ!Rp?DQ=Z<$p ztJ2f+WPiieOZ7Jv!RNoi2P0UzitS$^3Gz#bu~UEJ^^k=okI?ce?yG!O$8>y4jILB7 zbR@r20A1$(#P1LsR9wo+x_;%0zfm^G`WuhIZYwNEepwmS0}jeJYvOTOX;1h0XFYbt zyJ7KI{fRP*#p+MsGnWm4h6#7K{mTeQWES7n@>%~v-=m9vQMRk(FXh{fvh4*O%uy_^ zEA`s#__p#5{0wYJA+ek?LIsliGJ*+tbD?i?B(9?RHR5O3_;%@Aw8AddQIqZB;i+kt9D)COTUq}<&japtQuMf@mx9W_-WM=UXLYC zz}$wZi|dGL)@6YoQ{T!D-@FV@uk1|dROB&(6=|~>&^IAw@5+{Oo|FZ?=&|ypkCrWm zz6YJH4?peViT{rqnN}t&bknupmJSJfDXO_y#c)!Yu@r*jr(m|W#89K{IaLaHgY(tQcprwMsZ~Vsfjq#nr^>I z_A^{PS3d)vrc7f!7|Al3$e?1p6CnYmlzxWVt&W8Z-JdagWF4RXSN}rga{Y^+Ada0| z^CM#O8=w|QKr4Ixh4RI}h>WxT#pCSf!-C{TWT1Z`bO|KjlyZFEE&n1SMIotw!E-s0 zU7!ha#`P~EqvV*1OMCuY%jfzR;Cy6X$zRHM0Kd0FDxPH0*#m(e6*yQI&@O3;< zHVI_qL+Se$T3+r{|Kc$6o(C;}PDyA-I+lss*ELk@Ox~pQzZ03{XXFMCBacv+&p}c= z+{-Jz>{MHrI36zb`u;o5EB)lwtl{CDhU(g?x>*g)EiD-JI0h$}fHUtihP^~pH3oH*fX;)H976TYZ3 zz!G(rk#T@pDdo)8N%K5?q*n9uBUhWP|0U1&XH$2?`yNAA?V_@|pLk8_ldHVE-A?ohk0|!?>t6E;?|cH?+z&?2 zd&T?Os6LnGB!#XgwWC@uE>2&BlvYAt%(!^v^*LD9Ne1mxhU+lH4 z>Anui4Nl8z{v|0+-;EqYA;SNOdgu3-<4kZ`%je=WcH5^{m9MyRi=R@mO0E5r|FVTr>A#mE4M=G48 z_`JnAk+7?H`iUlO9J%YeUgWWLUgV{F^ttB9dNi6h&je_hAYal! z-^jSxndg=(C57gz@n~O$O(eykdtmi3 z^r@UluwVbN8pJw&cE^*VL> zl%pogp*eQr@l=DJ54OwUfPYy*Z|jF&+5Z~8g>;?g54_a#2Q_LIIsFM;|M7OWIIZ|} zE7GHXlKgVIOOFGg!#EP1Q@sltr;g`u@mT#%qISNhk@%hEhsus5>Q0mFuH;7$ll5o* zW6(o3_?wZBz6kxC?|AT?e->iK%SlbtUSALV>!@Ak>T4;gc z*U}WNYLT~x*r(5J{W|Lsf<_75?(uTswU+-%@Au1p!TwdyrKUb<*Qmloc>A1OpE}Mj z$CAk!((*e4IW0dBaK}m4**(=^J&CTOmzS!>-2`H>t}mljn0mSaJ-j82^&?&9+~xa@ z%6|&qc>OX|(RQ6e`5%Cok1D@k>vt3H6)@c;^ZJeRVQ8ZMd=vRU0}=Bte@gYIt+tuk znOR@A%v2Xu9$HV5+cVCOA&8c1Dtz9Bz7L(>ehZmPpgO|QWb6iWYvs)Lm5Wqh9ChQD z{~aR2TuvON{6k1BdulxhEoWS=0DzlfalLc3dT*9GDRUNK5km*mHcap zSMtxxvNmp-8s#I~4K=ka%B+!(D4FMAbRBMm@l^``@>P|>uegDBe;ZK`#$shDXhz^|Ci&T{BtNL->$=dV^J7by+7)K616+&I|9$YEzF{E9Q+ z{d?%oP(r-MSqIBsn()W;SwVen;C-{MLgzjtuJTxLRqnQ-+aq3X;&2r|GB%g@QTY`o z8|nOtbJ=+idK`+yi^Pt&{=Xh)x*n&(t}4{=57xBe$IwN>KS9qfkYo6!J^s;lb>ncv z!z!+n{PFKA#90tCxB&tLjDIiwUbpAVl&|SaX56(u?9PS-$*=ee{ks$zz>(;*jwi)m z73IS3uKSFuD@{`IW96e`u!fq*TCnIXUj75 zHv&7Ncz+~${|jP%qTlmIZ-6r^zByjpBy;{ycghiKlOPi zNesU|)*rq0mKS+}bMYgcuXMk+yhE<^pOx5U=laU7u9tq)(eK!#68QZq?e-7I{U(Ht_diC?xp*Mj zlb${&`yHT+#6a>wc9F}>xY0g{l88& zB)@+nzmGysLgEiZAhk28;tpx~A<7p&r2h}CAA$wxAK2&q%i;4j^Z_I|spC^=$E=O} z1J6YLfPcXILg**3N^JM<$uWG>9`|ecTt9&EcmFFSf2r4B(r+nO-aw9|tz-4t?Qy^I zb#Ykw<+p{a@VyD1dqFaok#V-x>q>U)xWE4#E}9Q5hVVD~UjzM>|DBY9ez`dOH*)-r z$!44yJ~uYA07Bks)Q$4#xO2dPc(=rO2M~E0 zFe9ilvsL^E@GkK$j%XeIFWBbBe;6>W1LK|YMBqQnTw=wK`49Sh%>_As57wlrdS3K3 zsj9JRUTqy80@ImB@g4v>e`dJ6RV1TI)zrTcJF^~iP46TLe za|6UoCE$Z-MSA@!*)MSQO8tTs_?#kqFm40rR{Flj2iS@cP3ae`q#Un@EHrt9mRJ1) zmCx#kU}eFjh;lY5dd&$f{(DJ$d0psNXzmoi=d{@)_gP{o=;U{F# zKTy7|e;{^uIV?#2fLq~tD0BozqHD?i!GPnqh8~?r1Tepeyje;Eckr{y$F4v{>i51#nsi! z-#gW!=iB6aU=8(l6|1h12`xvwy!a_PA0f7EBgEYOfcM;Z!GPyD^A@x!E8C()=W?Cd(xqmKBmz9h2AR3rv);0+LCih4Rq>ugx5~H0G|63`?hn*CXdqT^nc(3xfc>iB>mf1PYL8_ev)l0i!t;ytsa1AhW(pKEdtC?pW%9qu@bm`?@V^6n1a<1q zg!NzI?HJ(vE6lgw0l#3}Jy7QVY2-Z7rGgwTTyynSagDw==qthpV=(A2wl_c`lo-X7xVDmdlsJFL!iSbu?W4+PbxOyzzd)=5 z5ryOr5+(f)B=%U0Xavem+*|o#aRx24IJc60LZFiTK>)vgXC|K`F~zBIjz2_lsYrT8 z=yEI04N@P*;@k>yU^F*K1EdM4O=<>wd(Z#tt;r9(?&koLnjAiqrJq1^_9YyIZ&JFq^7qOb0T9Idi{6Q8W&Hd&# zv^=faBF0|(gRarL{Xtif>u;c+Yd-H(r_yIT+%luF(EO6|PW|ga_^X3%h5qT5fnzE4 z4paMG^tTns&j+OJf5GsuzQcR-4nc3OAfM~PKPQkThv4;+@|=75A%CT0*LdY+yLiQS zUf~t>{i;`b@M~W2t0TPfy>Igh&pO15RDbA|&&u;kPCCQ$FHfwM9o9!ze` z^vm4%1A|99EO+AFz#ka%H(Q7pzH1!%!kpu`{Xm|6M^-)u5lm;>aq3|Fk->wYkzPQ1ZYn=>8Fj(;vm>P^((6wy0vlV0A zDc-*pvd|)bTH_&=&+3@s{bh(H)1V}OummEWgaT-Yu%8{gSH9r=;Q1EspJo3@vM2e2 zWnle2^a<1{9!mSVfT=h3|<{E~!@r)_MCvU*$-ADfOeIaix;; zxu6nar3$s9>*)rc&Gu^ka}xMcGUhO^=Y}tNJ+7_u@}Bz=bexyB+Z|rs%fEFl%+YQJ z`Ym1!Nn*a`cTu9i4;uV?>f#tkDoFaC>UVfOk}hmF2A zMg5X$#zrk7O!$7P_c`(KR`I8luWTRJ%>2Qk!^GnT-|UXx2Qy1I_#V9?bAIYS4aOfI z{1Wt*$<6-ygV!V+r#Mji{X(+;lwi*iO}-dKlD_BruJHcS4suNWJmqrrk)#Iw;Y77Y zu^ofIJ7$aL@Abb}pSy}eishA7q>aq`9flZNoc~&})B$hhxEf+D@({5fTjf-OeOkw{ z*o`f5+>vV}aW-N6pCi8u2|f=={jM*16$cNpr7`Uw2TPexJKrl=e@@os1LBVqA6t(z zQ)edolU|XMrk!)zLH!J*9x_G5N4tPMGib0mLAEx#W^pFx7ZspAQh(_P;bw%qDp3^|!>N$Oub2utSt zhUnT7xBm{Qr=BwNFQj~KJc0S6A?GSfb}psPsmnZ3<`~WkA9tPLaxe11Z@oy{SG>rk zQ$0WLc-}uZ8C~BSOLMl#X$QZNwsG?8_7L;eIw%NVajt2cDLCiywJ!K-Ckd zwH-QNaxi@HACekJe?!zE3=z zagNNy#lDZMagm{GJbxH5@u8a`9iPW5UGdNAO#E!Hr*Vso57>v+dC zpE0YctyX>0e(d6&)Qr>$2H$OUdV9k7pSWG=Mb~@&*Ymu>vU9!SpPua%eER~g^qCc2 z*;AK#CAMxXADQhi<}Zig{|?&|Qokp(JyAb5 z8OPn0QygcMGVEaCCCxgCtvC`ZAW^84IKGkw|940wB9GAWD!!|HF1}0oze+YFf7on( zUxZ$R#01B1pxf);lrQ)?>{}LJUtr&Q0sb%ngw@bSC~+LW1AJYMPjMzb#aw&}89^~7 z6r31#JaNFl%8*~KQs{cuI08~>Qha|HDT&Ar!`Dc}_hDyditk##F1~-6{C{M4`on&L z`VE41{Hfv61wIE!{i%IC|H*ec6sFNDIBtSh_QH>{7B}F{lT{OSQhyF%;>FE@>!hsP z)qfgJ++g@9Xgsus{^1X23^jtTzt0J%>?s}Ov?o*_-g5k>RNS~W`MS!^u9N=b`c;bi z!``qmRoE?Wa~Q$sV)$OrzH-hTXNi^=JvCAAQJsd#Q;t4%hURSJ<*uHoAMh>s zUzWZ3${ zW5aLDzFqk1I(NRmve>@J)m&`q;muAfU{qsM?GkyBFa5qJJf@i2#6AvS9&`BDAxy3< z-!}3O@|E&#Yi<$jmt@|r)F~e~fBct2*Q-wX!%rap1$uwnUirhZ%)?KWvmx@0*Oyp3 zX&&HGw@2xg6Bn2rGP8+eZLduYO*OUkS|-ze&im4rb0hx9s5^+G^X}40R-#VgN$RN} zfImyJZ_FqT9g#Ju)#pxHKr%ytGEs$Y9$shiJ*-6pP+An6#=l}NQya)UO z-T}Ur`IbSmLhHF<-f89rV}G4_J$qV3k$n+Kx2^2F-)Xtsa`rKKXx!~E zWZ7zt{Sn1xC)08Yu7HrFSRWcOm~xJS25PysOqo4<=4`!0k2g*~dg7$H(~kokGPX-n zU+z4v9B&SCC13SRW4I@M8#zbp4&f(_=&$(Z+^@p%lQnq+KiAKiJ#*5OIdi5TeMBt( zxLk~X)#k7rL4O!A0UCqcCaBE3+Xy01BgR2rf{rvfWGr7-`NriEy_Nc6I|76naV)f7 z#(b07DK~!nh^tNQ?CihRk1v@L`0;8hq*U!o(Wm7(Unk6(tvX&o0sgZ3qekbpn`cCM zAy##>nIrrktyi8Mt*SYES^UY`*aW4Sj~ij)ClQ?j!|sekS4T=8`aQ(3p89fdNVKCX ze>t|kMfEi~j_2x^`p?8`M%*EM#Hjp(?bFa^NFXU?9Pe@3@A-~#Jl=418Y`ruH8vK^ zQt3I-mKIh}HnqMz z?AUu2M_*+B|4dH)h}Yq{2ec0-1kyF`BlYayo56)l=gUUeh=SrQTo~C?VziA@uUKXyR^ypdMQfN6x zqI1ddv=KLP^@9+rut$6XZRMs?E_6}`?JO!z()qG`$@Nup?2kmR@-BmZ!->q|X+b~J zb+^p$jT{Ssiz7!FKf;NF3BG<>EzcL#$QzlavsSGMw>)%tl5olR3qk+U=Vyr~k30Yx z0e!Jke?k1gH=7qWoSC90AI=g$BUX6()2b##@J!-q_{w=dfd4dz*u=<5>K}+E;vbA0 z0x^ypX(RU14qE=V>K8AX7j2q3KVaWHx50`xaUqs9xGuzczue&U$n!+joj)mF@9R}m zw%W49@S68cR8+Qkg(C~H7I%}6E=;L!;T=(P7FIPy6T#8o;z$!oC>VC3%HxlGhmj~= z*N2FWGX1z(KEcBg$2xxL zv}obwQyfxxT>K+uF_Jzc$sc(mzn4JRs4PF{s(it}k&jsXdx`x&!iMCJyqDjbpxYoZ zp4rF0k++g9N%4>I{79kylQRkJ{eZ3iwDC{N=i(o+(vdGn{!+e|_B3eQT-vT{3scZX##E9Whb^>&b;Tf z%zM)Fc&10zz{;8!nK$cz^(Kex{wC-b4zTv`_48wgANHuhRNPKf8*HTfOcuujA^E;@>&&Stfj> z^BNFlS30XC*%dwC(Yy}*c~m2F1h?_L(pu&Sh$&B5#~i^x&!2g{Zx8={uywa$PP1YK}ejJ|HLw}HSTEE?%SJM2kK02>- zDtZ47`m5$I5#1h2{wVD2D2+D2H&h%}>r3ty^?2NF1OH?c@NAM>U!pHNnpe`eLRb3R z*}TrEmB>NNd(;~NYxY}X`#ab%dXhY^lVlp0($V>xhr`e3B;^o)|AF9vlM?zdkr+oG zi3N?~YtDfU7$t53$shHR+2LZFI97exkr zPf`75K4tV6>j%F~?)RG<{n3MCnLG6#)<4quWTe!jelGofG|}W{M84R+n}D z;8%!qAM8o~Xc_ST9a;ei_(UMHPN=){2g;ZD$>>ikZoI<&vt&>5N59Lj#2Ee!^_DY` z)`x3%)edJme=zzLvLq?4fZwA(gFtKH!;i)9(H~mAX~$2reA1L8ecpyK$>?DIeTW?8o(Qg6p%r&7eL+rAa!UavxG!U(z3QD0MLr5|9ytt$LA`e_`#6ya7X!KV}9r z8#>a}>oJqjCmENms&P$xt*rbDT^{Lw&Uy-iLu0-PuWD$K@(+IeF%7|PXIsUS=aR=4 z6X&r)ke7BRLXmxZl+gzA-hv!=gdcD0Fh@ooT2GFU$@P{SKWU7Z{?9>DKWRU&aL#`_ z6lS59|HQ{$!G4!#EiN@{@w~d)=7n>r7e;Fq*V$K`8GIjehVn0dwo$kK*e|m>?{@U^ zM(9>Km(Z@%zR~-x#?^8k`qm*X86;(c&fP_Pj}fn0sm`t5F9 zCRl;1`p6pJvCNi_-9y;9{eA2>Ifi+LaT(!a;xbxJ*T0#H`m74d37(temQ(y28<&xo zFB-1v!^zVhyAOniH1?$6M)<7c=Cs$js$6(NV~@4|^{a4MZF2R;n!yi8u3TN%o7nh9 z<1$F8N&RQ~{n+E76XjGwJs%^-QqSqeWmJCg0!bQ|Ax1K`#vJ=&=bN2G`Gt==J_uhP zv6}{ejjnP$wi&{!9D9b!zv1Yav!_g*J!Q@`Tb{Yc&$KdRFD`@pjz1MEVyg@hRlYpi zml!vVy?}i%W^98QkIg-P%2BeqHl8w;E6%T%-%ud&2P$36o+s`ar|YQoBu z>AXR5eZ=|pv3!X?jeQAv1NxU~|2fl7Fl;j~UlL!|*W{1<*eluZimdsMQ+Zi!!$SCddp%A|JtbtkUYDK~Sw z_G9O{wIEZpF=70loAJlEy#jta_tuU-D)yXZ%VA?%^s|*zq|+XiUA2eKFOM_#`(w>2 z5`P>sfaAcsar;AG5gsnyNiC)~eokIr<+g+R@#n)wO(`HSPT~STg>Hbv=@8{J_SK0K zwo=abJ1<;l`7}PL^4K~QtS|UAVoZW9$sZ?u{60tq0llFJl%4pX@&)I{onif#*VxCG zk>rnC$gd1CS|M=~#A()gaPeR4N5=0J9%nr;^>6Sa$Kel*TMV1T_9n_<>|MJ4jh3&c zX`^+8AswO#_Bayd~i8&ukU*PKHvBJgGxMq?sm_gk40XF$9LiH zB)=Udzu#4O7bw^MXM6s{Q$7D1CwP9tQqTX+M$f=m#0&?|fN zZZC4^8F601FG#t;wee$v{CDoH;@bXR#o>?Ha>Q^Azo?-15nlPh?`F*}n#99Ei|bi- zJcIWnHR&@!vBz;d;}?w|?D^wI(4tR3PbJo^`bC9_=i*1I&u=?^Q3`Hyb@Fw5C#Zu| z<~po{Kkjwq;ExxRf#KNW9D9uKHhxdpPp=;(_!qO}xFTre9CX%P5F5_?Ue0z9( zw@=fX{PE0DjIYxB#g1*QZ{U>znmUxHE4k(V^-F4-YxRvM%dmrtPqiF9;n&~tV-z*=554ML4STl0_GL4W*2&Vpa#PlOgg%(o<`F6&SI zGSx>=d;DLlKFa=uCNF>dMPL>kA#XG%#K};7)cKwi`q$a{%=GeHBZJlha{PE9Gw~s?Fb3%%& z`Xc>oRY!d>_fU?^^uywp>Ic5a_}8H~CC_f^hvXaR2eSd=Pl5g$%h$2Pa!yj0?PuCa z@(uJu>J0B?{Caagzkza<^qQ%eIPDEE^I)md>_7mV^q}kOUJ#C`o`oItdV3fDi%!LJ1+J1RPpS2%&@M z9c;P{#Q*PmvwJspI$3+CyWjs~=JR>C<#ykDGxO%PncW?62-o^@fTWGUA0AO>FqmJk zM8*G}{0LtRZEeTLpo|AMT>aSY>(x!aM&t$lhEMV2h5f_tH5|Fa_o7X(b-hG^3Q?7p zq~u}vK!a23@gL}Y12|aD^-LZVuP+ae!~5&tHS+*6PAq+I=m(Vt#Vhh4b_97C&Z>*y z)0N*2em!{@z8_}~2POdX<=>$ARUW{i?eP+_K+G@#FG21Xc~Sa)zyFtd-Nm`QK=>p5 zikuDi{TR`1kI4NvO~Wzlz5a(>4dO^buCN|>C#(nb!L0`URDj$AU$OQuIXN(XfT=gR z#NjnST^PSLetRevLdTa2M(uF)#PBAiqxw2x*X5j)?#Gk%i{SP3g!B`u*oL2M?&nvG zu(bM-z#71^``zLfzTS^&e|d$e86W!GjU0yEI&WS|{ewNAML>1r6-|aAWU9E>hQTLdWknG8@Bx4n*vK^5a?X`r}#p?J^)@|NVYD zpR?Hi;a0Ap+kT6TH{z4wFL`=Y_SMeIc-u(B?FWp8i9Ue#Lsxb@xpBoxc`4dIHBQp;8rKhk-p>5&4jos5myk;Ne-50Y8(vfX zJNWhc=RVG21&5QN^h*N$L$++h{$BsEKYXjf;f@eR%vjm|H=K~cv(x_Bz@1p{;im&) zjo$+6A;3D|uRd4l+a~9a!KD^$U*>N{WCBCwREp(8==k#S0yG8z-%vVl@GC(x)^tQa zfCnn2B+!3-xT}%=leD1>t5V%^ax#7Q2`)-MP6$i@R378$(@n@@0&%#Z0luWhrP_H= zXuEg7>KtIc;Ov=wQ@nmVzX;C7KuH*HJUuDn{zH9!)0lP7lyuwvIzE-2Z}-H)RY30u zr6>B|8uy+2gzn;aiJL_!(z_ZjOY9~7HJSJkWD7=I4!r8PBi9JE0P>P(KUs16h#Anz zGjtE%4iB>pP5Zao_KMhpzF@k_lUHKD5hho~&S}Uhj{P3bfVe-P@+$4LGyf~mdYOJ( zXLwindl}N_0_V%QPW{v)yMXqKjQdxh@mt^$r6YJ#FONdcmq&b_5zNkyxK`AB*4&a^!uV2wtBXgAjb_(fJY(ww&IUzB68vE6=aN4hLLmIn2a+%gc?Rq3m z?wP+bQt0^o{|+>W`$yI(9qIpgY_3v(oF}m!1>*FtQjp0`Pnb z^FRD_H?H4a9cq*Loz~LE*hGo(r<<8oEvsp%A%2haH?#I5f9LhL*pzKTPsZ`7ct0@L z=ldKD2DHDEviBoT5{%wBeHYX}1kRB&J?uZh>-Qht*~p`SUxo2ndQ8qq38)tYuRl(u zpRm>=uQ2!X>-W@Tk)1YCLsyKG-;udiint zR%qP`Jg4+J`1SkmcFx`pJTCv3l0g3rcHB{}*MA}-Zx{^j$S>%-^MK1aK|coTzYSnu zeF-DQrM29VL{Fo>4%9ol^<SwFQOwtl>HsI+*JyGDV~zvq z*X62HJUQ$Ows0Jd+3$A&Ao@d+VJe5F-|Gz)?e|Z(zYWm$-}JDb1+U-FpTf)c!23O+ z6*bFN{e}AJX$$w0}N>Hc~fAdtU36viS(5=F&nmvn{O$pWcDWq50bs0;+64Stu81z((u>H~UX1Di zo_zHO+v^6CJBlQ8e=5@-nRX-y)p09&GIjFRVQ8s*eGYBW{h!LY9*%#(>&w#@;JlkU z(yrj8L~W%$RzJyqQo3zFqrW=1RQxjO|9?OOt2bJPeN_BAY6~1tyV3OBXtnwY;TQRO ziXI@g9*qYzdOyVFl6(fa%k zl2d?eIh9&{qICTJ-vNzDzyhVyBRj8neSLy19z72zQM?`edUk&Fc+SoO3gjPCx|OF$ z|9p)*TfP3lDvw@aFu0>}wg$Wl{ErjjFr}e?$_*{)A0)sXy#_c=&ZW42gpSug`^cDC z1)QLCB}Js9qQ?@is-DHF`ck2+c;o3ck^gvk zpzicXq+Y)KV=G28&oTNsr5CG@ z_m=$}{X@?F62M0u{b%5Ip%7iV<@b87m&t=neDFhnb--Wo!;$9LxR+jXNB3Iw)pXA6!GiNpWHKEf( zc@(_9Jnjk3t-wcNyz%6&XYwfY#QuuDlAHy-AX-tzH9unUMGBZ9AN>~a8ULym;Ens8 z<{#1K(rc>K)xHxYjlLEPeK^;>e-P0}`*KgV*PqyoF%kk%+%ag_K{o>raI`;=K7EAb zY0-85HOYwH_>)F{c z2Xb~KAOpfH-Qth*%YNKha2E-7$+u4_5;X;5-0GW50OXK>I~xV;QhQs$%Sf ztRpb%(R$cVLdWkXscRjuTIpE!c1#&(za?iqxrjGjyX(J5`|c06D`?-RK}T+QOp79B z2Rl6YAHWlwI1mW?G4Dm}8E&3A0zhU0)gI=#+4(#hEE2&eb0E1lkVv^%~3_E)F( zJ$X*=`z$}p&`8~Ha&a>pYteoc`Nd9-IbTloupb4l-;el)V=95)hVdpp-UP2d-URQj zfvXj72fzM!!)}gY=D^M=B{1F&;Lb-pc_7z3<|e@}dhiykD86lGBS#V->{K3-vUh&A zO8Y}(@gCqlp`PM#Cb<#6f259g0p7d-|9F1wn7?sWls+Ya_Cwo^-2)`Q$6A~Y2F(jd z`*qNEIANLhfbSqcazTps?UvA5zSt*IXay}zYyDghe8fuBG(be;kSKEm_musYO)sCpG`khM8_alZti=5%u zzIt5;zrOsx#y@25$HJLk66im&r(@@M{r3a*_cA!#vBYvN^D6FWP7DLW{r7rw|Jie( z$?2uB0}V|b2jmsU9tMn%bJ~AayY@^^DILH6$S;j0{vJD3>1g~Nv1^7O==aDERC<2@ zk>41LM?N-3>2>hy_1{?Ofib`gpDJ{N+p~kXv)SvvGuU5Zu()H(=(}$NqTmk(!u|JF z=l;{h=3J9x|K%H++JEE;#vTEv#qME$30}Xyh@Z!10c(Vo;UU6S9^euhohtQPWU}`+P>0d6nzi$T=3&lNpbZhMZaP14}kP>xL@PH=VkCIzi~4A zjc_v0{+Husl41DuyUvi2#Fb~$n;C79SCogj)xu||cRM+c$cic*_-VI1d zu_vH%wb?r$+cWlUfcYnp8F{z$xGF%Sf3ERL68uOLQ^Xe;vJs4aUTd7haUFo97J38P z4*}=B(_@du-2oe4f#TVtA=~_nM_594oQMAWMcVB{6@iz&yky5ly4D?cJ#aH{J8)NY z1M7QB21K8W9I3p$V7<3QFz3{^)t|tNQmk(y#9o)x)pau8@JR%pd2jK!R;B2UyUJ|G z&qHe-3$Mig<2K2;D7}P~1Re)M&tBK0kn=P{v!-5d8h+cSZS02#~@V5%OB zS`Q_5u!~B{^&6Z$+^3yAhWy^yW8X8J0Yx1ke!v;hYqPWad)J`L&Uf}Kx{(XhR06k8 zq&;jqdYFKl}i60}7w2pr7Vf=Kqi}=qfNyxiYlcILKrVm$H;o>NdH>l*yy{;Ss(fqEa1ppZ zs^2Vp5&G~kzFo1oLN@%;Ez9zE&j585NjUB8MzKLqV(wKL=1IucyX$ZBhYHFzsWz{s-XRWGf zZOalohaJ`sF*8x-$it-X_Ex)M@nhQ=X`A%;IpbfmNbbVB>gQxT?&&%Q5mk{jPTz@h zoIxK~r!4NyUl*!vZ>w)=tZ1ugYi~90W;6cHcw(6Gn}Jt=x0Me!>v+e_B9@)BoS`hP zcif`+tJfleGCqb%?EhJ@|6`ZN-|O_>?_p=iKKahT+dgy#ZM@TQfBK1&`Soj@K6_4c z`i^dK24~A8S{jP#lTQBB`16#Ma3;mgIth3kPTvJIzK@b~q|uD?WWNJp%d`4Z%s`C~ z>r*x0!UscEi|mTtve&n(KQOzNFRs?N&Gq@|@;z=9c;sNc@nG7JHrL+cfn2KCByN&O%r6Gdr1IF@B7;m)tF~G27er*DWV> z0zeMz_LBZd+jk(c@*qpBoK$e}+5zh$c7W*zOZ=EnFxOf{Ze#SoQSBfaE(C^Y281(#iNe62DHq`-_CTw42~`vs!_l z1J@Z0^1B25nnBLzK=SeO{Z9E-gj|>VTgNT@+JJq7#7JVvzxUM_^;Xz>we)yik|-}E8E*bt(8sQDg9uo=a+A$=l&a!+wtAprFz!7KC8Ryu?zbn z?FZuf@Xb{DQh~e$Su%*e7D;Qrn!M!%)6Q-dX%mV&fgI}uIGI4KJweU9t&c_80_#Q9 zPqFV~w&hj*+#f^dSRsvan$W~na&%7ulH7=!w-mknVmFP;y@B~ue@FT9WKL{S-`~N` z8qiSO3E$=SJ>Ww?j7lbunt42>i{6`n@1gT}FR*_y=qc_5k`5XD0HG%?hvt=}U3Zpu z3~smZ?L_GhAheR;4=T1B<>Nw7U z`cIv{lNzhXDzu$Q5fwGAYMLu(68%oVEFTKTatN+F;%=U^?ffSumy<*{t(lhi^dinxJH@UHqv)19H^eu^XPC+%2= zem*Vj^Rf$ST0^DnZO!d%eA2un)XKLIqCYgT!;F(vjEP3z1mHW-4X*xkIHeW+AM(DD zdTg@%t_7jS(5m{jico7SUBu!1v{pEyp5liRqbGKgpI?^^?wl&bdNI6p#eZgs9H>fEd@fe$poD@mPYD z2UlRe)o)ThZNKSK*!wYPDDK27_`M4FBOt~&Y~On_?;4?t{-1cK=Qnk*PqsjcJ5d7t zdw~Z4F}e}I$@=d67XA>hSoMWFc~5dzsk`omfh)emEkP*y2$s9d~E)8 zgo^GYQxA8d3{{5iB(lDfo&d;bOe&I7iOFxQov`~~?Zmm@)qEX;Xi_!!j{%McWN^o| z6Ox~MzjI{+^QHPj`SAKoEDsY;dvF*SlBKqX)fYxs}!AHyOLoeol zpR|A!chXPz{U`7wAo+oCyY@JKR=U1DAUDyk6ms5Fi#zE?XuS`73P{|p?YfyAX=Lod zBxX@2eG@ni;0cyV%!y38mH(_l93tP#cI8`uvQAXi#4vB7u{Jg&?Ij8M7SW}seI&m> ziI822JL&J(MiRmqdvhdXO#30B_+8tZJ2ieL_cn>hb&|-_11dLGo?eeXZEj!LP~W;H z)RLh7h>hEoF5_0|9tpkYfK9;D_BxwMQrpL1k7Du%JTR-8v!rHi$U7gfzUhhYCLeCN z*wueMJJ{!5-~RbqQRIV|W9&CNb>9mt57pEySZ~tZ-uD3~ALzJ~hXIEIqoZ3>{UH(U zxJBgxJJQ%lq9>=he!RhM=AB<+e-R`o?qr$hzXZ4v5S5;KyE)nO4b*P_86<1;5l!f(tP*j{~W-n@ZQVn`Mw&0U3%r`D}jQ0X_oa z+0Dt5xhNMX2gsgG{tlo~KR0+K3HcJyp{U*Z2N;hu$L?hMSLYXoa3XBCHt=0xZ1G{l zay+{s>r^H8Eiqju8*cEV_BU|-IwW$}_J#qGQ0EnnZvt)uZcw@TLe_&C{!AXafyI?F zR`c-s7p#}nnStr4{)n}oN(ySx}pT@V!mu;u7fSs{QkevnW$nf3>i1JUJomRTo z=_%-JwbL)N@8x{lDPlyQ0GI_{KOpal>|%_@P%K}5c6J53gKN|{0DPWd6c%f{&sA@PufO}E_K}L z%tp^<7JN>~ap#}OTF+yw3)8e4+mGq-7p8taP3-?4qxJlS%yGZ)2uJ*dW~a|TE1f=h z=cdeGC~c`-6Jn*ZPLx(RwHzn!X7StvFYcZ?z;UPIKTiD`aA0&}s9zv1dfa04OvKKQ zk4w!P*Bz1Tvbwr1t{*T(rkqfOQ;p7ar~b-urxBA+JqS2V{<7syq$IHZQ$IJ>53uD- z{ebhKlO=TU1E%5!WZ-aTh#~3^#PtI@@MqrcqLSPbm_OCe%8zaTuY`?pprN=^vHuwa zml-EJRNKzb$&|G~zil zu;gbY))YH76_|Dl2+~{vx4X`>!j%^FKZro5t_7OpRFu4}_UfIm|Do+``yYAWmu{rE zQ-4g`(j*!8aWn`B_iH@=gLajeUHpNmt+XZHQZ~`{^uIXnjEe+cdQ0GTjmWd@{~!fZ zeg9|b#nc&}GUHWP9t_0#KU0TuHU5vtjMR0ijLyrW>z4#Sw*PZK7|RSscj_PD<#Psr zbd>ag_CrGckFQTO&&|xl)Y|}_a+~@W6F*q~iHzHi>q4!yE%h4NdDRMBpP0CPM~A8` zv76`*rH>Ci^+AAK#nk&XFY&+nI*&|vqtCOv2^XPIV?jgHiFu(DLJdvLp%yRY9+;m9 z{azmZqoDgF@EmZj(%IS)l6la&@=$G4OI_3p?*h~5y54k~*86Day$ZYqysYj1Nezp7 zRyT%1MRh5lgFGvpW5E9jz?}Zn|0td9^0ZyMx~`r2yOX`6|AWMZvGt8T290zk8?%k{ z19Gl>)}SSbCZ>MLb`LYJ66tTh69TtO1V2%V;$I2gp}^Mx*VMbAW@V^BWh^k>*m_0i z5E>~RG~Tp>0kp!jZ)iQXSoM%aTC{u$==E{>HfO^;_Hf!X+U)~ii+*QD9Dq!Yt_L;( zn}HXAceoOVVcI}oKVYO*eWyQx`Ro9VD5Tw;zQ<1i#C}@%)8l_nJ8P%R?=pX?|2@+g zI?eZMBmVa~$DR2zXTYZ^eD1n&HJ?XW%TmSM_SUwhwFUK|hPqa>iqUt&JwJTfcj!gD zqp2U!qt(&Psebs-=yQ=H&Cfj*@vq0{?}RG1#a^G)-SwJ}n`V4Jcbb{YaHqYAmmy>P z9N+@sCb0bKxQ_L^ZTV8a`vUN)_aejSGVmV-h=U}~LtMXG?D8w!REB#4^Qr!d@@4zq zzlWXQfQI5u`!m1i0Y3x8iBSI_CH}Y46@Bxd=YM0rru_*L6nEO){9X$PeMt=k^1p-o zExSR&^T^fzWljIIhk<`VD$4(zcE23c?g{(9T0hZZ6kT7E5B{gku{%xjivI>)1W@*o zc8%x%2CY}5KShKny1uajx_6pmciQ{xeCCM16n~y<+RwQ9DuDIs;%85L36M!Ot0W;` zw*R>aj2jI)cN)HD#@B#vaKf0H1msukr9ZCJUe+;YvHRIrrR+V8UDoHOm7M9v!yFEXJQFXJ$(WeA%w-|cqv3J?^hO1ruH*D{Gn-aEn zJI-X>o}2b{`}y^at!<(DMw#+dn`h>uvRU(!jUSr58fc7eWwm#EMW2ftb()WgsC*vs z2{qP*Lb)v=f(m12JI_aTcfH70r}?OClN)ohE0hyA`x$58>tr#qn*p_nc3wcFCoy@B zwTHI+sXb)wD|>^`#vW#$&Q@&VUBFK5;Y;0Amiq(qsrpm-@?=QHc3-q%_IE);akDSy z_X*%xpj&&mfqYOK`5|;MQGx9W)yOwk8lFm?>Eank&Dg-t_H|?W&a0w&D`z(CehEfJ^m*c#m%C) z+3&*3w}22w$=PFXT=%>1m!LqNrps_9Uy%Ko_M4qA5I^$0P}rIGm7B5KR^BMa9&%T7 z{2$am>VPAWfZd&b7oLH3V@zg$z_C|MKFJ&ZeNK6t)4kz;5Lb~$$o?c~JEzB9PdCX0 zpV?h@tM+=9Gqh4fU5ck`*=u$(Z#>({T=Hhh=7)0H>*_;|wV_UHNQAJl)6>i7V^&E| zXKnEG!_XH+w6D#Re5;Xic33F)0<+i%j)X7Si8Id+d)Qg;)mD{S=GWw zVwOlERNqQ>W-5he%zF%`4^@=z^o8E`A=>G6pcPmr=WM?~q%`O_G2=YeFR8A-Dsz3b)Y{k(N=T(NX=qQ87TBo9VrE?<(=1ctm<-_&^(7@AAg&f75F7faw!1n=B z?x~B5m9FT`>pVLwZGAo@DDLzt_`MML9Uw|v?S;tA&gP|p>qp|^>AwaoMeQ)p(@ZDx zH(l*RR6k$iwR^&GvDVMF!-e3-=aAw~-^lM>z-B=FjBva5I4)MYwjGu+FU?4Cr~jMZ z*8z!-#r|u%`b-c}PCp6wA@FP9F95c9x;TPXNkYDCJNy6`FEi-e={TP9u2p&VA<1*kynKu^c;!tg zv)l5}T!`1UR)lI;;Za1$yDpqg_U!fy^u~-O0PD+UERSwewcDhX;ujsKtYZv6PZ5Wj z+!=cv>pVMgrPsyUZOtdo=%>`(8D3s_#!Y137sD%l#*CxQef&x*V%S7V0_zX;hhy!g zEoW*se-2h%??v7a-3?%B^b*!R~R%wXL?udf5&faW0K1W^AWW%hH%_drQe z`}riae+j5fwe`&mEV|N7*nVpLZ2P$o{Nff++!7esdR1oxeRh= z300wcJ2dM62~vb+to@u(!$o+Ew2rLVaA*7x_`BR2DM`qeZ9g9b;|~oscgB72LPzvE zn-ju|wnK0~$QzM@P1XkWS_f_-?-@@4k7~btQZGuWs+H+4otNEO&r35{QXq3-H7grJ z+!?q&I-ad~x5L*6YzLhFwlD$RmjHah8UN~XT|?0Nb*AUX#RGouwlm-dV!fY{x|?F+ zVsBiTdFc>WeC!N3gV=b+3u?DNqVBp1FY=!9@clvgdNN#Z>W#51!m5VkjH zsU7lXcq{(?2enN+HyM%#2IL78{XZz(&h6p%|L#uz{4>Et`_Ci-o4FtL-D=j4$n!3_ zHElHwO{*&!YnofvG__UM>m!>c90fZN)4zb3$eI16W~NyE!Z^_Rk5yc8 z7%+;fFG_*@?dc4zy%B1}1v4iB*+7=c-v=uH3)<@&>iiy00XOz#OIb zvC3CSA20IjpM1Oe{fkek^cYt&i3es51qSQ72eICn^tNb~XMlGBJX_k|ojD8`1Iz&M zLS`P}G1SE-aJxjteP3tL+bcjPvXADRDgAnsX$Nh0^O|#yUSRyOa=sY^qCxvOgWj15 z6a)BiwRlzW>XaV;c;+Ur8oT&L{o~oJyExRVNLXL-o=vy;S@JfkQsy5=COzzR7y8zw zSU-8@we;qn>DeaW_~=GfKY5?%bCDyRhkDxblXpT@?uxy>i**;urCz_m8C;BJXU1vp z^9yLBx1GN8j)B|DHOJL^$9qoS3F9ODqSQq(`kpPMxR7$j$G|9lq2lk?BDex84>>o2Oo&(x9>ch(qw9|fKQ!g(gq z%Xa*+fqXBkrR3QsS^q0*Fl63Ga!&ZoX)j60kslXOtsxK5pI;g#-C1+kk(}D60LIqH zQN-@JGpW~1vA&bX^nLBp8!I@qP?kx1$tWr~Z5jJscfbmPXw=gV1Ct(D}S~fm;M%ZDDJGc_+9Kz_&?GQj8@IRuBTnT z2b=+v*!~sQyR%O=_yYIy|A~J!`|0Rf?y5(=f3-hjT}!lo^@FtgS5Xfd7qQm1h6O$1 zX6-QJW)l*y8F&(SA-a{-zu7nXT;wR$KjHcAx=@QeLGFD8GNfeR4 z7s#p1M_c|8&wVF$e_a1&_F2lIJA0$q&Y8{I4)&sMF9NU0xv24ilqDwjvHp!Mr|RGQ z3OZYb4*t#TPuZRW+yaR46P>Pl&;H)A@oxfGJ}|%P-za~!fAdG!@@&03N6g&AfFx?f zNQUihkMk5t7yo9?L7so}Hv69acjw6D@|%D#BF0edZmd5edQLc}A?H*l&`;{m%<(e) z>d%mYo^vp8DA=O7ZTH+KW$kFjq?PtI8j?l$0*D7M`> zr$!yeInejQZ0_V=MDw>kqAXQK;!y0k3jKIf0{+C#F@_z8o%s(k&eD@FnWHgZoaWiZ zPN_Yg;|$&JzaHZed%lkTI{p8^o+H?uEUcY3QM*3p9%S`F;4vV^mr}dFUsnyUcKJa& zZy|!!iDJ&`)h(gb%oVrhw61TgjTrXW`;A>s;QqLFea>mhuRG_jW;++pbuJmtInM$w z$~oJvi?k&+-ec{$Ew5_Ve+`{?gpQb_57@2&&IiN@bZOWBt4>Xz$_M6mqs*r(f1d1# zjq7_I=OkT0ap#JmxC)STw{O?k)q<3oxZmH({C|(_z48NJbH{o1{vGx`{@l5TLHSSc`x{4qf3~6N&XxG{ZQw&7HU5Uu6Vah)p5kB76Ssom&MjjYP~k4WyD{fw z`s!0Iq_5^;|L5kKJMG^D+E<30XFv428?5A*`%Rz*SfTcQtJ-^SoE6n+ej%uT6=Uzy zWB=wpVb^`v-S_QZ?{9c@h_-*}|ISmzT0XSI8l{@N`qtW}6GAQP3+fx%yk|#+C*!Zp zy$sp719%*GHoCpl{^9w@FXnsJmi_BYu{gvBI%``akHtiPa?0Qp{dLu4PTz(9aR%ia z?6}XCJN>qu=JbAlqBG#g`<*^J@}2&Nj*ibmD$d5%BWqW!M_hkkZmqVFJNH7foi_`s z@H6`QdEjL^7o~R@eS!6j>VsH+z#hNq4-o0heNX71oaTPahPm2|Mvf)^5@XOQ&fkQc z{a50h5SVX`6O~WfFZdJeso#R$o`*uu_&#tJ{7JrBsVF&^M>Z=t`>XZy?61yW;D62=EBK{d zv#8sBfEcNMK)79dJb$5deLMUMupbFI-ww~qfhL`s@ewp7;i2uinH_Ngi2LWV0(9qo`j%?r@%;hnQDP=TrY)a$*3W?GV%scj!>^?4+(gSOaeS zoOwqB%guPQ^8PYTzie-55LPIG>k(t`O}^Y8H;?l`-)%Y#!m=E zQRzW_w?IcmCW>obGk79=?B?{%_*B^7pEH3U1E-sMHV6a8?CAw5qJL@>edJu*|7_@@ zU*}x{wCVHQULI>6vq|&t`rzB0cPj7`j~Q!|tQ@4r@0+JK!eVb1-SzywA)oxrtAI$5 z7JX01Icd*(ENg1#WwqYyTV(!XUI$XZjOaY#&3O|3SVjH31FREKySm=;8OzV}D6~qd zE{;PNdwo`S*T?l+=3S~xxbvPg+xaVb6Z7xk{bOLeoU{EFk)Fil+45UNKUwn(N>A`p zl#ahuzrmJM^>2OyU*aN&nwT%TTzrPh05L{l!&N`M)^#HU<~u^)lPS$-Tu*y^0U3%r zpS1z{{q;N9iYidM(v{z`fxN*F$s6#zjI52Dg@kDCTjEh|VGyLTBvEhtruliE-$cfJ z{?`qA?)+Koh)?khASONae$)I3prxqagzr4R09YtzY&o1iUyc!&gy%_Au57<)G59M4 zzx3-eem_UV#Agc6TS&k5*l$w0w%(& z0KBgGYvtZZNur-^zv)ph&M?^A`EBqr4=Ch>j4hS#g#0FN{K{M1rMUC4j`M#2oD$b> z`s@UwPH|cS*CW<%(meD0^Ps^j&-{y(uK(lC|DC_v)z++ckDV9s^hvb-mGqXQ@$8+! z=R@LRVirW@+F~k7&eubyLp>w0+vp?pN6;qonKzw}UpD_5d;P?GR#waxrASdf=_9XQ zc}agGovP;p_G5bdj~s6v)bO(F{;K~m*U5bPS6&@FTfq^}Pft6>>3_|8DSJMoIJ9YjtTzjO!ZR#8jNFrrp8pZB&2e*NxLQU14&vbWMaSEVmfsPN8n?z?m(|sE zv3|w|Y~MU=AM3?fY2dLgx^ngDTG%&NNL3V0b&S_CWm?)o0dwPdczW?{v|~ z+!L6;2tS^Tsy}lBYzzYp#m$)tFXsY31ppo}{d)zOk(}e_eBZOQ?tMZCCn?U#0&~=rX^W^9um` zA44yvwzj1mdZIsGS3dH2%Xrg?<*a&>2@1niaQzXfe=m>z1JFf-=WGOiZ{n_oru8)q zZR^WgnpU^eto2Qmyn;V)KgRlV5xR^o&A-({PiQmumvf(~pGP-ZP3oKfQ$QE_R=USR z?-`&2xJBu{E1x}RI?*)cf|>?d#At-g=n?xn#6jh(>-rVab!JyeDl5*rV8bBBs)GY|J*&@4b!YaNfXH_XP$4 zdwBiM^ZFhG-og+6RRJleKOvab|6%BTgStNjJg)7%mG9uyx5yhI3~}K*+5QcBU!*;7 z6GW4;RMA~97MKW(Q2H-7^4QYS_L_$JRqM$L8|LJ(9+{dnl9@E05&DG1O8+hB&IWRT zY{mPEygxw|ojyf`8jw}>9E>?2EQlL=jKYx5o-Mta9AhfEf zg|AQ25GklXX(!bO$3gc<;25CVjEngCPrgl&0=fe|x((1n2QFv?R;fI0SsN7^q=?=i zub9_Sqj(hKO&cIcxoI!hj>h!DEl7wGu^tmWFYd;qq#01p?6dqD7|9j(|px-SeKu@mHTj5 zzQ`}BVvqmQR?S6=o;8y`+D(vA(Y!W5oZa|3cz`X#45< z`p3GHpJA)y_F;bK2_DVk<+8>g7b}tbZJ#vz-wp5YWJlLIZ;H)dcV6F99$M8BYF$%V z(|VkF?@)eY`&uM#$0gM3+Ti)@fS3cV^UozaWXZ3{(*;gs%${MY?dG24*WVjH5-@1{ zZ&Ud#T_wkx`SYnR`+b<#GvSu^ga?l0t=ohQmANtUquZUG6BD~Z3{ z4cs4*JK{?zlGE>Z6#rJ4V>kC2v%|$+;aJxl^k%0ISAHEB36uaEfZqbw1DpIC<$CUY zqT6$W;$0 zs-5qEe;H>9&+n=JC4QBn?Rqr$|7DKd+(*q$bh`>2`+Y6J>mxmC?6{FtIcCl>msL)= z&no|R9zf`9E3YakDJm(1kEHd4;IZ+F{sgf8FhQ@Z3j@=gHA2In2B_1hL9)v3Ob`=yP< z&*{f~Xob8pfbXP$uRT1xdxCE|Fb|lfe0+k8R8;1aSLWv>O(#~KBlX$SqbqW<5GV!m zP28JPlCxw*MNvgWM$TGN&THa#3kfi7o-GC@!j~(1D#Y zKJ>lAdH+-C8n^)qNpbTp1e$n3heYLEV{wgiWE2^k0FIrF~qnZ7j1)@=USii32xxdHH0Qk5R zxEi=v`)jKwPZ4oWzJ0rCl?%)BD;Ab6$%|Nol*w~s zTo3g47zBOnf8IZVjYiK^RORO8S5(jiX`nmEqdORS%n#*}*UdBU-+e#Q{#9k{i(N_9 zj&$ArgFX6;xV)DE8G+_~yYG}%Rpyo!=P%1yQkBoJ&=HYhIh6dBq=|;X#hIzm0fxim ze$$gz5e@iND4JK9=L}sT8e57)5L$MuLw~0Kxu%?zgy=Q3vhuX4wZ5&1=bD-tc0 zj(4J}re|Yg}K8--$PTwmf?`4o@CFL0n zS#KzF^mcs7U1=$S+czRt%nwVE*nP-jRQt!~*v%JtdK>r<*b@lL)n`e(rz}EGM1-RG zwM(G4R*potekVIpXksn0yO|$pe7wl~S-@go6~Jo9d|7Z4Qv%mt?Ws4eIC_01teATZt-`;{I&o&S1FwRh1&PfurlzoSzH);RsEj&b^IJtSr802kEo zk&~8+w)GAA#w0`02)T6$u@7Aqb@MFgiW8*ujXZRhr|?{0@4ajdBaT0m;o?5&GiyTY5+Nl=BqX4{wED()n-Yi=kMM?Tt_T?0kRSe!(F& zQIDYED^C6!J$PWg;|@E|aSx#-$1)R|MMgmKZt=#gk2+Ob?VrH;_X5@|NYVV|fz*E- zkR@ld|Gw;L{$26YznXuq1NRs}*Vftj_X2E2!DOKd-3}VK+x)xsm$6@NL7Cp@77W%c zsEW*v5e~n3@!)`S7KV71T2&bHcLuf*oxtszT}U5d%m2hX!x7&Moz zeuF_}@NHq^+3y0$?Y>CseF@diGfTpBm_iEu^>w7nmI`_6o;#9zFkKF2XL;ZZ4d= z1=!>QvIGS;_&3V++?#M7UE3dfTyVALZ+^gjp~31FT;ij*`3maKs$U70TGX$63EY1G z{wSxS+W87OhDgGGrSdN>6Ghu~CHQYO$8N#xW(VY6;aKTd{&HY{L;V<~$8>|*FVWwd z0M=g={3EJ9e}|6Pk&kjpN=QxT<`?IeR2pVd7OzL<6Z@{d1rDGoB|UynA#0kx3Pt^( z`Od(}Iwxz_NaBft|2UcZ@Cf$3`#3`mIo#>@pVOSow%N|$8-8wInVx;)AHji?%pAj? zTZms!_zplWrf_fht7ra@-H+-IT?XD^f)_nh7}xKRacTKOX8a^O@2~V3H-!bB-@`hG z!f*KWCz_q;@v8n<9KT2OP+-5KaD+jveg|3OLe>Qqs--h}r>B00;`jZI5V%<}UZ`$? z?RONC4KG|^I0@!=XnT2nN8!3jXI5AKfyz}&5$QdkUK^;5JT@KXwZVvWty zO)cHRGyLk(^jd^p?T4QFDTUuPs8w!Qc&F#5 ze8~PXgVim(*+*~lm5`qTms-?Mc^TXrfxG3DZPyENC`>yytvuG;5HNmF{%t>n*rf1b zgTgKRmxn8=T}6J9_EVIeZ%0JmJ_|^_o;Gr6&0h$e&-2U6OHDd1b^Zx>t?wv=tEhgI z@|WR_rC#v$KKuA?g-=H5%l~jj{2WTse06ZM1p2!}fxK3sg_EO-EkKZJr%yncA?LT+3Itr2SuNY92tKrA|F|Csfiqsx^)+tdb$gzDF%1pjgDKy zI)sIbfKoYU>l5ki!10HU)5v_e(bu-Ts6TfFbdC@@4ElvfA^9-0+t)ajxq`lcj(_X@ z7V3w*-9@G3`k;DL?WFSK^|k2IzSMuA=cc#|*TTzKK>WNRK&IeV|1PpFkyBcdpo<<^ zh^MaW!B{`E&{NUwLd@fCboy?xIAJItZK3U8=hwA;t@k8tU@ieKPS&gClM9!4TWs0F z7RO!mfwGv^pTPC+K)VT7TGW2M!tpPGU(2Z|c{|^$cfxVD_N!=7ipJUaxC@EerML@! zPun&DCvvoxoB>SxTJI@KT#kG{MCMD-+6&i%mf|kF4O-Ht;s{Alq;e#F$Q}TG$U@eJ zEW~q>zFK$@AQNUWC4u&pp=9*(z@m#l!@8w~{{S8U?pFDIKh)U5V~hII{xy>QZU{bZ zV&zWlqd$(s?;E%lI;@0Qcrx&q(u=o_PR5bJ z_d2i{c-iO;YkYL#8~U%C@1<6@)HJp-Da(T}i<;V7SV7#H3?Inb>?O4K;m{`owor8V z7Ol^#k>_lTk=6%mmen-0hg!XU4qWd}^-$F*{f+!-`!}M)`$PK$wtJeqj(MKR1Sy7K zm;Ivc-x6wI5qe#2Q%iGG3wws^9`@57&fwE$LLI$Vv@iU<$aXKS_Y2I4$Mk^ks^5v` zb!2Or>JsS>Z3$Xq@DG*)$3Z3288S_y5acT&H~6?KIA>+yizE5d|R+@e*0NWx0>AKs{GZEdQpHzLlb$ZOm3LTxqm@}xoF zddAY#=M0LN%`ZX^6`kU^#~7c=&_C62)Nh-h{KWZDx-Uokw(+K6I3es=?_HPiXce| zy06yOG?s^IL%b!ijQ0~WYs}MsYn#MyB&^3H^agqKz73tf0viGIJp4Nry%<8twnKX2 zz(rrBe0z@5=L1hFbOz7}$QozR*N%4jefP&Hivy#+*%XfdZY4YAF2aXfvik zsz-)dC*tlh`lI51qxUTR5=C9~0XMu6`JeAO@FGT8tR~XU|FQZ+3Y za&J2XzL}bk`}mOvOKOCaBqq19@uMwg8n4|1)GL5JDDI-k{?2rEB(V7@Ai>8hK<&OYAHgXt+78dJ4z)$Kv;XC; z$UDbXKPLR#)uK^`is3nJA&QB^V%NL)D(^9 zuY}G7Ig&J+{&3W7pnlJ}bu=+E@H- zDPE3)_HU*i)}{SDuAQeda`{SJ)7tuz{uqs?-yi-_+WBF`o6+@B6@RtfSTupcuZB_yI}csx6&^b zo;dIE@6>{E@x;~Bi;h&j-9?w1?czh70ej$+FS;LiNX|v+>5Uu*)r&&!^GBC_w+XzDB;J^T`8N7|BjmlYq4q>%;Bn4T+(qy5`#$gy zAgP*6!07Xy=KmIL1Ql`cVq#Fu|B)|P^cLqR?xHW@2~(-xU6Dx`i6%{c%35Em?QZ2a zg7#O3^pyuCRg%7e&i~9+6TMibZ*_Cd>`8TbfXnBg}--y2!OX`c_F2*s)m;{J& zlBu{z{gTbUDLoM-irBm%k5k8O=Ga|416pN(Bz6gwJLTUNJ;K#5Ypb}62f^S0=1%)p z)?4sBJ^99syjx%16D#jl)Ah#j@^$vTsn`!J*Bv^8(6$R`*R!m zmXE1O%n}%Hth{w_v$5m-vM)iKFk`S7|H>~W&!YXp_|o{2?B?QSwDRX{D|8%vM2e?b zGEJ4dXUW_dl%Mq2|HVJ?`QNp-zWtx#`KG>(qrcBYucrS!?)nX7UJ%txWNf}etMS5O zV~2WwVAf!`i*i(hBwG2kUY>`vI8$9r#R(0WDs)3-mrV9I4RbT>hQ;w~0L1Y}5ui~Vr{ zT`wz*ES8r{*y29}cLC1<1J{1N#9(jon$x>+5P(hqywIzo<=7zSkd5 zO1BMqhXNx3cgGtLlL!^5UosHzYhs#oyKg(a&7HX^u)oC=TkyIqC<9RzI|E#pfmBNEe80IpW5o&C!ukl069U50I zIT48?ue;<_;LPX_*0}P}=yQ=Hl}{_rKfZHq_2Ss;vbwrX%h*S5DdXSfn(uaT6OC+H$V;_-g3ryg&AMi8ugNz-pjNdo1(D?{%(ZV7^oj zDj%L~YTS1VomD4f&S3AZ^;dMllczF>yW%3_^0C8!mqT5bi`ereool_YW;RIG&Js81GfK|V|U4a z+1Ute0#XzADLvorK1JMzKe6Oi&{NzcqWUG*@EXtuPyrG^f{!_k_;v zQTFa#&TQ`)z4X|-;-xXoyo(-s_HO9Xm0krrox)MGGvr`;<-5nH%-$_%XsSJ~b`4*s zBi*>Fes$@}V?(uVp3O7%rZ^utAQCSw1;Xif!<*Wh!@6o{mB$yXJZ5}qM*myaWp#C3 zTzgY2!;qm_JjdJK?YJcs9P@l&@weohZEr+M5*sJ6_QsYowKvy5XN}O20n@++TazKW zejp$|uZ~lDey9U`^Hvv?li+>0&7XV_2m=uo0C)WEK z)vCO>v9=Lfr_s zGhX3HY>?U^@nd=%cPd@q{z=?f4>`6{+~Q5p{G0|C#-vTPUB&*1bAkOUJ{n-v2d$&u z#3*LdR2Ps z(UqvJ66}2OyEdQ2Xfkzvp})M#=~4n@Y%%mkb34XuEH3X|Am@ zpJ+`%eUaxq9;G5YZ(ni{a2WOdTCv?kJ$F>d3}*%t?$Y3Fdmo; zjMjF42M$hbYB?@X<`SElLoNDg3~l=q)SuC*>sh}8J+yntd|-xO|NKUoKuushWNf=c z#t|;K){pqKWFbJVtfWBcY-?rVk?GJB)CZfd_4zLNc?Uqr{=mNa-aIC`Py%l8Q^1=5 z(NGC`sf4Ui$#7sQumHfDDOm}aC^anO_D*0vBlXAJYyG92j|D{DR%!pf-dex9v8JuP zCA2KmQZFM5$B3mcwa8sixr)$XUQOvp{qfaHM4npBI*gTJmu^YTN>*VfuP@T$r-4!a)9G{YJx;$ZtDWB4f8+F@wc6?b)a_kiPu=-g zKC`;wQ}k1(yi|#}U6F0>>>CoAVs-lAN>sHj&c6<5KluY@A@rxyA{9fX=%@ zM-1*(wq<}g>f%dv9Vc{AN$v^EpT-Hwj~yr61{-gKhT@jWuS}qw3W)O;_9x@T2|@K$ zgf4!1skmwHQ`2qG{Sp!sw^ZmzY;qAGPM-Rc(w??ozJ))8a~iG`Z!K`WH9uAA`Ht$R zV-ZTR6{QD)Evmmu_m*SmChVtcyLx`Q=BLp6r6UEu)KAtU{2jO-5EnU8KWqML1J72G zFX9=Mpj1Y9QPY&#&mW8^W}_pjOgt9F2Ofu+|eZFa6VI}q`T(r4dV z->Z5l>G!NDebJl}D*vAEjQo-PYkm5no3z;UCC=Th^8u~?-?G(q2>ia0(woh_GA{Qy z1ey;34=Eniv*0%uczQR1_cj>4F8Hwu`ku2@;NAp0q4?k6mk3wpXG`w|ME_8XAKvAB zx3~US+e_{i^{w`rtxTiniPy|d=l)9D`$kI11(eZ$Ws*)b#VtF?-`&}E$My8%y|M2b zVVIcczHL2=X_^|^Wd*CO+HS0^Z{YbQIcjeRRq{GYYweZL5fO>nUc!m1g1?U>0m|{; zOM;!`4KUIxZuw}(ttM+w{Wk!szCz-@G?ys7fQN0?tE;^1M*mE4B09yl|7B(}6vm|S zq{yzwe~-U|Qg*PZu8uF(CX`JBrpq~-&$0;~y(Hh?CRD6?`gR|!*pFx5O4V;>pp-2( z%y6++gbx{a;sjv#ORoTK2A<(!?0(r?U@1`V-ze8}Z^G|I(e}riD68@O%k5Bk#b9;I zmiy>!zJmI%s%PL*i~5gmL5IwESx8Prwez>+7$OP#kIKKeh7|Q58^GUej@`0w{>|oJ z=-7Ge;PnwZVEhdutGh#sQB`&Z@Ezsfdahdirw=MhtIB!Nd;Zd@eBR>C6un_UyDmCDhtY$ol5hc^7-+SoQg{S zjqu+2P0&mF`y$#-y}U7v-%xfrKnz!Q?v4)di^ngm7mv?m>Bh8Adi>2YZ_JuD+I4?D zf3yD}2_2>23wVWfK@*Q~`rW!cW%-xbcdHk%$~e3-$oQ3Ie^lyyE`C|J?oy<8De*`d z)~W10ITxib=!L*>j><)Be!=cX_3N&K&NiVV&VmHk%n>=V5Kls{F7pfT#H$)NPy+L( zaiQ|#^?~ThzT~6IJ~f!!r32XM0A2+|*<}JcZhM?xP`Y?}OAq(-|L5#Wbt&%B1Ni-d zCJ~2DOi|qUTlJ~69wxXx-3=0glA`wEZH`9(qvVX;-%G`g3Y~=QgVxW>FX%iVnd_xf z1i#cTo4OqWOyr29c%)r>JP)XJZF|2Ka$gs!LbnK-3xP6@q_MSKMW0LOV(-hC#ab%8 z;sWD<*+2>ZStSYi5>cjz&oks{Fz#oL-KACVvI=PA1j%vJ4#E3ThK$jR{ce+Hlq#+S zRs+XqzkMO`tNvs9ar-L$$by^+T#p$29wi?~fTu%;uJFNo!T!BPskuve#$hS*l1q=$ z@si53^9+O)^BHd zmJQs9?pTh;wdM=QJvQXH8wNV=_Zl7d`*->X)3;4JF4~A|;+9VWW&pWi4qg9?h2b-C zca-kGWAi-W*NEiQ9m{jllKZZ#Y2obv;mnTahyD^gf3s7JWNg%)SsdE-jeha+2-@%X zP36Zr5#8W<25$K={{7PDQaCpKuK7sw-B|iL7m)YB7cv7b`GoR9azG;;w|IbTKYlzrT#gfC#&H7qQ2TzUn0$@4v+chz3d&_E9K|g^)$DMw zS2(uwHA^=$o;$dZ@g!|q&J!@@X8?clZ|f0Gt{s+rDko1|{%8;R>fnCkr)ECS zNFy-)9*q%h!~)tgdO~#UL`95y{i2 zovktsempNkx+U-KsGF&bGTpVM4F-loE3vH$bFqX-xBKYEO} z;>sK3;A>t5PDw(y(Xz^75AzwOg@|w{7yaWaKN<_ptSpNMB(6r}1rU zp30VA%?te%I=;QHD1-PIU;-e{U?vbnpTJ)AioJe5Xk4#(DWz{@txw(GK#%#WI9j*t ztYin1>l_cr&=x*SUTU_yPh~EL;iBh1#)GN|wYAkZuJ$KK6ZQupd>Q}O#1B}wif;-r zlx&5MJ4%mt@Tbu~Zbd#9RRL?{4pV~mQ=0VDeLf$%_STQ52YR_B^~_9_);WXTs&)n+ zF)L+ysv=awJJFbjZEt8>7^>l`ozZUsF!8j}TYsUqv0@eX0uM&FvFa^fuSWmHk;Vs) zTY9TIsvd^e`?7-GCwjoL*GBJDtW&gZ#dT&|In!|~TdB*#z`x~O)VN2Qg37be51sUm zC65}P^AtsRWrl}E?kW#j$MpTILjcR}PO-e8KoTg@!$@e>8ZPK!IWoOk2wh0Xj9*7_XB zJ?bRK4ZY&Hjrd;cZ`4!4hj3|71Gb5ttpzfF9V;L zI*MC4p57!l%NWX0AHei84cz0rz0$SgzGldI^5#~~hbGAuc~?^0ynO|$hbvwO@J}kq zE>-e`LS;S|TP1M2M&#Yj+p_|o(rXvDatXXF1j@jlT;5*m%iR)J4@BZB$xK(WN~E${ z`|Y#3nzkBAdC-rNfBUem(*qWP>!bdS^?XQ&suFKJEB#ZUy9U6+t2FBmKdP&5<$Xl! z{l)ljngV+G4NC8O&|z+%^4mbj&d*m8BUjb{#=FzrOO|eW{DsOJm8o6+NBxC-XXp$+ zZt%t$6>E0-@B6mX@2D&Q^X`o3!r%t90vD zp+T!kkc8WTzsot>&Pp#NCKs`G*6v5Ovo}KL0ih%2>Jhfv*cJUI_AIWQ?O09~j0K5Sp@yiBb93>xRC{ldCxQTz2Cv_Av3%c-dT{y>gt?}Y7{wySN=&@fe= zUU#doVHslw5d#%C( zS4{^dYQJqW-(6@0w>fTY*Jt+SI4GUCcFY?${qAZ3l{9S*Pyl2ZyJ_g=@@$GDj&8zy%X}Dj&iH+hlc}! zLp&Zb1;5bku{~9~=!2>b&z|mJ|6b5j+^Q#_IRlu-QCRP*{j{E|(qk(g4LVNMo>o1i zq|CZ5X1A-bAXTr(IoqCAJuAn_*i)^aZBIqtF&`$yt-?%a91S#b6t*MMu064*8%4h= zUE7|vaPBcBivS}}8K(n3=EMNu#QdSZP~Rat;q7J)JUd%;Em-ihXf?O$4S?samk9!^ z1Rf6&xwGx;b6|bkpmUco_%kj8{=kWWKqeshb>49(?_831PRO%mvgSRV+blPYX$;p4D8t{;3Hi+tMnBJ>&8 z+QVC*y8svq%u{;S^?obq`41XuTHAz^P+h{`8;a2NkSuy`?u@%X57h~ zZN`tFLtbWCJFwV(Z|Aa+oWa{$RtPKyc(Q4kIMr530UwMj^)F8c`*#8S%w;EQz27%- zCU1n0FDc0z8n3_jyN$NgYwH+S>*4xMjU zb}usVAnoni6 z3^PV?m)&8u)#%pcGPHxt)K0`VaKXR z2!5&GXzGRo*-IvNq;BDM?TP;u=}+5#YlWP+h!nSaHZ<`adr9JFh@1hU>=d6iB>orK{g?)bPa)LPq8-z+OXt|MPMETHbbD*wWPA946=yPP(3|@2kHDjUNK| zCsuK*e`OuT-PP~a+#P5AsVoa$R?}i0D(2lark&#He_dy>;}Z1Wl?km!4Njq(^{Lgz zAt&medgFS~niX1ExB4>Ly`bn>v zX5&^r9d#V%V8=%K^MNkpq9`oJUCYB&+<#rd^00Hv-N^w4$&!OTsJF3|ZZ(>-nwin+ z4r8ZI5W#M2V-P0Y@1}jX;+IIzZ;NU|xBBy_<2VP}z7KcNzB=w2+q!IA@Tvb};kEst z>SyJD+W*sr`qs8GLe5Ym?&q}JwnO^ohJ^cPC!FbH|91Nmo5|d{^C)eU3G7WfeVKH7 zN5(g44z(v|fb&4$5MY0;?-!|hpR(!^Qgce@Oz=;F_Zxxh^*wcx8=*$k#lW|KuyLBzPp*>HPZ2u!KU$x&!B5n@oEBYf=HIva@9QjTZSr2(nQXn% z6VERHS?3wb>}YRIQKSy~9NKwle-2H3A~P#v&xbE3jY{c1Kt>!c>53)5t;ol3 zfZxd}TklD482L!{xiq^!H4emXFUP7#ahKm|b|B&vj&(fj?76fJ+=v&lhWPzh{Pj~F z=b5JIJkx|$IqUyGdb%4gt@0JbTI!+kiPj%`ww(EBt^Y0TUt_B6E`K;){Wad~>HCJ3 z-(ygV9@u9%G@k_2N745EvZv3*DSo^(eJ*Ydxc>{hDl~Vz!4DZt$*wOKO(zTKDC#eE z`y8CMm)tF~Y2r9{`2%{)2`|tCS&Y1N^Bf!>B+_@SoJ9ubk>{Nu2mIL?GQHXv@~v~7 zA?HkWoZI(tdQExE+5L!XoZWwYwzKE3)rKO!nNJ<%xCfrVn!BNndjT5t{a2kK!wz(Y z%sa{%Qg@0o=?SS{*a{>TG!M!m&>QWTiYs-+4fcqJNT|WZF@^_KW1kb z#e>R`4>8Nehs_A`jk~R5zkw|NGQ6>jC0KDa`-iYSU+?=YCpS00tWx;#OVWIGfI&vo z?og1HU~Tk@OM#mVW{aO*9zUXI?f@FKZB0|1XAM1nS>)ZGN3rr! z(hK}+;(mXt_WFpvj(dcQTzwA2`2IRiG}f{jy^o2+@F&Yxy3Z46a5$xlm7W9zD> zmbLmspZAID*!$yr-+Jfw>pGql#&2|wF#X{kv6}k)4)_LesPG(EPpQ6$ofop@S8PGw zjo=+`+QL0zK0D$>z6D4UJrhv#YW8*-u!M4ImT3N}fV98O=k(>`W;sHm_IhdR|bL1n5 zBWDaI!}KX0qO2V`2)xEEO5B)sfov<@q-PP4q)zv*Svi^eDeut;X{Lt}$)*mf3 z`WWBNQtHvZOxV#wjef&Y*D;AP)AGL~d`>XYGe!H{3c+8^*JDPSh;p9AApuF8UA+C(ptC=0Ax9#X{xf)+)^myR=GLh?- zB6N3Fi}BCB#F>0(E3Ivy4Z zYySaG1%D6Q(b24;7>ykseSW}r_}vU2KB%s$sZCX11N2MT{2$ey{D3^&__D{;kx3dI zWN+U~)?iKE3+(NHQ~g@B*jt{<=yC74rrYbgD2YBI0POTZ z*se%_`K)zSRQJkHC+FPl2$lkhZ;ZKvXU3WHigQJbzoT%Y0pYS{*@sNY@ zcKF8Cs*>%x7x(6K?@`9?N+axZI`?kQy;CTW7=~4(Eb5JI9W%hUv-tdDHghEGn7>eG z4)V6(gtWcdBax$!omD*^{_a9l{iODG%pPP*QhWOqvUJ=|pGZDOsQRDh^$)3wmlyHb9e+Wgw5zO9mGuu}SRXo;d6$Aw z#uicH*p8B4$EGaW)gM>sIDZnQ{9jj+P|X95xr!zv@=QV{0ZbuuNiX= zIK|1Q|GjUSca`@2x-!;KD+<^DSQvLku20*3hR~-RWBwtfV0$sR9Gs-|z6$7#teOyW zD@?Mcr{kwFH<0(O;69}n{Ma$~2fOWUmF`>V@y=BJEfG##pYd??_-1MjZcbLpp#3;h zn3R5fF8?>He~o&-I+R&{do~hekmCn9e?{{&D4M7NaLpe4voK49>H`oX?+T7>2+y z_ROn{J!_t^XOA=XuN#B6j6Iig=RIKT`KKEDw=0dkfcr1})Yyxu%O%5%z0@=I?*|)u z*`JNQg8eIgGWJUHyYfq8uSR=ZBS0dqecagVmKu8l`Q1oQzv(_>Z$VmaebLz49yRv% z`;EQhVq@>>ZS39K8GFx;#@;*C*!%7^b}8k(ADRzB@1dBn57!#|Xb)o_8)NK~U5tI| zU1Ohq+1P(#x0YeQo~6G3+S1tPerxRWl;wGN@WKnmzI2SSFYjdRziEqCso!gq<@L{u zeFNUVRb%Xb4l?%bO^khq`oBv%y|jGoH!58|0 zcKnex`RQ3>e}3E8mB+B$@Dt;$HQso1LT{b@jJIy7@z(ph@zy`Zc%7CRuQU5yFEL)X zV~yAS9OLzP)p$MMFH@ea7gcz>C0yaUUa=i>O_YmL|EZ^k=>{eD*( zum5qz8yGX*pht{%*qg>1ytna&Y+}44?lIml>T~2Gg!6c#nCskByf&+j#W{8?R}!@n%#0h17Ei`JV{A(?%KZ+WU=n(=$OA z`*r&(2Y%(iuN?T51HW?MR}TEjfnPcBD+hk%z^@$m-*JH9f6Dm3W9Fa69`wJfQAbkJ z`KN)r7tD{926Gb7Y%pD)`;a%?T#>W+r(cNNBqyTM<2}89;V$8f##_VdL3F*uSU0y~ z$1GRw*|9`5#uE1$I{+N+?&DXkA_gL@nOS@*ef>mO9&}!dNW|EqgpOoChV3Wp%AD4E zK;|~wd~{)XRb`ALpZ>e6sBCaubGzRM-J)eZn$9z6xg0Na&Z9HYqOq(dkYvZQmapZ# zC{i|!gSR)&6g57cq`MX*PV?t^)?vRy$+EKux=aq}dr@S5E7Ckq6Z0X&a^#s%Sz9UV z5@fz$Y!$J*T9Sz665xo$+5xZWyd~9SuO!raYE*uGN0!O`nA-=EGKUwiDQY1j(x`U z-?a54EAstFbnw;@zh6h`uWior`2E+t=S%w2e*nE;?3+4Yu)@9Xtfo&g^nP&LSrgH&bwm5jC=`p_1^gR1m)4g-Bdeq(1 zA-^kiUTIuE4IA(UniJ1*0omc7|I+3#Lo=XkQEA=VhrA5e7>-C*|YHDJ<3Zyue zh*k20sY~hi_s;Zwk;7Jg%Q&aY?6?DziXC?|^-&2`Y}=To$7C;kBc;JzV9cj%l-sNk?gqX{Qez? z{uaMU?TPp&q4gk~))bi!YM%p-LGAO`kXi^9OGYXDoh`@E%h*0^y_jE?r0XG=MI1N9 z9oun#W#=jIJP^OD#s5ivzAl^Re3N|j{R6d&Z$bYuNC~xZSMd80kOxUx))z@VvsqV@ zr04qu>i^yanKQ{=l=!$OWJeMtG|BEVenhC4e;!u^m^U1E61V_d!}+v?zOjdH&-X|U z=b5ovSXbQ4y5dsz+)c1HHSLz19%dk4Qe|KN>%99Z9KQgV#U1yY%G0;<{B})sKH4O5 zzS2IS=Q^An_WO^U-#?Z7ndKb!0XSRzfd9sQuOP{a9MB8aO`HZDW|GH!3!2sLi^SnK zjQb~e4TzBWDQmjR==yfNKc3^OG?MK23jw3k@%sXnjU|)FmmCG#4zlmxCn>JUdx3r5 z@*ckyE%u%Dr#6}6S_W_aN2DNV?d#J>6Ll66Qz+kf44m!^P(H+m|a}potmzP&f>Q`4?9xvn# zpu=N@RSEZ6FIUfZ@{4%sC@=NOFZb1)KGJbiemReGyAnp`N3*CZ2mO~-&#B59{tzqUh(={C9~XLfo(ELPONJSGodCatu4K4kni%D~Ro zU!+@`zkn5#c;orIgT3WkSicJQGn0pOJ05O79iKi7ojyvNoxbec1(pICO5}cgs`TlH z`M3;f$JS?`*#b#6e>lG{f!D!$at5egTJ7;^zWOTAd;<>!|2m)Xe?B4IH2xkf$Joh? z$ERAa@c48J`45%+rCt&@{x32nbrS!m#eSuaPrvoQ>yXKNnADyr{lI>{LTC@2mXBK? z$>vXm_HV&99JTl*QqQn|kdggVdcOTsfAAj2i2EZ-Hecc!njoQxgRtJqXOuyU*!)7k zTGafR{`H|vWI1nEl1?vmzJ6b_V8oRFSHQ?O|16cC<;BS^=spXTVLuARrNs}BhU{dz zpLGa03dBv%5nn^?G~?~~r%)x>Rr)ImgRl0)Gqzi8+81Bmx_5b5soDHHpw8;y{L91R zM#|IutOm~BkStSVzNXXtf;>b^N&}N$2icczlOoJ))Y&st=< zmA#lV`{LZD5taGXHKkSQU#@U=CjS8?-g%2>bZZMHuu6X(uwY|3xAFsig7yuyg7jbg zKiD?0v#`V8ThJ079vrWX^-mu{D2mF6|%$5U(WVB8wGzRTaw!2?;tr894TkQ{!YOlIY!Yr@bau+mU>?K8jO3+f_u}* z&G)%%;m+iaJ+z^)oVOCNVu3o1lL?JVn-nNjVDa3+Bsv zms0-h3TX>5=6MaEi4)y{%8}R?u>fM>nKdhT9}vMU^uTVMPfNt(<=X)Aytu3-()mN; zn>tQQw?%2U=HxIkKbqCv`1)Dnd1q6jW5HN(lpFW8%nJ@n#ERqaCPTdv8uumXA+<^m zt`wHR&6R9Rl-@Vh`3Ytsc`1k=orIqFYpe5pf+St6p3-G(TQ~{eTNDp*U`2ex~>HBwhNK(q)BN;T*u+e&H-fhnL~|Z^F+39pqZ+oJan|rVHypjm8bc zSwembhXeX*VHKDT=%i}qnhRNb{eOnRICjI?jqe~ZfZW}3aYF4 z@gbm}oC(Vx?{&!1UsJj9{WTqzA5H#2oV-Zl|IdIR{@>EBt357Px`E#$ej?VR$dA<8 zq9SOn06&4Y#^psK)Vx~(?&$l1ilo$WE)JzE+F6>AB(}hNj~sbJwZfE0@ALTeJk63eHu! z!H+FEKiF+=tIw&t-s-(JVZAg&3VEQPfxh47{tVu4(<&$byCYwumMEP+9b-p}X!HLI zDX^o5zu?!V#g48lMGw_=c$^r+HK+*7Dj#Kv)l`+&$!Y=C3KYjn>Js|iSefq$j4g$9 z_O|E(EpMj>Ds*dO2l1AgIC9$z-j#DHazJZk)-OW#R`q(gz13dc4;_^}Q7zv?Pwd%K zK$KLQ@rc{u=h8N-J0!ohu(WT2ud^no{IL8)ZKLB!v8<}#)S$}ZD)&vG4C;|Aci0X; zPH}_yK}>X$#8SkJiZW9@)t()Ws=tzSv4gQKeLL8deP3VN*l(aE^Qpos37zKN4#s5o zOj0}eBeb^$+sc`+T<~tAEbXAmL)Z=;L;kx-{?sNWF_~?E7$~tvEqq;VJE(MpZ6u9P zGs=$z{za@mG!Fw}hoxL zpb(RAG|9$}q%5VNnj`5G%7>_O)U2+kuV*Fi?iY|HeszqM?8^vc0RFk0u?7|9dAwlQWUVlnnfk@=QJuVd^}>>sXFYx=L+r@>}} zO*Q67ZCdOT&*R!3OH8kAAIRA_&wt5!pSs%8K1F49HMKJ2!zxu*Ro1kaAZLI4RRCSq z-d;Iui+^WqaRO<$9^4}5QuGY1k(qp?+n;cIs{MHYI!lEP_9yl*8+^??8DB{JxlQ{c z{qF5wtfFKWy`0+rwOnEQ@&v`XS2JSgdCDX)P0>d!>o9X-UzD!&z@L5lLR>obY(ST> zKwcckqStO9l6`4nTse?&<)2-ARmKXcCtu;ccU!rfJMuTOeCRkY=IceZZ$BY>h(WR1 zqZGOOp7tb3xm&iPe=?qrRep!<-LcT~`=l*~zj-Htzd@%ZZY}M++V)QAhV31#6l<3H z(5l5-LzB*ycMnHW7;Wc}y^Gz()gqC!VKJkd;*G%$a&Iz4=6h1!!}jh2au*khWQ%)K zmgm5$9Q6d5+dHkVq2z>x;jN6&J_k5#m^= zhK_O$=pxT*-!Fz<3Bbk|$DALLUsxy=&14;4`}IS9wLQNgf2>w9WBKBvG%hYq8h%;v zo}eEX4)Q@Iz_Tl6F01&woYfb()%spSt_#2kV7Bt{-D>xJkyO)n1hMQ`!jaE~Tm^CS zOQFmBKrxa3;?tDhKgb8g>Q*m)k(6ItZms9v$zSSv1-MYX7U%x9^{FTq{ zHGJdyZQj?f`4vg}ZPmv6p#P5QyBy3BvCA;u@ zA-D{5Oq?R{EY*+u8Ip|1OZJ0Y%J_kIFJ~F2(E5e_HtcIjf5~6!H;~^)fCT??8>djZ zVZUuAha|Sa`;Z)2ULwhs z6eIQszr^fS)-(6pw7%S}c8B@rk{W=mFPYfNZA$|c>$%03eod10uGDlMu#@TZLg$>>yAf4| z@%-{W&P5GE<1Q{yvOwu~s$e)qvZa3jwY0wI_s8T^czh__&rBZD?MS%&)Q&s^9fm;8 zj=aeBW^g|c{nDl#5k3A@N|m@WgL0|;&~k+B$5WK!S_6Ly%F330@p!E*hl`+s2wvue=2IRge*nuN)Dq8rx+VKFT8@4O6sKs)jDs;Dn z=0V_4jwIfs{9eY67;nZ|CBy=IhQlfPK0llGMKQP$E0ZQ{L zi~NOSlunWxU)88;8pirLp7~|;oIyWsR*4jQfYnmES3>VNkPilFJm5n<8xu?LG;xZ) z$c#>!U2}1dK%SNERnUtAM&YF;%I9yY6IC)5%Brr&^3gsW1Pn(J^+s^!C)!t*J+9$A_2=4!=IV2CS>?_TurT(+c$F%Ii$e zJ@QPahR03kKfY?Z9CcUv)ww@*_Punb=G^H4S3Vo3Z^Y4PrT2k{$Eajf~IKNtJm0fnrYi`O0)l&Ago zbq1f7ci$mb`f$7yQ>yeIVgKoXesf#&bzG?5TdxWJmaX#P&GzY5C*t+I!a&~VCpJ`E z7n1bTO?Ke;WALe*(fa*N{&GNa$Gj@d9dbXsc)wjb;r!9B2YrKi5MA>j_)hctfM4Hl zFJ*Ojsc+p@nQyYaFavT3Gu-+rMK7jJk%3Mt@5X9Kf=oS{(7RvxHy~d zaBJKpPQ*R_d*F}#AYkMByF&c(uf9+2$u`y#wO%fw>nGf&k!30vAtSB4f^uJ%(fXoQ z<}53Yw10()j$V*eTEcBx#;WcnJnmVXo3jyE7P_#5c2oNMPt-dp2gq@Jm`Uo2ey#{M zJ|HMdD>=}9GnDbL`_9xW?aHzLUfnH%?&`~R{4XwR?Ke9@pNMvRq?`+vGd@_3A^vj) z{pJfY@%>hz5~?TmRFbZTm<>JOFSYR!_XijIiR18k^it6#F9K%J$kWD&j>Id#+~7vJ zo_k+fB_DXLXd)3WLVqOrzb-jVqceYw7u=J5-%qshmI;(_xuW}p(ykS*gzERNOm9Ii4Jg$jeAJOm5e{izOcq)D_ zxEP$H<^OiTsL`X39XROFfv!G3_CKaiUlpsYzk9FwhW%&tKeZgZUsdg^wBIw}1@IJh zAt)!7U;meOz=w<91kPHSt)3LVwOx+2d^+op|2^O#(`~mrZNKGO|09MDAJS*=pwa#P zj;*bdvvP>;5`)o+Qe0rV_5O?!oCX+$#BTwY0vS~M$>*oElb*?0Ig)%|$LGg-P<{)1 z0PYC;&A(K>mU8B(op{cm+vfY5UT+S`SzJfot2(5lf>!|WUe)sQl;w}k|0@#>h&n0v z{l7A1xXXwem*Jz7?IM4r^nW}GQ89Yn-*$}uA6MT+=&ac(@c&0Pr`Kck{OB-$)Q^3X z_S)Ccuw@$Xmjh`mNwOt~IivMkZ9iJ`5B%sd^2XmN%h&uvestLpoRvujQZ)Og{PO*1ygEs?%y*k? zS+$`Hrem>*q+eJ`5}TwGV^+p<$+v#O;2%ZurLbi1nNz?Iiik2|CL&F$vo ze}Y!^QK*n%{ZvL^%=t^oZ|rH=Wg*@6S9hB&J1@9jcrA%z$M4nkSIbUwS*v{R41KIy z*_CoGrJNW0^s@9&?{%ff&FRm$BNg>^Z>m zWI>Yg$S|UW!-@JI+aC*wPb=3ov0`i1?ZH(Yx6RI9*7jeQlD_Tx%e~l_>1UEH`?uRk z6y*Cz-%L33qFeZKeW^W)Ir{rV5rQsm4pOX}AyfJ4EEJ^y_=C>U#Zt(S+_w(N5^=Z}DFyoD9Z-Le2LJ ze#JYMo`AGu79UTa*9^;>`fHDqtLh`kz6LTwfsCmo*wE&@rs$`4S5Z0cja*KRD`>gg z7(nOzIzLTu0{byx7Wp*+315hj=>^<;O){RxDNR|>Wn4btTwg!)-mwWYTuyevsqBc2 z#!Tw^9LrYqX!tqSaQmQ*Bh%M-?1cGbNmBhSO>jQAK+c5q9p5C+QhzI7r71}o@0d^i z>IYyfCfv>02f>p-lzg&&q4yUz5eMYCQhBCE))~v16`5ZomXu)DDXpG zVLc4-?FoKZ$4+>L621jK1QG&JIa ztu>PzS+PCg4e*l6(Kq!iiX?KrVqe2?l?IOIbhv)yy?1q$Me@?SKGoIb@=RmO(<8{I z#>LB#lJbM8-}m6hRMx4!Z5a}#{^!egc>Q3gUzH!@|Nmo1pHXeegN<%G#y$(>{|hOw z&pl@PwefW={A+@N^Zp0&Q(aXP=Oa#y1DJ0fQCCrspJ)_It@9y|gw~-BkCn&rYhnXq zfUyjk15rg(U)IuWbk5hjfzrQhE>)BDkHBd#^}sJnUJ5*nB<3CdS_ zWW{P=l{-`bT>PutwTGSHX2opzqo(K2OXy3-Q;MIZ0Fm{B>cOzws-1s=ye3FKRIyy< z^lk$G0irD1wDS^Ad^SU7l2;bx^kq?OU}xge<#Dnh*>Vxq?|?8sRJ7`Ajo+-U-BpX_X{&Yx?Y&ijlybZx-9HrXD(0e7*^>9Yxw(@yO%GrG>$9dpyaxQH5%g>Z! z+9Bg{o7OLE_ZN`=KO9Y4eiwDyAN1vf*unPf{vKx+tJw03!BTf;_&0KSnzf5LyV2ttv4PUQ*!^fzZn;gh~*~=O9$`;s@m|lxMEjhEBb-M zz>%puRzD5((00;s?yDht?Nf-Cvw|(vG;0Pcn@rbrr8p;TV}d^ za+c}x{#$L+$mQAe^7dX;d8L1a{ZJjJmy0)wqO91?-=f7T=+hM=fcEvU-WKVN+J98P zhy7Z$-(mSz`~4(z3WYZIyF$8XF=ztq+V5uS@m~9tja#2t*GZ0 zQ)SKtxwX^E2lS_``&K)>0s9iBAlV8rqBnxu!FqBAv>uCpJ;EAj?Wj8zxn}EzY96bAXdk$?b_+6en+w$!*=ph z$VhmFWGf!v_gf$Xs_yXS`Sm%Q#~&Umip469s;Vn2jU`fEo-F0m@qY#5{z_WCau=|t zR-ola?aBcyhiN;ir{50QmDbc!?x0uy561tMy;F#;u?Omh3^m<5ed<@i*X6!^h4{|+ zIlYzj78kEdwvQXPR=Rv_#d5vKRwC1t*s99C!TxeCY!`)_naOh~-lO^}+#YHdpMuT+ zp@Utl9K=>^V*PjTn71mkR{p5QhqU5=5(-1dno$yzv#;+ z(3My>d5%M3kTM=Y*LHZyqTbl!%2RxMydnFeTp?}c0(PzfH-KNZ$D#KZQ-4{TDD%A% zca<@i*q2JqRSkDJcjRy6`l~-csWfT4p7m>$r-3u%REnH4^2~1BuJRrB2Nse4g-Vhg znTL>}oy;5O#vf36VSnH=$kYb(Ze~Z^obNze{y^nlxcUe{TUDL|E_Zi^e>32(bYWlL z>U%Su=Xfc27~JE=sR>n1eL`>Rh@5|#eRShur5D)a>!9;2s0Yu4?Q!KDoO#sMO3Set z?_21Y@p9ExVVpuO44rb`b$*FBK`W_tGd3;@oMFZS{hr`&EKAG zY&EE2?RwR&axSc|M0zsoN9lGsEPra3pN7t#g$|v%>OhRe%U}h^8-h0D%`%R8XBCy@ z-pJ)tJFVpk+iCiD)jniHvQRNRIxPbpcDU0%mi%F6( zrS~~G3foDx>N3i5GB}%~O@X#UbUBi)>+DLWbKc_it{mS4ZU;B0yoTqYMP9!xOvHHD ztmu%&=>4=!yBzdeiHYP1mmUJx=c@bF{(iytC~FE6@d7?zs_)oEj>WHEQCn4;UmpHk zZ}f6#Jiza_ZhU?{^h9602=3MTe$PCq{}GK=^^eNe_UlW3()ykVJ?09k-Ujabzuy+f zt8_=iC-WT6>eE@rbS=eyS3M!}@=x%z<15bt7qW^fR@A~nJs)ak?$Z>x97(<+ryBRb zidX%BJreo)PWc#q|6A1h(cDrHHg4NKU+I0)6L~F*t?mMPg7vjtU;FYJdJ9|RdbLk) zedGE|H|YEZ{0?lS^uCnuIP<#jcyU}iiIhKTecPvpYp!y05_EQfr=NfimEKpye6l0d zn5#oCYB`hbjhWZ>zL9dVE~J{#LiOIR-<0PU@akDfIjDaZ)2&8gvg?z7e{dM+t8{Yq z{x#JLUH$r?1FO;C)vSuD9;S4Du1mPu4noK{pRmG4 z212}}y&vDF;t6;59Mx>)tz*W$6O-e^)nUs2=lANkcbM5=?>+sZBHsjZDw67C%k!@Y2C;tvMCD>a^9{S`7nOuu?1p1F9jp`_zphIVZy z9ml>L8u$JpRrKaE40-7K-mAJ^>|v{U+Ui@hG`9Lx#=|%@xCXb=b-ZiKf+zS z50ReCr{3E|_f%m{F?ev&TZ-iiJFaqq_L?+6)^ohXw(tmVp+fujgh?#I0ocPCqt zj(gXGD?0R5I^KjwDX2d|k$lFj*uYk9Xo$V0SPCFj}AJ>vOKql!bhS$DLo0 z<9;qDJCQ&@UJ0n;L}#FUh+5y~pl5Pp&o>UyJnckm`NRdFN!u;#*Xevttd&ZOT%UBm zI;r7%Sa}mq5FDAy-(LkO}tb~U?;xnwuvK+P2dMl{D$%q z9)qt@^?>$^(Dwl4IP~3Nj#9_}&i;htQtdIZjfAK~Q7Q=rAZ9F>3q*-aH*@j!h?SJ< zqn1Bep0FK$4qp67HYA%6|KMD3ArR%Rdh!EyfJ1HrG$$cIy=m`Ji&T^gxaet?XI+|Z+B&k)rFW~ zqA%x2HqoEoH-Pvv?fMm&w_9LuC9b+0GCPtz$tJM#@=ZSd&Qpt>U&cvcCe|S#ZMOly z<|YmRe&nBjTTa z6=lCj%ViVI{&p$n9+v&^_)VlLGdWKmzlG#7NmF_<$tM2gb|B&>j-CH`fdAG%|M#)d>HJn( z)5NUlxnNtcll&F#C(;^G=>>4E$uQw-~heRccq#`b8V_ z`^hSDGbwU8wZCY&g8qUF(D`|a^Cy>+tr^6QD3Z%S(!ZiFhx|x)ZB}&guWAZ>|B88@ zngK2^TXQTs;#)lkQvIu3&F|M7;b>``1COJo2o%e?ly)C0$J96DIEV68nv$gR`(w#} zqC2)Vwd{y4`Vy=MdI9xARy)q2bOXOj{5)d!HKWL$WNYRjZusnZ;;)L|C0l)uj1)q+ z@JB%G9Pa2Ef|^FQB9x(&g?vd9l5~FkOL7$Vk7R33r7YWn-WXymoizV0^j^8HrL#B-J`6V-{8qYyq!#<2{@}unj~^V;N2cm4h~^imgH{t*ie5xDem1>snC(IeE1OLB z+1HyM8#5C-=mFF1jSWqwFP|{ICg+(RcaL#}@5o>0pVnh8>RCrp^D|O+T`E2GPhGq( z^$$H#`49Vxs5SXRJTuvTA)U`9H~xABD(Hjy-mD`!&)9}bjGf#K5TTz!RALIVol~)5 z(}_+@zrk1{dv*r%aWhBoJ}G!KYoM{S&*WXV3jmS6`B>fgtV>>Sld%iW0Dm`j5mC>@ zM;Uveuy?C&Jz=}soEQ@HokDq~L@1en7+1M6@Gd7jx|>{(oYHna5S@c%i`|0~y@ zJHgoVPBQlVd}IH{y6+3-8++kjjlF28u@|EeF22s#OVMe6?_um^b;e%aZ0r@xA^w9p zUP<4*>Rw~7{-?3m++pmsl=-@ojlG`xum1%6WbBR8jlBsPH?zG39^5j{*jq0*_BO7) z{X}E$s5JJ@ncx&-@1jh1e_-srhZ}oeSFpLUORJ5&|1M)6pw18e-q?r!WbDIxvKEu_ zKJt{YkHWXd;K}1V82iLj@NZ+EIs^QJ?epFb#=if#v7he-P6y<>9D2)lGWJV&`W5%BxES1M>^Icy2YC1+eEJC<{!BZp z+=!XlLEv`dYX}qm2Hs02YjJFN>Yy*vL&okb3T)Q3H?e90<4zC+;$8U_c z6J^?Y2;U(q1OGDKuIqt~jkg=+*lmjOcE7-Qd)x>9X}mrE0HD9u^Tyk!2z+O}eWCZ~ z%Z#_*>Bie1dIyX#-d~O|-hn$A@1Wm-U5s}y`SclUyhAuXS+1-oQT@ zZ_r%h9d?rO219%BJH|UA4|F%)&|ASH#vAr2_}O^FM;UL#aN~{I&Ui<`+oRV9#~SaL z3ypUyW@#K#cbtd#Yt1_Sb`Is=eT z^%|dW9pscmfu7!5pmS7e*)p+$E7_VVIfWM8$0PdSS574HQ?*XqH zZwhss0*|Nk2jc;CoN^hUZKpIFZz}CD^+DrJ+XKM2X;px0ror>++&AMN;11(8{banE z+kk@sGBsC7S_gpMX4`2p>-DX}pt=)sv=xbHG!^JNYW(opPe_PCXQy z1ui$<8I=9ZvyFGw0^^-M5FIeQuJufxDC;0^Gj@y^{8kl*>V{RPPT1-F6c zjdvk+y0AAm0+a&kdg1lpN$|1pE?Nid257&F$^idg^fz!fco}?Uyo)ykTyya;pcY&R zXp@Uy1(fL$^1F;OUcL{w61;7^E8yo99RI_DFO7HQC;(rsih+~Cwcs(pe^+zO)w=@n zxaN0&_Pllj@F(M4HyqISuR|WMd&GFx?*IzGo8Wun-2i`Y*wc779s=$Fl=mj`yNUAN zbOU(JcsIlQTlNQM81L4;V5aeId%}3PpKH83=ofdu+dHY(ogW(SuC)Mdf7f3C_uW-* zyu0@Xw8PyOgQvj<#=GZEv(`z-&%N;KUU<2bw!Ocz@gATY5BM{kfua3%`zr^2<-o5T z_>}{{a^P1E{K|pSAJ_qNLF z-?|#NAb+d$V=z>CD3y)@i3N| zzN!TlVu2tOIuUhVk;Tdyef}31?mMHYdctvc~ zNca5BcXdt!i(EyeqxvEAeu!q7CsDfeTct}RvHn5u7`VYb7sLCV;x7K}6njqSF{`fh zh^p3$UV8~F)#oEt@OiLAtzXkr5y(M3=|}4@6O%_Yw!RqeCxBAzob_3rK2(wY@{n1?HgM$gL+mO8W3h>=N@~ z^*^PzZ~sK1Dp8Y@dNXUNd?qS9sR!5qbkTZ$?ALo(@HnK;YzmiydNOsX{3fD3iRk*I zEx@MA&+xkD)$cD%NoxI0BYz^|^+d+&KVEq~l@LSRi=%76-QWrE3Lu_dPb_^BvGhsA z>L+c*b*o5G`Oz`+h?7oSMe){8Qp9H1?dA2f?be^tn=tRn{%0uXVQoFXMrq`!m*So#z z#2$p_{jkTpg;Cx(C2zNoCw*kKv8>(-yxNrVSsSku78)hN%q)vb2hjV$Wn+l{cL?sqBWBvmrK{% zXgPe@)aQy`g#0CtB-u%~@w*f}3{Y}OKX0}DXQhk(JZTy3%jc{M*^K?0AwjZ}9_9Bn z@E?HE>j3|G62k&X>OV81I0=7X((`gA>_1O>N{*4&jMv*}{jmFzbiK`Z@_*AE+ey?b z4`)Qzy*Skkot!*Zq;$jn^U2VCFrd2vnmd5qIMD^9`_D43J_#EFcjR3ib`tiZA*s1E zo5=FD48Aq5>U*TFWb(_^Df9ns{iN0hKSGk&SdZD{Ng|FUJL!AsG5{RGk&H)sftAfc z59PqwWopxab!@-_HuTW;{JyldqI_h2iCnMko2%!&wY+dl{egR+$LxB;)}WiV@AvuT zwIlg9ycEq(k@+d*4EtxvdLl|n?_TKa0`>r#!v{_)Yy%!JdwA4(P6JI`4fg zxpgPk{lGzBU*+dF6>5^?E63T==@|c_;S5*%HT^g6FAn_7uSrWUUD<$~%ws+!Eb1|iR}^~#!b3@n|^~l54J3GCPXf``W0GE zUnbSBV65FB?hMH`$U1z%OF)#n>TR)qZTS^V_=SD(3Ae&0WJD)x;$=;!#Cfn)9iFnN zH-1gS$G%^~c(CCHg2!}#g~Oioj9n7s7j{#COu9U z^kele?t{+$aHW~;zAHZX+B0V3m-8;taH=d$} zTjPJ!?vF4V96Q&qN{dA6`s4*2Zuk2X)YK;O3wg*`0+$2geAUSr{gq4U^0sjXm=B2g zHJ+KuZngLQQ_m%j^t(?_hwObosr6GdeFpK$tyuYxSZyL+s6tLQ>G$`}^!_&Od*i`c zLfbgWZCPDyC*$ijo(;~Ib7A`~QWm*CtDaA{?_oJryU8f5QNjTv+b9O~Lm)Op;sUDg zB%hGoRR24h=hsx>-nbRLD$mQxvl}uW zBV$U@!;ROmR{MF)utR?$w}aYEN~KBdCQ+zH{Hn$mR4YN#gwvF$?)1AS7oRD}&OS`5#zb)+?dQLH-K6T@0r60E2#K;?$2lT&!_L1ONPKeKF zfz~rTUzs_*u-#@3qVX-C-ehD)-X)SJol4>mT3@Os|FdyhvEw4-;!$IpMQ$4Z4L$Dqs}yd_0$@1&d~%97NNet}%ymLuul8_13%DU2l9javU^$s*{-YB!gX; z2-q1M7>+|s{taig2YZ7SH3?0 z6|~Rf5#VsG=W^y0^ZgjPPa$&ts;`sn)-is{(ilW-V|^^ai#QAQv8k3wg!4-#qwgl41+E4+X_@R~qPvpRFCmQBc2fCxE9957 zMU7k2uj}33bxo+ddrha^@=ce`pERAlk4*Qw8colI-A#`jKR0&i;I_+=tFx+qTE#IY zkJ9|@4oZj7N=LH@Gjsf%wA6E z4ffWO+9^X_iB+%oRxY&;a@0D$SyUaU4BqHeRbD5r=a6AmWg%atSEV+*t~_>>TN&eC z*3m{jz58aFkMyV3df{~~xt&5-hh(Q5<8Sw6|1Yv1?oT3pQRUzHLFsxSB)>_T1C=HO z4|6*Z=~%rmjg$IQ`Auc=#K zFL*y*>erwp{$WZ@*WVZOEN6bs{0f<=Yqg-l@Av1?vKIoLNS$(3DmS&?`!bvQj~uDL z`%%cB2vKS4|K92Ux7kmpjF)>U%js@AwUd9$Z0?jBWk02#A`MaHv7LSzk|!NM5vQ1P zkI<2Rv6SuBU{@f6-ZtkUByR9^TIIMla=BdplyU_9lelnaRy|F*i*qD9<)8fa1A_pA z0yoZVZ=NCQcqd7h$mbM#yT(bx4*340og#y;@t_#UAh^x(w6tS*d>@s*#w&sdipDFL zf1Sdpc*-Y`N^R$NNBY}GjGY#ztW}^^&V}uPNJ->=Ao`@$`=r8h zrg3W`byH_3ZFXj&B)0(Dazgrq_6x};XK`z#FTML5UmvsXX6m$n{>hv?035;z(GjXA zR##uC9-b;{kfeIJ2Q<$G=gXNC{-P+e)5BV?aNM|%{7;blsl`-u-&zG=B1ax*;cM8g zD4(;98!LS=og~%2r$hF3cWkE;7+7lofWJo6s`6FnWgRzGdV#(d{Ys>F>JnZ7=l3P! zof<#=n$aj<7^pp@s;JT3n4#VX<(H(7E?4>wp`)Y~SqVICofLZdr6fnt`On0w>*KLW z1c^tM)>RZ#@*vNA+c!^`>8G zz41_{Z3T#oPus%Lt&P`~$D}&Z>(f4+bxargv}R_fF>aq`!Jm|mpEAOUCHQzszpBDI zSvVd<-JzSFpZGCv2G@&093~%Lsi`4K5qf`V^ztU#pZ=wM5F6DO3DtBgq#213)qDd;+1{%#aqrkM)ccS@hM3U7f|Uv2A#10-97C% zz5crj9;$LPEs^E5{d#rs={!#UHDGtJi#``34l*lWr?LuY>d%~Iq%e)yAmrCh`wL*L z%d}%a3^V|A=d?2bquOaYYE-GwpUCA*)}LXY*8d4|n*rv4sjgoaRZXgtXL&>Nw)*_; z;?sK)Iwu0g3ey%jId4N>_*IKsulD)Rbhy^@Dd?RKE(Yf)-4ENKJ2GA=x-$oKyZLmV zhTc`+dT@o~uTQsS7A+_Ay8HB=fzBO(^~Td~ReGNVdI7&y>;ui3ZT&iC95h{)Ec_ox z{y1oZ{{322rW*I_WYe|kk2xC$sWwa$#tx}#j3xRv5c`hDn3@f*_nD40oW34%fOeTK z?ifzsbgZK!9S609Y~8u!uj;|@xCQef|B4@_ThRw^gvLqjlt$$&bY1Uuuft2U)0Rr! zY`=Ef>3jHFk8*D!`(eLbq$V>tPLF4Y;yr)8-X-$n;k^vNa~pRJcIH`q zXQI2P{oh_MTw{8@2T_lilL2sl+@0L}GWXtY>qxKh^-PG{}l^d;aF za78K;Ri7N5dM*ovL8A#XXI0I#kD*9qAa{e_f9?I+HUZKc0La<2N~Rp{t?0MQrs zqBed5c7ZO=UfXg0X88DVJ4}}HM)mug{*v+p`b*;dQl20lF`Yq9USBYfi*N>Ad>|+B z{^>$jG~jz|J}37-u>S<-NOn2_;Jk4_Mr`6}v>68xc?!p6qSjmEOw<1*l%P$WJN1O* z2jC+)lhWS*kz?p&9Piiqtu6Wa@%|$6cQz6MV}Ox27o5(&IGstpw)K8+`iaKcFCvG} zc>gZj+0XN?UG(~bFD3tuO@^jBO7?F{1ic~=2hFog5#+BFn!lJ^Wx zCu&0LXkBM8zMAoe)cR#n9>&9xWK7|GPtL)7$BgYL%i};oT5f2ULH}u16EAX1((%ea zDeYchKd`&&|KT_Va`b6URUHmsNNKyp{Nxb1UTuz>RNm;vT8?GV9{}(KX7ttZ#EP;S zS^H2^T~%2lol59QKmLjp7=iilOA@&p$@)vY2i|taQ<=fqz!}GYgI)b&@-_-bFTLDR z`)m4rNxJke(H(0s4xTX{FzTK$R_T5luNhHSC|~N%1z*=OoevV-ur~Qm1V@6Q`kr{1 zl)_J&!OF}T2Y|!DXix%(oz9r2Rd@A|THj>-)-~OKev6wi4Kt>KnP9TkFBk8@koNy} zMBjn^`;8hL8vd+I(#LDmcBMDYz(UVBiSm3ESw7O*tz-Pg8ILA8ye97je&haPW>eD2 z1+>$N9lk!RU#u`Lk-?Gq1#W82`A0KO(ZY0k-939^o9JgvuOSP>EM`0>|ApPk)-6BWs!4VwpY-wFcLx-f z`(GehmAvw%A{M2QkNQJOU-}!5-YNap*?-NEwKGsQF8SnFa-@3n2i~t#7pn>WmaWny zzFS?+lDAr+qF)q_HN*<*YGXxPR43wmV=yMq*Na|x*WD}qZIeH8`~!Sezf9}*Gx__O zyJH?23XVhL$r&rS%eQt?M7gA8D}Lkq?UpB84(J~A4QdBJc*b|+D6XhmXY)(I2Bg{FuVw!ib{t*#w9o;`!OgBI-K1|-c{$(t8cHB1pIPk#H8*`P z;%$Xh6}@Zn%VRZsh^#QyJHI;KyEwn5wzuTB%{Jx99DDy#j@xXLaQ!P(&TxNg!ifsW zEppT})Fk_AUw4~r>L1)MJeS0=CATtKa=~ zywZ!~>7YsSPvLVzz~@Y#Lsq?qy_cl((yZ-oTI`N((+O^e%>Bf%wr4i;(&}IMdfv$@ z`nKt>;39CglglB4ju*Su3`Uf zwrA>nKaU8^R=^qL0N!Myr;_y6@#%>i{Rc1~&~!KbOze^PIcxdHc)Y&?9{1l6C#l+a)<3?DYBqD4hx}1B`c@m}zXf zxrOCU9^`tldHCV0x>jz;wwxW~zs_t?%~G~CHwFG{zdQUosP7{C>c5`U;r^@6Qpj@! ze6U$3RGj^viT$66U7GnPa9ApTHU2p`^<47E*~6rv-Zhv9;hl#?b%iWs&QBDUx|plz z_w?&q=1tnWUgSP49@?ALBKr=ZrVsU$o$32-GjH>c2gAQ3Wj}0hM0!`{Upv1+?xVh~ z*13h{U;XVjpmUtiLFvuRXS*jD2E?fpN7Ut$_MFl?t7sg#FRHy&d#>g3WmwnWF%FqI znrujRW)r{SYfJzHA(HXC(E2-0Ym)U#^1Q7))1=QYJWPz6*nrOcJQ!Tnaoa5FjlG+B zj_=28$$o_^ot=3yJF~z7AWm5BcoB#brhFB^=*<`b|2i0iKH5Ru=^vvoc0c+>s<<{Zwm)eas!1U+7l!=I34M*iAmisp|qXEO4h zNo;x64xqQ3XL~D=`W=kf;~2DAxt?p|NBI_hALt=f>D2TtwJ)LTm}hJAx`2du>arhf zJH~&RwNpTE&EBg2a+KL%SaW(k)ZT>cw7#coma`3ZriiJu^?kJU@7V4R_Lfs&J1Jap z{bN;e47raMYZVs@^I7fWo6zYabcDD+(07gPH@N1Lv$&YjN2AOtK{sE{^SsUM9~96Z z?sih?OMH2?<6^T0x~w(6Kpbb*@nD>s)B62VTx?bG1&zCD{T zrvqy^>u69YXQ8{QeARzYe)(~*SxtJQoi$XqWYy?)Qu!tA-eGaDSqmV0B4AF=Pj(hI ze$`3!&gm*M&UIO1|L6 z)idlroWs9$LQnet!)}L*{lsy2ek%B0>#R!6)6QZnJ?lyEc5tIy&%GJPy;RPLSIl~q zjzW06%U0}9a=F@BEiOv9ToLWKi!V}2P3jM_s%aMS_*rktsT4lHB*zfRc%EL%FJ2Z& z<6gv}W_{$2?JOry9EHm-bh3_nDLtC3MON{9W=l(dtK|>Hqtx$Q(SOhpBS!Kwvi~tI z{FQb5qE-GJ2h!y&KpEY@9V8qU`!E8{7RtSNeUuquwWS*UI0W{bwzoon7s38DY-;37iB@mvdo#EK(JD zJg9P>zD_PIm+Ei61)U3ojwmIu>*C1V0c0@WZd~Y%RaZK4Io03La{02QaUtx{Y>iK# z)MwvBS^f#02cj}`+^YI4IiJaCOuSek zly2CsBHlFnK1h)4>@T3X4>*V;i9@8vWo9$`IQt&}e@fQm&3+sBtNbJfNm;bBG$Bdj zB1Cg%-|vp?90V_K6gZv}oq*#5J0g*Ej5)q1!;!iyDck6Nmvk{_7wnvkBoA`#0ciI* z?)yIcH7&!_y44iQ&RhXP|miL zX3O~HLge=!(Z?^*Dfr`>Cew5J<)+u;@0cEw2bpeb|JL+se$@0>e4FW&w?lii%iVeH zuc7S1{a56tWBiOclS3re;9d1Ijy4=ll$!2mU1B;t*Ewf#$9}wAk%^AFqER); zu%nx&nKMA?cWc;9w{|Z5b8ad9W+s>?=Th1g?mIn{ZTu^q-AP$<3QE_4@B47 zt#WYc+4Y-HsZ#pUz3@r>K;c*Ys_^}Cf`8s3Q_?=dhB6Jnh`| z!Db+2-Ls23DgPPa&)ts>B5|i}pzvr=uHD-zR}*uttYnt;UNVm+@h|b)q&)M_3vTGR zZDc=C^#Y~Rr2h7Xl=1+eE=pJ)=Q7ifoxiR8!`e&IxYzmQ@5fv0+{4`;WbP-9l}^@i zFQv!BE^4pP<8zMz>JGV})+EainzrQtZKJp>cHo zhWv`^@|cTzY5DT}@}Y6(PGG+u+mS0ndU)Ui?w66yI#Ae>{6cw3&K=`_ z&3#1jUh|Xhf7!DFJEFQz>owkV89UYV`eSv@{4ZZZ{O7Zqke?+T9!Ki0>%&=yKSDpi zo}6fQhZxgI3iz(h^?JXZdxzW3tMZSZ zhOUP7Q}hth67$qCbv8Xua^~C4{R~nhJNHX|OTjE4U6+`Ei+hLYb4ru?XYZB7YJL9p=W|}Q zjYr38OZDR(HEQoNUS~b`9hbY>{XHlWvA227?u%ag&V7%!lU(QjWz;`ozR&Yq?#lN+ zQM8@GE=o`2FU0p%@EA^y%|{oXv^iCJa7Vg3?(3h@{Jbly1A zeU=+J*m?b3UFr>h4zl?nRC>!EDV>>JirK z*~zQqFLgab>DYNEvajR*uwOK93TNlLlBk{e+Sf<28rPk6^7Tu6*ZAK&{Lp!q0_IB2 zVs3QaRsQX4)V}$xm^>TosXz8YYyZya-(UEiq4<}f`vSYT%KO6oj=G2Wp>6HAOsGFH zUYYldukVDXx4E+0c?|g1iUBdYGIUaXCwl$!6n!TuEn7Lc-qBJy*&EvU5Az<8bI$)x z+K*N08>h!4zdY0ZIT3Zy-OmD<_DJEwyrrB)=S#|3E8A_WYz%sHES7_+22!i=*h3r=X>VH}A*?gdnTwe{RYM1A7)mD0sR%*Q%tJaAj~ zPbYhloqstr^Fawm!UGGOehz&{RsEyTcVnZ{S9=&l5H()65hQN}H$x`1y|4D^W;{Qx z^^>6|N$1B)$p1cfZ0A2f-R6TcInf2Q@O8E4$Cd6nj*i9&{|4Pl0=gLdylcQMoahRa zuglnR2G`EVFPwh@I1dnOo&P9!#oZnJW+7kex_iaudf3PLe|N`relukuD3bRaCuGp7 ze2CtT(q()*B0M%PaEv{lzXE*h`d{d|O6fQ6)mGKA;-@V=8o6E~ccFD&E*`1npdU#c zyFZ5x!FQbhA=^CdFQMxxrzTgv(EC=%R{jwCtXnDXr`3t7l0<%mQ~2^ELrcgYa(SCo zwFsZq^2^8QW&xhreEjwKKdb-vc_LOEOUTO&<%2tkq82KYC-e4T9J^q9sRP?B0DXJG z=9hE4muuL&>LF#%M1D_{ouzg2<&rkrqx!*BhR#&w^~(s z4_tW#?Q~-X^H{6OF~Ypo0;D}8cl39aJLG=>_J6@h&_mY~OV49oXTDgOZ#dfp@SNfT zlzMuK+|Fry?->7Zfv+RdOSz^U2max9+xaE;Z7uEBgxoCd@c8uLc;y5>6r4{OE7xv#osxp)FbpI_Zm+HU02c5fx4#sE! zcHLYLUIJo-+w|X-QIA(5R+>B_mskBcEuSxA>d!S(EM1=<%J^CG`xHogTvUVFTNz)k zwm+wI@#hwNP+O3;1-g|{&zKLI))kkbC| zi9Ar>jQu&SU)Y}`BDmmtN7F9&iMrvl=SgsLebBf}6M+9}e!wy9ez;gmmEsuGGPA7V;&cLsEb4XL5ei9ovOFQI;Aog%cwC%7-SN zZ)N_0?+)qrD0n}hJPRx9E?fDQE}z`~My_A8c46P{s6B;i3-<+o0eiLbC#BykFApm{ z^_n8nOS7ZSp8Nf`(?%oV0{v+rW6_0w0t3SF%7u723lDO9QvdSvcx62c*!fZqj+MOa zAcOblHIt7>Hg7Z8sK4nxLTc>iEfhM&zAs!Td9V3N?fbE&*Jpk-E?FbuBfVChX?nhQ zq3OK;-o`$7o3UFCHr*fWXL|kXuHx;c4=p zlhhFB)dpra+>63NgQN1FS5w@8O82x@@KN%5Ns@Y zhs(bRhr`Kt2J2?OAQQ=*UMf^v{7>aD?AKgKyZ=k*NxgP-J6!B1j>FH#E@ad~53%r5 z^0bS73$Tfc4h?RU>$x}M=VP^8>yi`tQsa`_Lxr%JB)e#Dx070~=ZdXi zU(^R^Y$Aov`$HltKUK>wE;dQye;1Me5$@P78s>IV%P(}YUMHyZcp0 z`&`bKN$_+?er0}%zRWc_Pqqllx#$jXFL*)AVi)On(O4{XIHZhg;KJbLuROgC`Wrm%gK4?H!f<> z%w$$il3nzzzkP}Q*JM9MUm=~DjeFALDk1q!(tKZOLhwVk0}($defHD+$ZXaVhV2v4 z181MKJibj-zmiz~qIabjVs2U-lyG@M^Zkq7;3CPF6qPR>qc;{0bfs9+e|^2t^XyCf zn)q$QQMKuL-W{gP7I`_-8+{6ES72X!&@Q!(H6BfuIt_2b?N#;RGH z5>-x}T~F`7VL8+O!qX#*#|a(!%VLQM{fN`klVgcdNo>gF6M8RTGo9&^b}A{?H<@++ zbhhbn_)=r}?vhz=sWDs5GiICR#%$Zgtlinwlq)+XMdpwC?aGfpf1p)5zXcm4Oh>Yd zXTghY0r9frcWZMJhgG`xVT;ct`_GwO-hurYN|v2dIoSt@n=D~KjTff-e|ntly!zt# zj+Xkjzkwv{0~cQ)=fd`4@mYTRXB>ys`bo5kr1R==^1sp@+r`&Vw-Qj#i48$7p#I%z z$6=Ljc)W5kbWaTE-UrPSz!{v_2q<5%iNU=3;-k2_0n7)N09G3;e#qS&{AM9v>$-b2 z4*OqnJlP%F#SAmox(eLH2^qvGAEJ*_q|5qtL*t;>{KYSW*TIY0Z-1&~DD9}}@qgn* z?g)NIr6Y2d>cqXeO11h;2je~KfSuyNaFt-rJb@-7l(zCnjG zHeJFj?&7y|z-Q!H^Zk}QHwK%N?+WGfm$8Pz^17m!KFRDB1L*lsdr5&L<)9qMvC7#i zlwoUt&RVji%GEb~grT||P7f-|0UgH0O6T9?zZ=*K?CR`Ld455xJXiHu->1WB@g)a> zzF>dlAM30q^4*EteLq^|w3AQoHRy~0%(N`&rQg35gWHQ%T?Sa$wfGDEp;s;G27U*2 z0{eje;201C32+6t4LqzY$&4>axy8&YztI~@#)3lNfB#qceR!-fC-T$9r-RqMgmsTg zszF@a^@lp1#P{VlTRoAiPgnAtq0F#L8rYu(>Xpv-rLlZoHHx2;eSgsT_$63~B}>5R zNzSupmt2-|+{S_SkN>2{Lx($g8>q!|anGeFm`9?=JyUXME56x8giKm^hOsApZR}|m z8G8mTa26{mFWRS#g68;C*snl#{dF^zH=@g1emkDv`wzj4JZ^@?*~E^}sG|LvHIshluEsW#Dlq z{}r*?(kivh|Bt&ffs>-R9)GV!U6!-KXrd;;BZI400$@K><;tKjX4H!0NKQ z?kd$;*eL3kc1^q%Ed)Gz(h zvx?CjfQ}@&10F_d2)!o&Ka@-Mcor^6jc>z#sm*8Vmwo`AGX)Q7Z~*cAoSwk%$u|ZX z^h@7spprZjnLhOkl^)wKd;>Dhpcs-npgpt<14ffWcm@8;0k6+dy!eF!ZZxtf?-b52 z7Oa9-){ra&mXkwxS$?7A2ZrtSsQOgbTMzh^U;;P3aIWy?O+XL1lF;8+{VKOo_6xOs zo?oc*9@8klkCZR~-CLY;y2kVGy&%y$7k#*yNy1J6PL+jqcR#kZ%jq|DQ=ew|eB ze-P`>WH4VIvxKNI52KIc0RJI;9a=)cB1+Z)n}8Z)UwHMck0v^vaJ}CJlg!);R^|o< zEHgDT{;JRa+8(d-?^90G-#6pTw|`Jy_)W_fnT4-0K=7>6@w&4d z3yK9uw58@PKT-4c{6?=m$#w@6>kw*ypb+gZ7A8U*GTdj}7DZ{mXxY zyAeP?4?IHKITPO*4cgiFD~Z7j{4RAQ4l>|*^(#eDwjehWm<}+THsDc!b$tV*S3c#5 zLjegq?I%U;kL=i?1C7(a9~%Gv|J%1iFZr8Ct8Iri>+`zP;=x{-vqO6ql=g}xc||*z zUmb{kA1IoISj)g$6WdSi&~Ay>f?W8$zSG+_gv~q?zCV9|_v`$~z!UXpci^?&5qUNc zE*@A3^p|V4T_Ri(l~0ZQ3)`VKpQ#;++#2`?!GrJ^ct6L!fCQAqh-uIceW&5dMW#>f zP^HJVLm9OL?*=u=9Vo$u>A-9Np}%iC6uU|GRFypw9FLL{|=kncxl-6A+Ref+7vC!;h-30zMKJA&E|ICC%tr%kIE8 zXeHV)M|=vDmf<7I4jp(0cN6WRRosE_&A@+1If*H9|JG@b7O#8B<8k2t65JZoVwpelAXQYajzs2QhX|rFl?0B<&OKv z6OQ}o1qt^i%_NLN21|DAjzK+>B0uOZdUi+NMXEC)Kj@*}PV+xp=rnPk$(Y^Ip{$}$ z*SSG?%aK{cKpWuy)I6KF{8ph^7R4-5bj^=PKv-ybxbqDiVpnYSD?2bd>U68ae< zCOti>_4D+ot~0oq@>fdvQol9)&Ii^3hXXAD<7cxU*TsE{ONzQP8DypuBJ)|$pT0h2 zl|0e*X@<0*F3U`$Y7q5J6mLP!+&z2d(1{S_ISr&+wm>(x6AWkfi!u z*n5J>yMtcjWION$fU{`YAu1oKzV^qF`twNnL2m;e0B29n0@r(JQ`c%;Q5l4zi5~^X$mM=kh;^EAeA?^p0TqIwaLQ*E`K_n(Wmk zu6OpTT{id(#~sZ4{-7^`uM%sl{%7~ZYe7!OhdmF{rUx%O5KFp*WeB$w-0pvqAbekb zgZD8y-NA-Fcks!I$sIhCYsAq8Uj($1YmvvL+M!{6WcRD;0b)agJDXa$gRkP`Uf>}h zt_P$XYhJ?LtvR#%I~wEqL}``|3u zPw}^F@-HvGg-Ek}ovqRsQ%1iJLB9++6ZkoBkw=?%Q2l;Q;#!3ud%TwX|^Y?eZ@V9N}X}o#xf0P1u$VuLDp5qQZ4BFcO9Tbmc4+{6BHlD)v zfX#m@w>}1sm;o}_hM=@^jt9;sFR|vN@n#u6|K3k!c{VbgDo>Rz#{E1rPyC1SqnO9sN;@p&BIwvY4odaFNnW93#xB5B)UVEQ0FzkW-c@Z zTtL@Bc>eMb^z)GG0la&u>yR11O7pb;n+83ey`cUwv!Fw~P_sK^1GL~X=hRVnGeG+x zIv>f<_4JDB$@j@W0c-`#dcS(}?nPyN3W`fR74(Tku18Y+?2lW;`vLf{5r#YlyrkoE zr^M9}o8DRqX}cia&UGO`E|MbCQKzCx>WlVQydQ!OyI=@5*pTN{|9@0m=?Uzvv4RSS z=uwg~o`&mtsMENW*t#O8cLI9=vp#-@S6^=}MN0J&zsKq)c~%lv6a0VVhTq@tx2|Kw zBO2NmXaODnw%>;zvV|+my$^XE*v1_^IkY9vT8q}7$nD;6d%)L9#{-ni8m^(N2^e~m z_VXvjmF<+%*w^ZoSdk#i06s>k_B*lFp+5jl1x`}=xZCjcf#AuG-8a;?leEnb-XAZ% z(xTl$uMVEhCdYf)*FWhr|EMlwaedt}&TKpx1k6laf9Pq7zuCVGes}05c;E}5H_%7^ zv-PL6erkLdwwvt!Q@cqSVZNs3ID+DS@>*XC*` zy#xAwrX+W$IG{rT6kg!>3*G~^lN2v@(ojqVeSh$D&hPi}j^$(luncI>-xv8|#~-5W zH+1DtnX(|Moh0%FjXZRgTuJEXNs}aaXUO}ed~0nFcKxH{6=37tpolI{7d`IeqT`gv2R6*c_8{YNvfy( zaie(gd4>vZ=KqKO)A$kQy9pjDJw$G|hVdQZm6eHK3^V#}m<%@t-HA`>(H(~V z8NLvnYDX{Q8vA-A!hUTkckF&rea2eZVOkF3d{{R{B87TMPKD3yc(LSnonKfY8zEfi z37g#MXlvZaUu5w_)(q1(4mU|6V9(RXx(AlW|ECx_1J;# z&o=BjQ?ST^qt69rDNrugjNUlV{n@m9^t0~IhIAf=zdcOM1Nee5T{B!Jn^f z7P}!S)PjuXAo~7XzlZ~UcZ_3}_fkI6>F3*GF*8wrNs2@LmJH6u7H_h+i3KpxKZM#eO z={_Zalh4fwH(Twzm5XBB=5j+v;5vZuBW*j3=)-W@dHB)(gFL#GXH(f{PUM4E&*2i3 z@{&*>r}1OJC&V9y?LnY?jAF>=`~mZbJ6vp3P4bW=GLh{HjZ0D+O=@p{kD9qaE4gIk zWLb}!%?+u@FR@NYy8d(y<$c%W-QlgxiK(Pduj&^o&YF^)>FGD4FOj&ziR%tO8#vXB zmn++MYS*#TCE(Tkt}g9=)xK@F_U*_&4gs0je@;f8*h7bUW10RMeiP6OxDh+h|DSy= zRIfAchhGS^2TsWX9fx>$usnx%2D&>ZJ!f8MEcm-bz+WD~yjnz!OmS)k(xkB&yr zFco0z4L9%qf8M2io333uUec+3JEddKrR^`LPb6i5j&FE$91ecg_Yc1UxJ>bW(WU(r zox2M=82+%^L-^93$4Qr8g8o0uqvHthBfW>;58UbXLz}BFH`Z7d>VLS07l}4}5WtGq z;R8(l*^IG^4u{OO`yv`sCQ({|bt9a&3~b*Au)>C40-OUB1FZcX{vdEIFqiuqNLgr) zT(3Ryz`PnL1NzwSH5~}Oel^miJ3Ic`2;*1y#2vIp&tGeG)-m;}(BEmg=47X3qcbw* zueHa?VfLh;hrT@MZB16zt7}GdBEMg{T&E5Dg z%!WL9vE%-ò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

NP&~V%v?tFa7g! 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 +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/08/31 17:20:45 by tvasilev ### ########.fr */ +/* Updated: 2023/09/04 15:54:00 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -29,7 +29,7 @@ # define CANV_DIST 1.0f # define CAM_PACE 0.1 # define LIGHT_PACE 0.3 -# define ORIENT_PACE 0.4 +# define ORIENT_PACE 0.02 # define RAY_LEN 100000 # define BOUNCES 2 # define ZNEAR CANV_DIST diff --git a/minirt b/minirt index 50658c3aa09ab3614e6aac05114ca8bdc437a9a5..78739b174457469a8c19b5b2985ab123ee48dfe7 100755 GIT binary patch delta 29271 zcmcJ&3s_Y}_dmX8b30rP9By(KP(%<^@QR9h@Cu5GDS~(KZlU5e&C9{Gl+=<&+geuI z)!wWyG_MJ!m6a7*nU*G6)-kOxyI9$K{+~578_3`L{(j%*`9I(NJkDD4S(jO}X77IpPf|E<}2^#pV7qiJP%~;eXh5Wwd-xF2C;T5aL?zmzUOnhVD|8G z{bI<~Z(e_9;gA8rFFgHj{Bs-UxUFuzaYfZKxAXD6+^1+-cKJ_7bZ9$&pNz@_UoMEQ zw$<7-iG592`9)bdgG#jzRAtrRkG0C^^>9;-mBPgj|8Ox&D5y4y{^=r~`z7{ePx8FP z(X223SK^4E>Peb*Eu=cRA%a(VKM8QoMe%kVhqF^gK`~OoOx6 zxs_!UFZ0bU|2@0>E9dL~cDayU=a}UhLLQqnA#38XX&dviMvcfWznN41@9gs5ogWqQ zjme?xMgBr^XZ_Ryej&Mev)v15RE}jMBQ1{%J8h>Sa^~{DHhozk&u^2{{^4bsw(6GK z!V%f)mRg*(GEU?QmA+_eT0p^j(*oKZotGq_H2z_mLHd%aEo5vfsZKkuBH!b*5?Y8+e2?@w*Zmh;NgnE2Pw3}Wa7FE(e3rA-{C2q=L6nA%4_ zc^~i4c24xVB@~mph{@*s5ZW;9F7)jD&9;+!orl8D0b^=z1_bs?$f&lVU(RqOF1x&6 zLQ(d+s}ssFnzk(T7W`W9+xtm=BjJ2Py9Zbf|EAr0DNm1*MvF;t3xpd7O2zHqwLy~K z3AQ$ypKZTRe{T_=nzp_Dy^BRi{Si`}^KMzmKqcIHVNsLFW(fKFi+HE>gyz4DyrZeI zS&dDV@z&<%m!*~i zwoVWQ0!=@iQ-0PNFTFdH`E#9S<$i$MBD>t}z&3F=y?aD+hYQV3)0}}=ShCCeTIeos zM4wnA(D3XH^OLeSj7ZHcKbO7gXc}cNj*su$n{DJzcAl?akK#dH*0Z5iPj?ArY$xB_ zHJPp87rVyjl^yw|DKVbg5sx#I$7gicPo?wm8L>>`%QIqF5Pu@01$&ww$>_o|_^%m# z^egGSTer4J4|brQ_DjglDIbs&V8fk)tPcp!Ew9gBdE5zaSVoQo#P;JKb$b>!>%8uN z<7O@Gk)x*={7{df-9BlnX*UCGR>x*E>^YArW6okd2xxcWUhjZ*9@Bv@imKj^JOm^i zt7Jb11ddBcbEba7`($=vZ}59F$FMK?>CAlgCQs`5GCRjV?KzR{=AC-w29*5fa{Vk~ zLTUYxKhkSj->$$geZs5bFu+GXhTDUf;>hT^u~)zRR<3`O)jBx#SC#sL|gxB`XVJ&%N zzdZIczo%a`d!DcD_ay7e6Z>bexA~0zUD(6?>Hf)V3V*MEbm$t)AY`xR=YY{Q(*i=i zm=-WPW(5DUf4A^tNW=o``E$VVnrng60+Poi*q!(D!2<@fQQR0XoQ>pH2NbynCm?{V zIT2nI&kSb`pEdB8W*@W=%gu>^0<48&j;6zTJC8;D-t7Hs7EjBGVmo+l&Or7O-;~pt zeZt?*8N{-A=%Ab4BiD*%L(lWT!5`~>Yxw2CLv_D+-XXUmIx#J`65|&(WDFZyHE&2K zhRTaWyE_U$vD1X;Ymr?k^mu$Vw%~~y9(+x6xv&b{+uW7#cI9Vwtj)H*wx0tEJ(fTL z)1t5K>hBn(mH&>yy0p-bmay0>asaDqp^r`Yr|#HE-TD;!aN|!V~~U29v`d!agxVONYFdJ&u8Tik2fS=zE5Do%8rqn^KQ3&huQ|cro0!QT%WqzlHF`N?4_8%>>BaQe`>4w?quy@f z@Sk1&@?D;g-zs6xyA2NC!`|>8`uy{8M4QY@CfNAialZx3#V*?zaTPx}zEyPFcN(1Z z!B*L{=Y9BJiHn{3u_4&SLWen;mc6d8SY5Cj z_r>DUFCjd8-6{)KIpty1EgCqr=*)2Dd-IZhQEUsJQ5-XPRff`o@v0>7%3gZJdPN@P za+T-&!6KV4YFNwiOksvIjn@`OS4B*Ek~N!#Wu1ERl%S&pbzb5pCnrWc1ZY}7;D{Nt z;AF^yV8Lmpn*25v8wC$4_p9nDp|tk}1g@$Bk9*e*{{~x7jIdSbov~|` zZqD}(&_E+}62*}ysd~B;y$Vq^ot&NS2eAjOJWgK59-G!KAQp=gE}X&(vPNa)XN??@ z&A*&h9u$2ynrwGs(X+Hn(td>!U zHuf2%MG_>m**y6 zgxtgVPrVb^yF74quh{(;T`t^INM4Szfo7r7>=({w&yI^-V(Qrcs}AeVKbk!>_S#p< z+ke-L-DT=@`p@3ll}57peDj>F*!2ImX6&sCs>KEW)muh2bdW~uxiJS6iXPF-Ng@Yf3$jfU z;tUU%o5wCx70r!eY$jheuQyxC56^p${mJ{z-^@1gbMrH>T?Z}b$$qHHTTssQ;PF*o zF7#(?1pj`~6AYt$Zy%P*-@CUjORKUjj%4iZs-z{JO!vRZ)9!nmJ;Oh^FPmNBAxj6a z%T;5SM!LoPK9W|*(eI%@N96=e`T)JbKU>?u{LvNZY%4#$qCIZ4Usm+-dF(lwV;K4w z{OIx!e$WxlOB_2{B@Zn-p?i(u7t2QJUe~L-u8i_v-}4aLRdE|Vn11d|RqKi+ddxSNr*t_#!CHBBD7fr({hit6 z{ZC|9pQw71?`8V;XQ~!#PIA|8oZ(Mx4by))Q?+mFF&274Swgq&sy`X-|NRVqL8=+>KkXOhCNx#*mb`9sZ>^7_0>~-zt)s)m*K|K%!nb~3r;oK!XTMGxj3olGlGVE;N^@jx_xU}sBqp1-s+ zg_ZKpc0TNV2?uWHNI2jZc1BgLd8w<;R#a8Le88O@uUb-x1a9Licc+Z4EQQkzJ-4=k z_NT<-84c&=+<-T<%NudZ2;m0SLu(;K4P@^A6dCcFGC=ioWwaNYWVH>GPs&&jaP zF8}f73jsz=v<4e%_BxLjxYz4#{R`*1T;+XpuTDVl&ZWH1>)%J%X1iQD<;T%X!0Ic~ z!H`%qKZEzLn$KR~2dZKtI-!M}b(sn2r?WS7eyAlaH~kVyoiTIxjjFu%gJ+S4ehG2c zssm!_N$k7+>EAe~0=;$|;Y35~yRkF;yS*LRBp&rfQRoi1M`i}&z?r*YN&=oK zzjZ#zH@?x2o#mgsu}kl94_~$KDfR?!vA>P3&E!M(w_v$^?*1&lhi1~i^+1N4ukj=M zTjD|H^8ST5*%uz@uD6-VHywyia>F`LQQ$=koS$8VRt-TIaB*pN2x$8NBtO7(HnQA8;tG_d8I>^K_ciI<<*T ztw6o-C`oTWm0vv6OOKt(V-L4rFY`W!Q}IkQ z=kO4$0&gDfnz$3L$L5yTjn5jFHC{YP+O-@6mganQ3e7w*z|Zo?H~(gvdH9hoc$yt{ zWE5M&UjSdvFC0n4isN3rqS@V(sOJmmvDvwT`0}5eiIe!2>TJ)$s5(FA-&X&KC*sd) zdh<_f;&`W{8`)z1_ECCn`{`)6mU}Q!X-?e?X#QvRy53i(O#DYZ{WoldgWu{9^>LAC z$CmxTZwq8&P!x?#3_WyqeF#V1OmflgnGsBN4`TIldVbs3%tO8zF^qpb+ zi_gl_CYH{b-#sp=)wI+&`7hZ=>svf);+%Oir_Nq*rv!)U7tgfhADwB&>(AW92Ymjz zqa@qqTJ5Q6<8ocDaiHr#OF?soxLmua4tfIgHs~)@AL??Y;;erXG#9jFn9H?{Xr9Zp z2Q+oK%XN$7plNtCIe!=YgDxB4a_tAbKGNlK$If&(-{s2mMsjbDa=8`&SXKxJps8cf z5NIx_1;>TVu`bt0P``05*Lu)#pwEG>2R#gW8}vMA=6IK@9`qz=v@dYbOwban8RI|? zgO-B&;ojd!IOub}7~I2P_5(PNW#AjoU08`y{eWX_TMW7$tKT-z+gLxHpqW@({j8d{ z4Kx9C9M=9qqS&|AgPsK41$rHO+&7@-v0Fyt=n{?1)()BrT154EF4rap0bq859$tW+ zfL;f!2Tfh*a@hiagQkIA2ki$My$B70=7N@h?gA|XJrBAGG;=XJL~_uRpvyqN0bRcY zLj$@CG{gou&L55pFyoeDEJ4pNLytkXtw4`KOUhiX8qn1H;eh0;FeG?cdV8(Q)d@7Z z91ACC?m7eldi`Mp0DAZlbcE^^E?0OE^d5yiXeMYj=s3`EpvxY0Ib5Y+b^%xodLDEO zXeLJrK}$euK(~Q@3VIUM33?m!HfZK1WGEOoXd38k(0-uNo6!JhE@&yqK{tW=ZN+2; zUG})krG=pWgaeU**|iNl04>?>a%~4a{45#-9rrJcT`1(BnV^0z!!hVM&}E?KLAQZ! z+l9$U_$%l+Xy&U3kZ{oGX24&AJ?OSd*n=+H4SUdC4lvum_`MDXpqZfOslEpeK-Yst zV+APL3kRTnZ@>Z7L6=b-Pl($&1beCgl=1JKN4u%|j+pd1EW4|*On^=;UL z9tMq$L>+H%GC|jajsv|7x-1g+|G0PI0Kmx;Z~&V7J{*AheER5YS0D09_9{ z4)i?eGSJ%}!X9+jN3aKt{uq-LbQ!37H1t3dKyzy`H$YFGa=E5}Zufy^0PP35>k?K(s)Mcv_4@`ZB53Lr zIE+JJpzA?Tf*uFG4tgFm`a9Ug!wz&8sGk#e4`?Rnr=TUEPS9@@+5~ zpqW>(GJ%$WE&%oW9*#g$L2F13`YC8Gs1tM?PyVVkyTylp6&xBez~%DLINfa{Kmx)9(aii(=T;pWqjtP-mHedbg6e}8a5#; z3*yQ~dBP1r^S>{_5|a0XW$|UQTzNSxqH?&)l|s5%{sWmLnf`TbsAU9B-9ks&ry&RZ_|&gs+b)1)tdd~u)TTgE z11wiz_YpbPnZy9{6obJe73*HkN(E^S|vF zS~l6`YNNtP1D$~exA7;x?TCk^Q{M)&U-%X1hH#JXVtcNh=5n=Cy3`HYySD>NZi0ma zI}D6`(M5Wxz|QjG?}9@Urn_8t<`Y*O%8`)RdHHuOLzm5PxiCWF!eXnfhh#B7`dwJ) zMo7Gvlwc9k_CvCs|L|QDK0@<$whZ;V8dD-NXv8~#b&^J>fFv)C0kQ#2TYf&TSumF~9A&EJ+q zqd^yq$Vh1C@$#z!DN$E@z^C>5sN_0FW4VQ==_0fM?_D1V zB=Cn=HiM_5+{uTdJj>^z%-|J*-;HuHKP8YGf)D(Wrg}Qc3_kqF*!Wx6*J(P?7(S@? zwR%qW^P=ISJ9`|uV&N6g&E~sN7V=XlE&K+`89eZ(SlmtNDA6)XEJrA3@CuY?`EHa+ z{1nRl{07RkJg}bdbd)FfaFkp4T$D+?0%alJEs#?v!}$$?1l}O4bd(l8T<~*IZs8Ru z5f93p{1nP0ena4aKT{0pD3kbbl#BUXl>2!FN(e6A=f zP&)bUo2^+IKL@^)|ADfSNBlw`DtAL!#7CpF@g*qjd@IU0en9Z&P(mN&Mjr7imEBO* z^U)}4`I28dhHk^*;Umg7F3RzGO!-276!I;$)bpEjLQ@0GZozMKED@J6; zAHhBQy`yFmH0VCq1hb+$u$^?$0A?<5q(`TaE&RqG!B~IV{u%3?0PGg9!>F|m{S?~f zy-tyJLgMQA%s;zg%y#@4+;hsic)S2kmuMC8qC2pi!06nBhXiqvpTockt8V=Hv5prQ z8NBB2#cWGew|{%NJ1VQ~Ld&G3HL9*?jgr?Z8mI8Q{~@jazw0@)|EZ(@9X(|JzdGJG z+Kpwqv19w5@nqG$pp$}_AJI86?64ISUvawP$*%7U>cA#>puVsxJM7M$Fgj$iR{BhD z<8}la;BZgSHO<4_-G#Nr-QrQ!S>~74XjbqI9)|VA0T6lW6={pHgUFiK0Gw1h1J)CR zu#;InhW2)4>CN)pZnAuDHWFl{ruk%Ixpj-b0u^6TkcH-#j56Ha=CDR$`&$UaJxH^r zntZUu+RNnexaS`R?SPgjY;91uYwj61U%0ym{*9W&%cD}YJqvzV!3~N!MMUjZQLl-x z&FWf4;pi!D2;PFP$T_r-E_PUHnu;3%N5S4LLBzTV{zcT9Uwh;!+bzWUH@5S=fZdvD z)<9tI5+7!78lDO==rlx0l-_pk%|N^?9&xI%EHuapbPL+o(`KXMP1L8oNZlNDPi zy=m0v;1)10ZVZ!QIr2FPUABcxeg8wDg_J7&!J?%Q3|%OOFb=fYUNn^gChS@e+V29+ zvKlQs)7XMu0V|*7$b)-_=OFT>0lK5m{CttgIQJ;)B*Z92Fh;W$ntXGM^%CR)kF{Cz z5U$|k!nKeZ)zVlz!_jzQq?@(GqwU{d!bXFklZ_S<*VPV!^$-78!BbdR&;`rCK*K7a zw3nDYU}}i@9LxvA{0Zg^7|o+p*+-!VtRRf?xlBV7UNIpu0s6A74lGk%BTyeI#1x{} zdQ?X?RKwjWYFT%xuKN-RL3KZ~Q+2(n)@n4>^bJ&vI1bwuRCQ2GmVde9_@Tm}2?kf* ztQa>&v6NkQGzg15DxBITi_pR+pOG~%)iUfTl%E7u5gOZ>W;q3oiA}*;XnqHx(La8OWdm9twW%JTJ!49#*2zIt?%A)r-(`C}mO{wJpSw4|BR>Ix#2w>YIy z^JzW0<3`f)Y2X8>kVy*zt zKX?;-j2O}nXh>tm3yo=Dn->%NAt^UsghKy_?nKS~Z_GEH`M(7y=tC4Ma38P-VrPP! zU~IYd99~7Xz(3~Dtd4l(cqdiLEY=R-KP7&pEv^rEI=-{}x3IVZm=34Ps{Jf(JSx-> zTV2C6|JKkC>VV?kWSHj{fEzG_4X|E=#uEf(Yu1}4pJTE5A)sx953*4p4yiOa-1;#< zA;^uh{sjZk#E>Mb%jAcqTIo9=0w0#9#ryAog?m0APZm@K9;Y&mP4)`~v9O6&TEJ-e z!d$n~$|ejaxobfep*sjU@=T4*a)7R7o?+HO(5^*3JtH*hF(jAnCeO%ls~sK$9+hUz z2LCPL(b?81;Av`k#^hP&ntby@>q?W4EwXMj`M4R@ttKB|YJJA!TP${1UqeMS(6Y>W z6uf9SVT<*o$+xPserEECC#;uEzIC1TCzDUQ759tDC)-%u?`EY<5{vr@A=7^2nS#y) zk$*hiYVKh{S7`l9BR({UHmz}BE#X18!HxmzmFS*J2n(WZCt3lEBbqq$(&-F`Dc z;@DJ?I$DC*bj>;em`M7J@W!OijF!!gfY3eMe-w0sicz?^(fYg8FCR0ij+L~SOHO8M zE$wW!bqRF;qWT=o`Y`y`*!EbdX59^b5%F_1&H4^1V$RIBTPwidLxKg_)(^nHL;S)b zYdUB;29zzDVZ8x|?+|})sg?HOZ+&q8v&D-WLtV1pO54sMQo6533-W~ZDOh<&_&orp zao(W~-SrOBtjmB=cfG^IaTh>05&yj7{ayl|;T_eei>=8F(7SnKYP=n>Y1U_y%UX6!`XZTt=av3s|)?g6D#d$(%hFEP9^j@D_``w)+aDXCLKzr2$( zw4hV)_cI)@B>yvD6R1sxZ#`IFT3LMQ^dmNN&Hq<`4Qq#YaF8!V*U7ZC-?t!XK0(&c zKxy9kglN|D;Avj@gobPW)OJuN4B8^Ytc`yb*aTXnd`D3OqA6OwH2<+a7=LpnXx<_I z_W%xBgdz^6-W~mdL5jRnt#pKofkeMd zi@m2?#YUaZG5Tf76*l}^nppI&P*99Rdky2r=857=7!HBko!&(@`gf-HfS&k#3COf2BUz|-h2`zaSPDew19KkrXs$kwlg%xbT%a>*>T+<#W<^%Nj1u(7MD(bY?!6Y4_;(aR4 zph%_@;tl1XCmiU(%qLMC7kk2oI4%}}5y!<gcW=1m7*_PQ_MUe5(zK~a zI4hu!FZD>)?mhHQ#1kpvX&)Ma8-Uu5VRQs(@5lfkf{zx#%UGI=UL{lhA5?B%hiknJ zvoxCz0~(J|Hc^d6{eK;e-<5F|88?i^7I+Y&aVP@gFNWhQK;rbyBGqVUmihR&Z?bYg zNyqt243W`*O>(bDqZ2co-AH3OG-$xCHfYfOU`if!2nCB58?G-xIntp@IrNO1mE;>DkVgKBv_D>GYE3M8Tf$-2vo|$1lyF4r4wiY3K&iK>5-s ztVtm-Dzx;c}3pX|`iS#DLu}#+TMHf!@UsT+ zF42|YEM2oi`D@yR20=aqnq@hZuly6!eExD!N4B*=`{G{Ld@5;qen|kdv-^rd#7t{} z=5v7z9&ZGKNcBN7>grEtSFH=w+_gtA40KvV7PK*#i(Bzj)&aG86~Uu4KT$D)hp=Ln zXDl4TCbOrEb3<54+PdC$GSvKcz`^IL5HVDV%>FDU&A?yrM9`yR5L^Kp9;-({Ti&@@USP% z2OGT#*hIG7c&dQSV<|>pA&X&m8SM*MNBztIV@e@w>$uv~undv5M3Phbt4OIbscB`s zs`$^qva@Tz9gR{X)`3mH6L^fEj-)jO5uRqN!6>=4e%!E)W}%5gaMPPZdI^G#SdVE) zH!8DpG<`Q3gGaNC9Re`?tXmqIxBLc`R@t&SZ#xFBOjUenM7QA4a}>bW4eJ>8pkAA8 zY#zfB^_$uI-W-EhH5ko5$FpNP(~KiUtUH@w{87ZBLJM-FKe(V_@O}jzHWvg%t zq$zBm?#wk_p28wnsqyv{)(=vjsjQz~JH*JF%K9Qno2IhPtjKtODr=kgDONMHnMcq} zvnVydLuK$7D;nUKX)GuDhQd5L0A$0Yg6B|F>W1yRe;Qj$H=^$hyl~X(hZ*mcuwho( zxu^BVLYNWs&r71$UM%UoE>;8oL&;Xh*FQr6HNDfPQ|>x_Dkl zk!M}j<(L}|{YB|Y_fKtA6aQ|@IQ9NQ3&o+uFkqtL7`Qj~#hz%u{W8hFh^n`|e!MxVX10y-wJ zd7jCssxR}XF9B^4_dKPCd5p*17VZn7(ha!g^$4;Ms-y_ZA$l+rlF^MIZQou$K=H#S z7^Q?TeTp604Sf3j!fK^%)3F}I3Jrg_mr|I3Y_X!srnz+W0cu|9jP1lWG+KbyG+ z*y2Xat)dJr4S-dRpm6yLdHfGp=V||NsM!V}uWs3q^z7}c-nIMDyLNi?#=CaEK+rFV z53_55AA$+`6otDi@w|uRySoR=4+KKKHHIx=VUF*S7#|w8#zOO^cX=M+%@LQ6kW-=g zipOe?AU}Gn?hTnoh~`I+)q{w~V|55I^xj4f3n2@7ZKH>Jzf8^|g&*Ou4LS3s_n~^L z@9A(S+mJB5*VL1Qazmkc(_2wJp#cyEn)e$%K$9EMHsm;zz7!Jj2@3iCtXUQ!q}OMD z^!kj##_KabdVNOGdWJ-X``Hnv5JaWiHPdwpAZ@dKGy3UW@cnLn~Rv5kU5aU2Pxqmy%BifGIevV+8 zr=#j?RNT)(ZGnWQJ%q^=TZXoJ8*kjtx`Z57{=8`2sYAb5-l4}!f!puTC<79_aHH4_o&#>J}aQtGWd|sLK8#tZfmq#!@{uV3|PaOgG^n6 z4YU3p*Rq+dPvcdIc{s>HQoe7klA^Rl@ zj!Qi*Zwfjo4Us?(HbrUQco+5;<{FV3*s9F5dD8cKjp9q7X_ekt-t@NRV0sX89t^!E zM0|DHa4;e)$G&qLSOz^a1XZw&dQ6RS^`z)3y^ppfbUnSS0;CAma87 zWFth#`;AvOv#x;;+$*KDxlpY2#&4ThV*X~;xR_jci1*6y!?(klf|!RQ)8GFCgyv9a z+7?Q$!rUB_QO4ZISjdcrl}t?H8%-6Rx}3zxDq@k1S5!r~s!?;_T}5qzB8iy_6lS&e z8b3V7x<w_()dP(@!DqAC9w8BDZXEmdHm7nyoDt;D^|^mK+TlBXw2QhLZ)9-GLeXG z%DqrD6ERnTqDMbB)u>a6$WhG-Gk_uyD-|frnj6=*u>8oR&X7<7i>oS|)o?O5ttwv6UHlkF(fb zH)@K%m2Os9EpcDh{O?iBIap|@yg>YV$A)^r0WJNT5V3;0g9zk zUoJJhQUbBfs){h%t|sr?rW#d7+!HLMJl3@Gj;e@} z{X->0G=BoOBQ2cWjO}PKwRB~Z9@Xk{$Jp5v#2gd%??)^5)jh!mc^fO9W-W~&+nBGh z{g6;coujeS7%k1S65ChN-IY!7Hq@v1AV(zXCK81~5j%7LQt2j9OrV=H~C~ z+Y4+^GhosVA54_r&sci!<~|XDNN@=LA{Pttw1*pgBGO?VN-Yx8jM^e5tdnBG!88db zf^c%`kikX5ua+K6PNS#^-Y1;+=ypuD+&UsBxOW773=-pk$jm-9@6@Cc8w_P%50YtG zoE4IsV5-oQKs;V$Xf3Shi9n#xGK~59iuUojQz&}hIs)&dV$eD2Qlal?-vVeQdLSxI zYfaG;lhjGnlbh&ykX{=Vs7GU<_=30y)PoY6ssa_2woTHODRo*$^hWdT8iq*dwKtR0 zLsZimlaVRZ)Av38BI{u3-A*Ne+Ln?)Ih;Y}a0WLHXGqiG45iUGs-I#}`}$O}9wGQL z*oxyU$|!r2`5TizXG4r%j*oMTac>lBW6EN!3X zC#<8pR}rFd*FH5WYFMZ-^jb}jmpp2-8ijAon_In0Y0yKgz0UAJ*=L3#~_ao zPrY-nhmYX>z#F5^vKK;gJ=%B<@(A>Fd&056Bi!?Tj}D%0SB$`OEX60-Q%?xl{l>jnK1#JyNLX43pl49(tii7tcc;*`9?SW2gq6J)?VTj0G4cPqIZuz!z*2+rIC) zFW4Z4WBb1PFWFfzCC2*~SbMf}-=7zlmD$WgrduHMXyIc?G9oXsOKj}E+ZWkA{>Ho? znZt+DJh61%%-IX})&Iyo4ACv_#*Sa{G;!8VkJ5eJ@l8HG+IYrI5AvPliOkRi)Rw46 z89DBHbgmB$8+7T~3duAnZAxZWlxg`Ud$<9bV6xTj2CHWgX{J@r29=Q}YpODBoXNs! zqqiQ>KS^niQ&iW|o;LY|4W1^NtZA-m=}(({wfp9wdZc#;rJZL~dg!5XrjscO_Rtos zNRMtbBCS@_>y-5OhNecE?0K4*xDd2t8p~A7UbcP>QlqitO8ktM5$C2yc+=;^bUknU=!JoNLRJ4|1X}b+pQlxIpO=_1?Q2y1 zQ$;a5O|~VD;dC)=qRF;0n2#Rg^SM%v_cnI?%pzicRQ10Ub;k&Dce55{FmFBD$E;qo z7#A#hl+TlRc%y5VMWotihpNA3F@Eww4xd-`Jr>!omsI^t;}LH?vM^0W*Qp`Oe3Q*< zfJT^XzJlB}ybpNVtj%atG})Q^(8Cjfq2H*9z_bx2d&R@3`-?^I`!h=a!o#q2*4=U9 zq4ebAC9Sx+xEXOb@zTACY@{jc( zi_#;E?HzRY$Aa~+@J(vcQTB?THfuYu0-9=lD3V!tqM!>IF+< zzK%Ee8fmia8+?s0*$y5eH)(byqQ?@tFgParVZ(wnqE@kAc!~un+O%5PU{!3g7mR>J zJ^DZR9clWdZ#v4RCYXND!!K3}pCL-bJw<+E>Qw#b29tb~eb`5Y@*h-2nkpNi0sEdR6zJ=RsVE*JOXUna~KAV#`BB%KwAaNYm=C2CE58tuP9GOqFX& z#YcNeWgRz;!hTT8VN;ojEeRGe&;0-EX91oM=wjMblQk5CMIgiEp9mIHu-}99D1&Rg zqDZyL?ov^cnaP{IW7=f1Q(Xg%qrNzO{b71&$Wbv<>>KEi7Rn{cw6aT zv56oZmsGvcWSVKxLF_`*-DxJ>|M>Z6Jx-;FLMS8H1Qca;b=G)o#s?M^TMr^*zHX?==rHEJSti_tb! zpSy2+s=kLAtJ~=zcs^L!P7gC?w9~^`qTpEBdY^?(@c^UlC+nknnj}eyBugZDK#~eco|I&#QPB~@cHB5hTM}2Bu=YDfj~v+&B%Y}Bla1Y7F=4wJJ2LdJh#X~Iqrx!5zDtN5 zQXbhp207dov~n_ny3uBPu)A;lM~rC9);7by>=L!?D~0e2$!jpD~($!C2!+Wcl0Di5C?rNnOvDa+cgK7zP>H1aSZ!6rcn%^v>__2j(CjBcV-mcPO zSK{v!Ub;~tR}_9jCYu=*nYcki@GwEiu-z}UhAFLBA$GJ^;-+6>B8_gQ*;{t1YUWrB zR(S0YiKhvvCjKS{HDg~d@h=oULFt#)NW6!_7fReH=&1*$uQHuxOQlq$w81pqC-E4C zKQ3a=*=d?pNU^ud=j#f$Js|PVmDxcPA0hE&O8=NlMXeH>zamdkX4ioSYLQx5%PfJ2 z-4xs{rJrUm}TwRenr6h z>5kL$HKo5@Ey2lBUHe7hwcIX{oeHNv#(^YYeNoff%ub|LW=FeA8n~%6<0Dg%wWeRi zB42F{)*m-neC8YPwT5SiTZ}C4+P-alKl@Rx9xh6Yn6szNhfNWlwEJ zF*=+R?=SOVTO+m1<)n?m8K zGe3hGFU)dMZ8D155-DyCk918|W_hFRqW+N@#W@PERoj!fwk#L!*cM~u03>b)Y3bOv z6Qs3=@PVHh39X1@rjr~gZllDfgxEoU?2+!TdNs4+mH380N^)t;);~`7|pJ3LGv)2qztrKcA>aL>TB&4p7*lE={E{=^;US1 z3e@aCj&W)rhH9kgZm3(}*-I3a?jY>y%lL!tHzP0x@68#G8J)N}T@Q23=_iFH<*ql!UcD z5_f1#|3(SP3QU77cA;t>tEMZQ{e^N z!<{+5JH zx+}a=b+?o9(^ukcw5ET5hh&AOLA70|nrk55>Y8@eI2{#06JiBjt+rR9?1H|cPuW8;dGVkOlA z4SXLwtVMFLno0Ldah8&IF!4wBJw6n#pZ8S{)6WI(GbZah+}IkU+jPCX_m;P$%@$+s zbbTP(Z5$xfd~LYLxG`Pt8g%P|RJwIRdj2Ka$g=36`-aWXlXVtrEV*0n>iyRfvgdt_ z161v~S5||JKTu`EjP!f--rlM7I|5wK8cXhh(#I)sRu}P8?!m^%d-R0Rv{VUMTFAC= dw`xU(M~R-|oiS93GL3E}aJj&kTcWrA{{Rc!OsW6? delta 29404 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 +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 12:54:25 by tfregni #+# #+# */ -/* Updated: 2023/08/31 17:44:42 by tvasilev ### ########.fr */ +/* Updated: 2023/09/04 16:17:38 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -54,9 +54,9 @@ double radians(double grades) void cam_orientation(t_camera *c) { // cam_scratch_orientation(c); - c->right = vec3_unit(vec3_cross(c->orientation, c->vert_up)); - c->up = vec3_unit(vec3_cross(c->right, c->orientation)); c->look_at = vec3_unit(c->orientation); + c->right = vec3_unit(vec3_cross(c->vert_up, c->look_at)); + c->up = vec3_unit(vec3_cross(c->look_at, c->right)); c->m.size = 16; c->m.matrix[0][0] = c->right.x; c->m.matrix[0][1] = c->right.y; @@ -116,24 +116,35 @@ void cam_setup(t_camera *c) c->m = mx_get_identity(); cam_orientation(c); c->aspect_ratio = WIDTH / (double)HEIGHT; + // printf("FOV: %hhu\n", c->fov); c->viewport_width = 2.0f * (tan(radians(c->fov) / 2.0f)); c->viewport_height = c->viewport_width / c->aspect_ratio; c->half_hor = c->viewport_width/2; c->half_ver = c->viewport_height/2; c->horizontal = vec3(c->viewport_width, 0, 0); c->vertical = vec3(0, -c->viewport_height, 0); + //c->focal_length = vec3_len(vec3_sub(c->pos, c->look_at)); // c->horizontal = vec3_mult(c->right, c->viewport_width); // c->vertical = vec3_mult(c->up, -c->viewport_height); + //MY IDEA ----- + c->orientation = vec3_unit(c->orientation); c->viewport_top_left = ray_at(ray(c->pos, c->orientation), c->focal_length); c->viewport_top_left = vec3_sub(c->viewport_top_left, vec3_mult(c->right, c->viewport_width/2)); c->viewport_top_left = vec3_sum(c->viewport_top_left, vec3_mult(c->up, c->viewport_height/2)); + //CHATGPT EDIT ---- + // c->viewport_top_left = vec3_mult(c->right, c->half_hor); + // c->viewport_top_left = vec3_sub(c->viewport_top_left, vec3_mult(c->up, c->half_ver)); + // c->viewport_top_left = vec3_sub(c->pos, c->viewport_top_left); /*1. calculate point at t of direction 2. move horizontally and vertiacally to the top left*/ c->pxl_size_hor = vec3_div(c->horizontal, WIDTH); c->pxl_size_ver = vec3_div(c->vertical, HEIGHT); - printf("Camera: vp_w: %f, vp_h: %f, ratio: %f, top_left: %f %f %f\n", c->viewport_width, c->viewport_height, c->aspect_ratio, c->viewport_top_left.x, c->viewport_top_left.y, c->viewport_top_left.z); - printf("Horizontal: "); - vec3_print(c->horizontal); + printf("Cam_pos: (%f, %f, %f)\n", c->pos.x, c->pos.y, c->pos.z); + printf("Cam_orient: (%f, %f, %f)\n", c->orientation.x, c->orientation.y, c->orientation.z); + printf("\n\n"); + // printf("Camera: vp_w: %f, vp_h: %f, ratio: %f, top_left: %f %f %f\n", c->viewport_width, c->viewport_height, c->aspect_ratio, c->viewport_top_left.x, c->viewport_top_left.y, c->viewport_top_left.z); + // printf("Horizontal: "); + // vec3_print(c->horizontal); } // void cam_setup(t_camera *c) diff --git a/srcs/camera.o b/srcs/camera.o index 1e542423698ad2aa5cf33e565a0900a7e03f8dd8..fa674ea57b5a470aa2fa42d52a68cc9f38fb5719 100644 GIT binary patch delta 3713 zcmZ{nYiwM_6~||Gy?0->ch~!vy?*Vkv+G?yi0wwfE}__tm)Z_N&7&!yRB@~{Z6gCo zYzIhNSQ{%ql%i&JL`kp^b<>i78i-^BANWvQA{0KPX-betqe^krq=k||+R{d%6+LI} zT<>N?M%uY&e*ZIP&di;;9>2BW*oK2So-4NGeS^87{rPk-5FCU--jqHt&`0fDAUMz& z2<6l9p#w7>&X{tVxy~3X9=vneOpk)-Ig>+MIa}Q^+(2jXdVYQfA9lb1uk)c>KHU=t z4aDbPc6uFmI{y&}-sQn+WAHZ^lAUn=jUEUF;v^+W%9TsfmQF*{CoiJ!eQ!h5*wQhw zYv;sm$z0}p?Mds`;$s7&4~*;_-?9C{NnP>58^&DpFD@F4G0ryH<|P-T-1SHHyZOj+ z=B&QWzsjFAhr_pY1dPQ!zN>>{Uef;0CfxaJGT#&qcrO4DC1O`-HGN&Gm~ zh2uB&rJ)$5$egv$VMe&pF$C$?* zxh&gAmP^C!vDR{#T)$TMw?A5F#2kD}>uHVI>8g?A^rGg9SYxgsI~r#ZGN?F2gt}32 zL}gr8t&Afhwi35S%Pd9rmC>9<3+N_?SI+5@Gg*qZlxQo_=qXGh@}A1XXpa$miW_1n zZNn_3ZPdm~yslH)CvguL^+S~qt6E#2c^b>6q(IX%(uYcR=0wSEK2@@_7fW{Tx}XeX z-*FkPMs7ZQJMqXLmFagk%h%)Kk>}v!sy+349^5g>9$|ag581@X zL)*8lU{sB48{auG0gqOnoL?Kbox>BsEe*8sS$}nKu=-Oz<8U5uRtNj5J(LS$TY-oE z=Lz^;aS6vQVc<34ib}(=5*lh=jIMRH8f#o3!#P`+bj6LwU0*Srm*9h%Hec9qq=hR< zJv`y|Hq+4`cC}Hp5Vx2d~Uy6Qm--T&w!#$`mqJ!urV3 zmcwY(;NeIT!qTbE#bam_U#Hs7Kq{Kx=b%3-_IE%bb zl7J+~rM(75V}pD(EX0KQq#TRZgRwgN{r3y2{8Fl)+(fMeubAZ~{7Q82T6kY{6l%-* zPOCjnF_UHdw`H8RpFP%p$~dj7&Fj_PqlwcO)8>7O)1$%ShRpg$usbe>XK&JtjuVx# zZq{7Ocmj2Mm{o8#F3djlHp!{JO#Lx%Q<&2?QGX3xrr`6i*G$~)!(Ma@<%z@R@5=f_ z$|Am}xb5GC8kG;q{G;>Fn|{vkf|qJL3ftv=V(ekd5C6hi-{Y^V_5qFC?VoG>m}bxP9nsKCZZ5&Bf-EipMqnsN&024xiMm zr&Cbh!MDTi`lIGPwU<6s{pdk|quzn824Q}#R8yTLTg}5Lss*(XR%_}hD5C0AuVGA6 z^RUn$y!(`T5EjvQR{7Yoxva820-;6`dR0?T!TLr4>l!_w_ci4;m_}u)(PREqQ%bEpCq15|f6xGKywNt5w zpqLPaS2T6CQcr7qqng_}jjvJsPa6Neiu0ky#}xm};ss_e$HPkC>IK`ppm>$Wk0@?x z9B)*zWHkPk;$1iJF~-g);cGVtc%&5{*7&00n>2n^@llOicPYjmfKW<|?$y+YTEBf7 zPbps1xOD+z?0Jpfs{CJu-6>IcLsNT|`mV-jRnF%$UR3;o#%C12tnq#oKWVK!bT=J@ zKQyH)cI}y*nE$M4Kj(3nP7Ci;ljU#>=F+`*=U+^Bd)LWJ7hN+_nFP;4e@0+^Zzjv{ zkoHzMjP{eTkiq`yQoaHf(f4!cZ>A5p+1%?r>b4@U!pI5!G%4OctLwoPm}^e(r+{OG z6Zqc?m0hriYyx;zc+XT>>^qRkCV01GZSwxiSXPeoI>mEr2*PMM2A$18ehn6~f^UZN y*)0E<0`nx8xh%gZ2mZb4{9PE$CHMuY{{Rl7{thhU1fPQQXeWWU2;Ku`OZNYCH8c+Z delta 3884 zcma);du$xV9mi*OZ}(n_?|r*#J9oBo=Q}6H_5qdi01{(Yu`wbq0&dgB1W2d_iXGc| z3oec=#UT*+^eakG5D%p!meQn24N|2Lfm@(BK+7XkB2txDsR)07La0(wl?(kC9JRg6ZWgG zYunJjeo@udzV2;{s*)S)ne{8%>R&(D(`%c9y?xzJY}h!+YWB}V+I#zZcJ^)>T>r$P zD)_zrO5{@wTg61l>b!YggGy)Rkr5}&?%P92CKSNg1{#Q3w#d8Ko3c7WcUVg-LV}cb zga`>$la5fcmymD*UA*4A(2PWp+5Ut?8)!b%4m5nI5@Lpsdo|W5A=YdR?g+8U0yd

5Rn!H*$yTMZ6~kcEspN8xc#D*J`Ph@J91--uCc zFrUy*&7GpedEZRPhyCbGrsfWz353sBR-c9*Tpj+i9E43-ol!kT4CiSRwu%6UJ$Mb?kl>EzWc+IAl$ zIBoBDUJ}lU8`8QW6>q-M}lNf)&5k)>1!_w<|WG5Nu-n!wD+X&0Lw`}Sega^vr z_V8L?f6u1D3CnjUg)aXu=8Uj)XeskAEBl5HE9y?Q%->SxV#C637JTggPu%dF)Mo3- zZ9y%pD?bTo9&Y=%JxjR-z78CXbZYbTd$fSAzK|W%Onr}btFHb7#)I>ZELa&btXKJ~EM{wui030P zgz5`IWiNSY+6AXk?H6iQsf2b9OryG%s~VAGS3w|b(8W*}K1N@HkHbb_1Y?5ulC0oM zO~?rR5RTIeKqCg-3>}e1+Rg3XvE1<}whKe4Fx?1~D0OnF8EsR|D-)cpVL7abHd#Lx z17y=I$LHVI?X(SsqK5Uyo2VC=N`o*RJxon_(rBa>oG==b>W4jz%!OvTf z4+!p;_!hzENc<_m8*C2WRjkA#)=|l3w4?G^_Ia_H*F+pE*o@ehjwMZ;-aI$NMwLr^ zmEa8$KP-5w#Q$dVAbC&{3^+ZEckMXe`gu^M~VPr|;$61>q*C7Rva`E`nrCU7U?7W*c#9)h-GAvd8VnX=k$qOO3UWUBgE zq25}EvW-6WkA$fmrjl`uGA}k7`Ujx3OWeQ35wi3kjw!AIT1*YQ`K6MOe>&jlL`*w? z+`;EC&M#JY$AhWbc+C#xk53amrRiU@?b>4soJ+>6yRmj7w_id_Dy6-_R6ZoUjHFW5 zceZz**fYB&%tv7oy}w0^4}~@XO{cUkm^Wk+VK=|L6Vk2lAx{_lw!=_5Wqp8k_1^2f YSnS59kj7vVTVY=jg^%GOpmnML0=ji7EC2ui diff --git a/srcs/cylinder.c b/srcs/cylinder.c index d860d8c..2bb6fa1 100644 --- a/srcs/cylinder.c +++ b/srcs/cylinder.c @@ -6,7 +6,7 @@ /* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/08/01 16:18:37 by tvasilev #+# #+# */ -/* Updated: 2023/08/08 14:01:08 by tvasilev ### ########.fr */ +/* Updated: 2023/09/02 15:15:48 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -22,7 +22,7 @@ int intersect_cylinder(t_scene *scene, t_ray ray, float *t, int i) double discriminant; t_vector X; - printf("IN HERE !!!\n"); + //printf("IN HERE !!!\n"); X = vect_sub(ray.origin, scene->shape[i].cy.center); a = vect_dot(ray.direction, ray.direction) - (vect_dot(ray.direction, scene->shape[i].rotation)*vect_dot(ray.direction, scene->shape[i].rotation)); b = 2*(vect_dot(ray.direction, X) - (vect_dot(ray.direction, scene->shape[i].rotation))*(vect_dot(X, scene->shape[i].rotation))); diff --git a/srcs/cylinder.o b/srcs/cylinder.o index 1f71d3267323c254cd4c8520ed43a397db5a5f20..fd9e174b33c442972b3a24ede0bf990cc2389b90 100644 GIT binary patch delta 10009 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 jDc~sF*xFIC)7+&L+UU`$()bIMW-L| +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 12:29:38 by tvasilev #+# #+# */ -/* Updated: 2023/08/31 17:01:41 by tvasilev ### ########.fr */ +/* Updated: 2023/09/04 15:59:58 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -32,9 +32,9 @@ int key_handle(int keycode, t_scene *scene) else if (keycode == MINUS) scene->ambient.lighting_ratio -= 0.1; else if (keycode == UP) - scene->camera.pos.y += CAM_PACE; + scene->camera.pos.z += CAM_PACE; else if (keycode == DOWN) - scene->camera.pos.y -= CAM_PACE; + scene->camera.pos.z -= CAM_PACE; else if (keycode == LEFT) scene->camera.pos.x -= CAM_PACE; else if (keycode == RIGHT) diff --git a/srcs/event_handler.o b/srcs/event_handler.o index a2b54c58a12548cda767bdffa598e6ea03fcd628..863945082c0c696ba15d0c0200ad3b5eab6c5d73 100644 GIT binary patch delta 53 zcmX?*dmwj1I3uINCMj>Z<+uA D(B~6d delta 53 zcmX?*dmwj1I3uIPYrV*vlGnILd;Ka}45objd!0O&&% AJpcdz diff --git a/srcs/render.c b/srcs/render.c index ca56ec4..f376041 100644 --- a/srcs/render.c +++ b/srcs/render.c @@ -6,7 +6,7 @@ /* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/08/31 18:23:23 by tvasilev ### ########.fr */ +/* Updated: 2023/09/04 15:40:18 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -141,13 +141,13 @@ t_ray create_cam_ray(t_camera *c, double int_x, double int_y) t_vec3 pxl_pos = vec3_sum(c->viewport_top_left, vec3_mult(c->right, vec3_len(pxl_x))); pxl_pos = vec3_sum(pxl_pos, vec3_mult(vec3_inv(c->up), vec3_len(pxl_y))); ray.direction = vec3_sub(pxl_pos, ray.origin); - static int i = 0; ray.direction = vec3_unit(ray.direction); - //?Debug - if (i == 0 || i == WIDTH * HEIGHT - 1) - printf("direction (%f, %f, %f)\n", ray.direction.x, ray.direction.y, ray.direction.z); - i++; - //?Debug + // //?Debug + // static int i = 0; + // if (i == 0 || i == WIDTH * HEIGHT - 1) + // printf("direction (%f, %f, %f)\n", ray.direction.x, ray.direction.y, ray.direction.z); + // i++; + // //?Debug return (ray); } diff --git a/srcs/render.o b/srcs/render.o index 7564751c51449293b480385bacad4b3a1578e570..541ef023cf46921be5852b1cc9f2dfaa300090e5 100644 GIT binary patch literal 24720 zcmbW934B!5_4x0b$r~mK%p?;cVG#xxAZ%FxH7aNV2_z7dEi8fzlVpaZCNtyAB!HDQ zXpIpIAMH=;Qm8+zOKtU6EBdqA264f)Vy(;1jjC1L1JW)wR)t%o}cU1<; zt2-+LIo`s`K#4auBXAVesykn;?s&|<`k;5zHcX@bI;p=ifB=iE#3FHTZe^glx@%|P z5aDuf&d$IUknrYQ6}VnruMONGuQvrA#B1&vtZ7-m@6D}+ihI|&4(k-1-*o={z=t{B z{ZD=2odkcY4t?RBa?HE`S?>xvIqcovtq9~xou^7qdR{J`OO=5p(%c!qY%;e~+OYb%tD_9YD`j>Sg3NX8gFs_k*i9MWd&f4((Tht1i`Y%SWxgXvnpX<(wCzKdiJdesdGy0@Mx*3jEsk;( zh%11m4dCEL73m!2kaLxRb*d!Hk44yIbgYbuRpKxM4UANocOq!i$X)<572X`zziFbT zb1u{h7Am~Ca|^&ip{x-s%q{4r#@_0+ojujtA47juSFBazt*&B4#qx@}ie)&_%c`+2 zh4{fY<<*^YOS`py& z9P(jRig=6UWN5#$;sN91TcMJQZ66qwo!`I`RkpffO~r*3Yb$~m9<=8CZd-e{e}bbL z+=i(SE5Ocx91Vq61#pA_xHeECg^A0cQzq617DcdE%Iz`ODc7&cu3uvysxT5aV7oil z1j=eu3~H@Yb8lzk+V)0+-tAD_~V0*m=Oa|0VDKo&!e< z)Ed(bChZH9Q!cOv(wTCBnnMfJqqHE+p#_Q;tT_cA{utU*y(<;iSlju59MoTsT}oW= zDlEy~qC*=px!;EW0b}4TJb14G%MYynQWM+(5zbcyx*;1DuxB7~t-O&y;!p5*lUy}$ z`jms4vQz|zL^+&g{9tW{@X5t_`(xP8{SJr7Ze0D;k^yEXJz0I=b3a`FSiLKegVvQp zai)nLF{?z&0?6gCdS&VjcDzoG=N)M&|YEI%%r9^DS2`xR9=P2= z)5}4675-pFfMpvN_bD&J-@$&CaG0&={OW@d9#6f-_Z^T|(|Mw{>x|l6>vOnQNFn=V0I7p3NagcVu=O{pTK^5bmJofQpvN~w-s%JrhFoX0GNNWNsL3#sP-wl6o zbDQ!s{C#oYh`gCSdf+ea%ww5{YdgR0e5>;#%QS?O2Q?UjFt0q&anRWQoyY*UFUyBD z3D9Afo!kE@oQRHpf8s<<*Euy^?e3bc+P(T9YQgcNQ(k-i>l3kZzV7<;{(WCRaql^NWv*XU z>7H|i*miDh^ZKTgKh_3+5r2KGE!yZG7s(QdaI`U;5Dl@mmd5CWl)pLJ45!x6`mibt zXFo}XSjOT+LK)%tYOhI)Fo zpt@&vfe=|mhGk{uP_&b63M@Y`4|3R(L4&}7nmnwo44m+IrHa=8ci}EG8d7Hf&P6w~ zv(Ew1cM33NS%^GU_fKXI#p(y!T2Knb^U-eH)?O*(g|AG|r$1jo>Mba&(oTVj-KrK#fWx3vP;d)P1S+u=VbEJL_epH zpE5Dk7BtxuD21H`ALl6~Qmr^0A(!8S^oSdCV4TS@>Xy5Wf%lTj5 zPH2*Qi%dubL0+@F0qN^w!e`y|Rk%I)5fk3QZQn?*9l1FYay zK%L}gNfcx&oHFS$Lgjg7}4 z!&s3pX#{NnAs;7vCzESIki%s!3wMDq+*pJr@qjhTaVcC!V8Zdte#kXWRq`VslZc*@ z2#+SjNU87~Dl74MoPugeau^=m(fgi*6CTE8qwsRbFgDAXG6uF5##S{`?m&5)nkg@# zygkQ{${tvnj2+h-GO-vF9S^Dm)?@7KHiTya==-L@2@hit4tY^#%$0TAh_pJJ28jx~?fQB3Br$AyVN5m^!YZN*Sk-Ynbv%^5G>?=Y8ZOs-=vh%5~}@OCGt> zl1HtxWPg(-kB(dNn2l1F_Q!6MvaC07y(N#k*OJE{vg8RzEV=L-KSo`aotR@-iAjYj zfwvgfWOz2?LmfOahWP%fB$1KtJ4V!9;QI%O1IEkHx(y%RdGK%+_=bWVJd7X6DEp1D zbOP^h#(EVv8Sy3+IN62GBW$%6c$R~%FT{3!DD50ETE<+AHlku|xe=8%zr%D)*_;6T z3nQ-Nc9bs`Dj~;9vRoFp2s2WuXP!X0ZJp$$Fi(tj)dNqUyg~KA`zUWzJs=(3^q|!L z9r8=Mh0g^>@W>ph8k?Cf^Rcm+Lsb3P*vx_g82_w0TI!Z%s=JZYrMnUOmpRf3Oy;N( zX%Fkp^v|#bX{c{Io0}xfm1mB%svf7RmgdGQbJC3o%AAx7XIQ2umI>csvS$=}UIsCM zb!PW~l#L5Y_7prJ6P_;trk9M&JYP0s;bBaWo|I(yq-7kkS%Z})IHa=j3xo%&_RZu1 zlROn525@c4UXB&Ws&Lg3p4D(p4}#3Wo{KQuj#+SIPM1}!%T)6ntI900s>&=@jmFuR zSz?P}X_<5l`!91^x$xnJ0gsH)zQbhNnCy8O!~nXioI>luhr1{|oIbVu&Xt2eEwpnn zFlu$JMocSonN3B?O1li*Qrc%pZCZW74eR#*4(4FR@^HL^3%tv@XSa0N@eT$GZt&lz z+`nRQtULO9Siv~F)9~?E5F8)4@{Kig+v)ySw;eGKw_$wD#PXkHkMFf56XS3@#K(oG z@>y1TcckCAw!%HXN%op50UH6hnc=n@TQTekTb91XbMEPeGO{k?RvbauTR=Oz1B-a@ z-sQn@A@j2%GCzHyo>+k$MEA-S7+DqmRaU=UV2P_OaSe*rE&NHevSJsEA=%6uSoj49 z6P$aFh~I!v_?m6=Fk1~KUgU>bY*|x61O+gZO z+VT_6BvgdAQqXT>G9}&xH(17TG)3|O28K+@rh!97$u67hHsk>HeFhfrFjmOM3^bNV zAZuBs=AD%5GAs_O_*7L&h%j^-?Q4e_MNA#T40NYBoj%pT9fy@3VW8{Et&y@#6EXOF z{00QaB*UHVjC>a&*vbWgLj`M+fa|@LGMX&soMoFfz1V2#0KUfWlvbSNr2lpzH7&m7B9EkQAOL%bS zC1=OL1=vg3xSg_{B*T*^#SeIDtDQz&m-iJV}pn4WRrREZ{>`Jd86u zxJ?yx^=;8qo4=tY6kYFc4=0k%v8cavT2V<+>D1CQ+hp!^kxVosi`Cb7MGc}j8c7y6 z#ahG3;#7Mm+1wItFRlzHFG|JY#jWt=ULqBWq{4~zP(rjtlg;a+;YRq*FC~`N&6!iR zbg5WawJw3}JvN0G>CB%m2sJuo)tzps71Yr*~ zHYP-UJT6+Aqv0S{24BH8hoayP7EH-=sI|Ts&9>mTw$0J?!9*z49D|TSBa%VRO{Jv< zFrNsCcq|D9WEfMycnpF)UBnV-35!P|TCt0Q5Zy?u-RgenRWR5F+GP+pzJ`+Va6^hJ zZf_26h{qDCU{e@966y4Y=EhW$XbQDNf=v)wDZo&L8X7_^*t+$Qoz{j?2rL4j1FtTL zfm^N6llTD#`SR~^DdZ0B769Y7o@uqMBh9?X07LkZi0A+Af;9q;FrMVH5<1jf< zS6v%62^axrhT;T6Y!mb|e#H*{rNvE9DTEuQG=vyylH&$qvc5SAt|WkBcO@bEn;=`A zakxd=q769iu#9v)E}}4lAbMb44(?$m`zdHGpgbS5sJrKHmLvyQ!(-<5vEZL>2M?>BG3p}h|-1S zkdB8F!Fcn=FwCGJ^gK9;=Oj$sa5M-rT?r7}P-`$5PQf^6-4v8l3=0M0ZK+_RnsOk? zw-?X>n0t+}4G?Gu2u>}i8kQjFJS^E7isDNS8)Au;M(J&+wO1k-4R5fw$eM(-pr9`@ zFriJ<)W$?;1HDi|fs+-Acp~-#IiNSn^Co%5sR}~?T8HONqA`>T{kuy(KXo)NSppyO za*W{v2e@~`J_Wb;a*GewiSQ>XJUNw~k`70`C#M3Qc3>Xvhw*5|lgy8II2;kFfVZ_Z z$l<_E1|C=@E+rur;FWDUD$`|lQ$D{gjCO7%R!i4HxIRcSJ}VTnv3S8e&o)Pg^J<54 zki$~|rf1_rnM%lhk8~f$tIQ~v?eWj{6wdaPRCvlNJ@JkKSGjhXS7-d#dAY-Jx2LSa zQzElL2~@Gc)lhT_#03xhfYOhhd7j-4yCLUMqd!YR_@VelvW1&zv^CGO&w$`PA}a%g z_1#1|xNq#Yz9UAj`fC1{`i_z<+|!_~4oA@AuJYt8#UR0PBRs@_CqAHM7{+&=L3qI; z2%4h}Ep3fqnAosC5XEiDL~%=VeQ`@md+XHFX;PLOi(<8*C?zh+axGB}c5)P9{Wx!aH8;hbQtT??Bfq2sb1D7V1iFYO?B~y)!;Rwj^ z89^=Jil<;{Oo9k40~MGWQ}KQjRRk8ZR0y^XN);xb5~M#M!iF520s%Kq(BGNz6DJ1B zIo>d{vN}wM%bhZX>nln)*7zXxdvioqi8m znr8}k&>WKG9%}|%KQl|`J1Zlm+c|S4+V6nxv$9?`y;*C_{9@BH%k-XUy1~@QhfLRe z(+j3ffs`9S3W3|T$~@JT7Ee*411Ok@m^oQ*m@e0R=Pg_3n>jA$+ae;9KUc{kDhW9Y z07uM$WZgH@^cR^UW}4%QOb2{j=5h{SY5KCj>D)IRfjo1rV^W?u&E-C1<~agBv(V)@ zJI_4R{pB%y1W(nOW{l=AZ>;_IhY&k@HtuBF;Y< zcf-{^-^>OvVmjV4J+2aS2()6reDe(W&dNM@zF7gO9nN2FDKfKM&ex3{P5}r=fK_Ogwsr~^UW>Lm%W1j-oGDw=Y3m$X6Ct^9~vuN&g-`9fTn$D>;P%EImqSw z$e3y7LI-BJe&urh1Y17D<(&B*41_~+AneA0u+lVK&if4aLlC$;h^i;cIp}Ve^VsJ3 zFshup9rMjovBP$|9OI#)&o(=z8rZvUiI?~8g^Y#;3l^9I)j;Xhl`iLh8PJ{XLKqkB z3Ulx*jHL7J%{#!DbC1I@7Q(0u7Fh=Onyz^#F___UK4la^csD;}4sbc|cEIfLoMAd$ z5$9{0ailqa4ZaR?w&BQ*n0}XYP{b^T)}J%qgbc$4kNe$^m;x|Itb8j0b)6pAWgmg#^ww*)GbEds~ok?}`V8VFLX917C}T zV>d!LkdKBx=5Hc|139h*%tu1Kcp%5UH}jRm(Id=bj^hCjM4#fLr2*HV+v zhMiw(3%k<25uN&>TJ%XZ^**(GISb%$M8rhue7bN%Z5y zvp{zs{PD5PW+woU?eDj7`#8zP#=wDo;@9M?AGGmtHol%X`j2(9{@XTvcv~vX^XQhK z+Yj5g-F}id+Q&b(-)++$W8=@;^s!4>-;13A2iEI{Kjx>|_^CF24snjBd}RRg=V)Ah z#Q}V=&CW2JomDnI)W$p@0tUl-9g zJXn8*N~*7FK*r_3es?aWeAa)S(r0MAh0?P$o}%;|jpO=@M~%9q{kf9T=WG0@l&;hG zFDT9TZT53N@sOtfD5aY;9;9?k<1bOVUE{A(n%kkrtxMByq;-MY!F~pCK*DjWy2v=# zzI+jP*f{q4A+qxTajw@-=@;nA_TQ%T`x^h8(w}MkLrQ|aavw`%%1l>UjvXHoiQjTcb* zPK}SE^s^d2ozj2OILGUMh~ow0u#f!Y=P4YA9TbNzY<6&*@V@A48^>|t!^IK~-cPX| zC-FSGa=m|1>S8Q$)}Kpu=VXsh9+$^#`q-{F;SY~*HIDm5Jk(3J*1Ecn z_$b3&q z^&8jwAH@B{F^S`uKL<~@>EpQCPw}kM_zB|YX}p@+yF%l)6R#)E_1;2$CvEyTZh2mB z)%b77|0^}lx|9H2ymA4vq8AYJaS8zTe-X@xx??e|N`m8%^W+x0?PC;ty+_@B4=| z&ijPdG+spgazx|fh<~W@X;kl*8s~N1pwENs{}R$4r11-g57juY+v7CeMf#;0zmfPX zjo(GQM&tJpuhaO$#6uc?ig>HW`MJg>jlWO&mudWS;(IjC&p~e1cqYaFPL1ah=U-ZK zoCgy>sOj_bls{{H7Ws2TSzQO&th5Q+y@iyZ8e1`S8 zANiN8%z58AMYD4k*_p2KTZo^nakf8C;~dYW8t3)~HGUJ>k8AuI;y={*^Tc;({2=iw zHGV(w|Ij%5d5gw5KEKxZ!(`_njdQ!6(fA-5C*NwE_YWp^2prrm14w_M#tq_wHQq!1 z_%;4D@zXVaKG|8Pah{KHjn5|i4H`d<_*RYc^Mo#q^SroD`1cxTe=>2?Z0j%n9G9>0d&$mdjkEp~jq|<^e_(94|2Wy1 zLmam;C>|lcSkwOn?HAYBIPT~9|Ib)wy=W{rQsW z9ZsD6zlGXctnr1kZ=0|23y7;%(yh;}4-s#+)r)a^it6pu_@9aI)%cslf2naEZ~HaQ z^X`Dgx!<4FI6vokMdSRO=Uw6)AO24)zOw0KJby=VJE8H*hzC#!4z_bK?R(B5&i(Q= z>Ce&lFp6ib#%B?))A%~#4aB+Le5!YY#v6!VZL@>@^%2GYMve1&c)P}V-rc8hj{hGt zE~vfFXgrhnD;np1KdSL>$*cu3wsF+|BlY848%O<5$^H@>NB!fZzud-ApZlv`;~dWf zac-B3_H7+DeY8K7#>qXJ{sz*2T+?4d`p;{;jrc1Xzn=IJjsK4L=fv61cZoZ(k#H~{ zLjH`?cr)>HHU1d!pvLoPf0H84;{@KelgH&6A3^+fjTaMtRdV=o@;lZ58$!OwuvByVfuX4*b%KLeP-2Rfd zd@o$S=`DXFfl0x}CBiMCqEvWeN)$E3TIH`p@GX4)r3n9uMHZL8 zXOWWpMG09-!VgE%FRR0AuJnF+@AvKdecRr8LEe^ay}GV^Q|>lLBeC?`_|k=5KYX!% zonvpku-?=!ipEmmqIu`lO--gk4HsFj*%#qE#zFj<3;ezaUVex7cO&YDEc6oqyBGK) znBMQqtK4u?Fp|LE%-G)5@8_L=3Rp|5!Fusnwk6qyzxGkTPf$PovHc9F2m%Z*5{shb zrdD}P#PId|qK0Iu4Eisfm?4U4=Parz3r=I9R0*XeL6ArhjFlEq#+ktqRwdyKCa1A5 zg9Wg{Gg1!Q|MTe^7})d?ua^z?DwW)c6T)`TbV!p6Kte{h!89)?iT_h4&Y)$8lLFr# zpe;k1p>XtcmE`|d5Z_rrSLn7O-?2gsH$beP-@8DD$GxDzE#- zX}+FA<)>LyNa=4>UgsP?zCH>9%XSmvalwaUDLbl?eRSsm@2~tO3doN!XtqPw#rFbq zhU)HoRcNo)VY==yP~%vr66)M@mbxCH7wNG7FeKa@eqVMEFtn+U=G(^sgyT5fr&P-F zmHk);8U2<2>10)60vDt!m*XqGSHQAewVTS@8Oplu4XS)x3$x(zI6mzMx1Sll=g?pL zURa?t{8S;v54U1mp5ur2IZ|Ph@_J~hO77K+>$)2NXezQ`&q`IE>%sbQDCqSshw{$a n6EVoz27l>;*AE6*9uK{KoYY!~q+SzEoNeSBmdk}dz5f3PX&{Wj literal 25176 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 From 9fd391c0a7aff307c26f6331887830b4f74dc094 Mon Sep 17 00:00:00 2001 From: Tsvetoslav Vasilev Date: Mon, 4 Sep 2023 16:43:57 +0200 Subject: [PATCH 61/67] clean comments in camera.c and render.c --- gameplan.txt | 2 +- minirt | Bin 158744 -> 158744 bytes scenes/camera.rt | 2 +- scenes/cylinders.rt | 8 +-- srcs/camera.c | 145 +------------------------------------------ srcs/event_handler.c | 6 +- srcs/event_handler.o | Bin 14016 -> 14016 bytes srcs/render.c | 76 +---------------------- 8 files changed, 11 insertions(+), 228 deletions(-) diff --git a/gameplan.txt b/gameplan.txt index 76d0d4b..3e5da2d 100644 --- a/gameplan.txt +++ b/gameplan.txt @@ -1,3 +1,3 @@ -Why camera rotation and distortion? +///////////////// DOONE /////////////// Why camera rotation and distortion? Shadows and shading on cylinders Look at the parsing \ No newline at end of file diff --git a/minirt b/minirt index 78739b174457469a8c19b5b2985ab123ee48dfe7..3720cbc5f33a9108d85210a180beacf8c5bf81d8 100755 GIT binary patch delta 69 zcmV-L0J{H}*a?`}39x7b6xH8Z$ylcFq^5!`SoE!0{iO`Q9kYA`D@*|xlc-N34jA$e bSOtB9008n25knY**iVPpPXV{sPXa(3Ph=dh delta 69 zcmV-L0J{H}*a?`}39x7b6zSx$qIFG16Q-ZXA*7IR1B54#ezSZ7D@*|(lc-N34j}Rm bSOtB9008n25knw@*iVPpPXV{sPXa(3`KB87 diff --git a/scenes/camera.rt b/scenes/camera.rt index c2c7529..6cc559d 100644 --- a/scenes/camera.rt +++ b/scenes/camera.rt @@ -4,7 +4,7 @@ L 6,20,-20 1 255,255,255 #cy 0,0,0 0,1,0 2 10 56,189,224 # general overview -C 4,10,-70 -0.2,0,0.7 90 +C 0,100,0 0.1,-1,0 90 # z front #C 0,0,0 0,0,1 55 diff --git a/scenes/cylinders.rt b/scenes/cylinders.rt index fce2214..038582e 100644 --- a/scenes/cylinders.rt +++ b/scenes/cylinders.rt @@ -1,10 +1,10 @@ -C 0,0,0 0,0,-1 55 +C 0,10,0 0,-0.6,-1 55 A 0.8 127,127,127 -L 1,-2,-1 0.8 -# pl 0,10,10 -0.1,1,-0.1 255,20,100 +L 1,10,-1 0.8 +pl 0,-10,0 0,1,0 255,20,100 # pl 0,0,1 -1,-0.1,0.1 0,255,0 # sp 1,0,0 0.8 0,255,0 # sp 0,0,0 0.8 0,255,0 - cy 0,0,-10 0,0,0.1 1 2 10,0,255 + cy 0,0,-10 0,1,0 1 2 10,0,255 # cy 0,0,-20 -0.2,0.3,1.0 2 1 10,100,100 diff --git a/srcs/camera.c b/srcs/camera.c index 5e634f1..903f530 100644 --- a/srcs/camera.c +++ b/srcs/camera.c @@ -6,7 +6,7 @@ /* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/15 12:54:25 by tfregni #+# #+# */ -/* Updated: 2023/09/04 16:17:38 by tvasilev ### ########.fr */ +/* Updated: 2023/09/04 16:42:30 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -19,173 +19,30 @@ double radians(double grades) return (grades * M_PI / 180); }; -// void cam_scratch_orientation(t_camera *c) -// { -// t_matrix cam_to_world; -// t_matrix *m; - -// m = &cam_to_world; -// c->look_at = vec3_unit(vec3_sub(c->pos, c->orientation)); -// c->right = vec3_unit(vec3_cross(c->vup, c->look_at)); -// c->up = vec3_cross(c->look_at, c->right); -// m->size = 16; -// m->matrix[0][0] = c->right.x; -// m->matrix[0][1] = c->right.y; -// m->matrix[0][2] = c->right.z; -// m->matrix[0][3] = 0; -// m->matrix[1][0] = c->up.x; -// m->matrix[1][1] = c->up.y; -// m->matrix[1][2] = c->up.z; -// m->matrix[1][3] = 0; -// m->matrix[2][0] = c->look_at.x; -// m->matrix[2][1] = c->look_at.y; -// m->matrix[2][2] = c->look_at.z; -// m->matrix[2][3] = 0; -// m->matrix[3][0] = c->pos.x; -// m->matrix[3][1] = c->pos.y; -// m->matrix[3][2] = c->pos.z; -// m->matrix[3][3] = 1; -// c->m = mx_cross(c->m, cam_to_world); -// } - -/** - * Remember that cross product is anticommutative, so a x b = -b x a -*/ void cam_orientation(t_camera *c) { - // cam_scratch_orientation(c); c->look_at = vec3_unit(c->orientation); c->right = vec3_unit(vec3_cross(c->vert_up, c->look_at)); c->up = vec3_unit(vec3_cross(c->look_at, c->right)); - c->m.size = 16; - c->m.matrix[0][0] = c->right.x; - c->m.matrix[0][1] = c->right.y; - c->m.matrix[0][2] = c->right.z; - c->m.matrix[0][3] = 0; - c->m.matrix[1][0] = c->up.x; - c->m.matrix[1][1] = c->up.y; - c->m.matrix[1][2] = c->up.z; - c->m.matrix[1][3] = 0; - c->m.matrix[2][0] = c->vert_up.x; - c->m.matrix[2][1] = c->vert_up.y; - c->m.matrix[2][2] = c->vert_up.z; - c->m.matrix[2][3] = 0; - c->m.matrix[3][0] = c->pos.x; - c->m.matrix[3][1] = c->pos.y; - c->m.matrix[3][2] = c->pos.z; - c->m.matrix[3][3] = 1; } -// void cam_setup(t_camera *c) -// { -// t_vec3 half_hor; -// t_vec3 half_ver; -// t_vec3 temp; - -// c->m = mx_get_identity(); -// cam_orientation(c); -// c->aspect_ratio = WIDTH / (double)HEIGHT; -// c->viewport_width = 2.0f * (tan(radians(c->fov) / 2.0f)); -// c->viewport_height = c->viewport_width / c->aspect_ratio; -// c->horizontal = vec3(c->viewport_width, 0, 0); -// c->vertical = vec3(0, -c->viewport_height, 0); -// // c->horizontal = vec3_mult(c->right, c->viewport_width); -// // c->vertical = vec3_mult(c->up, -c->viewport_height); -// half_hor = vec3_div(c->horizontal, 2); -// half_ver = vec3_div(c->vertical, 2); -// temp = vec3_sub(c->pos, vec3(0, 0, c->focal_length)); -// temp = vec3_sub(c->pos, half_hor); -// temp = vec3_sub(temp, half_ver); -// c->viewport_top_left = vec3_sub(temp, vec3(0, 0, c->focal_length)); -// c->pxl_size_hor = vec3_div(c->horizontal, WIDTH); -// c->pxl_size_ver = vec3_div(c->vertical, HEIGHT); -// printf("Camera: vp_w: %f, vp_h: %f, ratio: %f, top_left: %f %f %f\n", c->viewport_width, c->viewport_height, c->aspect_ratio, c->viewport_top_left.x, c->viewport_top_left.y, c->viewport_top_left.z); -// printf("Horizontal: "); -// vec3_print(c->horizontal); -// printf(" Half_hor: "); -// vec3_print(half_hor); -// printf("\nVertical: "); -// vec3_print(c->vertical); -// printf(" Half_ver: "); -// vec3_print(half_ver); -// printf("\n"); -// } - void cam_setup(t_camera *c) { - c->m = mx_get_identity(); cam_orientation(c); c->aspect_ratio = WIDTH / (double)HEIGHT; - // printf("FOV: %hhu\n", c->fov); c->viewport_width = 2.0f * (tan(radians(c->fov) / 2.0f)); c->viewport_height = c->viewport_width / c->aspect_ratio; c->half_hor = c->viewport_width/2; c->half_ver = c->viewport_height/2; c->horizontal = vec3(c->viewport_width, 0, 0); c->vertical = vec3(0, -c->viewport_height, 0); - //c->focal_length = vec3_len(vec3_sub(c->pos, c->look_at)); - // c->horizontal = vec3_mult(c->right, c->viewport_width); - // c->vertical = vec3_mult(c->up, -c->viewport_height); - //MY IDEA ----- c->orientation = vec3_unit(c->orientation); c->viewport_top_left = ray_at(ray(c->pos, c->orientation), c->focal_length); c->viewport_top_left = vec3_sub(c->viewport_top_left, vec3_mult(c->right, c->viewport_width/2)); c->viewport_top_left = vec3_sum(c->viewport_top_left, vec3_mult(c->up, c->viewport_height/2)); - //CHATGPT EDIT ---- - // c->viewport_top_left = vec3_mult(c->right, c->half_hor); - // c->viewport_top_left = vec3_sub(c->viewport_top_left, vec3_mult(c->up, c->half_ver)); - // c->viewport_top_left = vec3_sub(c->pos, c->viewport_top_left); - /*1. calculate point at t of direction - 2. move horizontally and vertiacally to the top left*/ c->pxl_size_hor = vec3_div(c->horizontal, WIDTH); c->pxl_size_ver = vec3_div(c->vertical, HEIGHT); printf("Cam_pos: (%f, %f, %f)\n", c->pos.x, c->pos.y, c->pos.z); printf("Cam_orient: (%f, %f, %f)\n", c->orientation.x, c->orientation.y, c->orientation.z); printf("\n\n"); - // printf("Camera: vp_w: %f, vp_h: %f, ratio: %f, top_left: %f %f %f\n", c->viewport_width, c->viewport_height, c->aspect_ratio, c->viewport_top_left.x, c->viewport_top_left.y, c->viewport_top_left.z); - // printf("Horizontal: "); - // vec3_print(c->horizontal); } - -// void cam_setup(t_camera *c) -// { -// t_vec3 half_hor; -// t_vec3 half_ver; -// t_vec3 temp; - -// t_vec3 vup = vec3(0, 1, 0); -// c->m = mx_get_identity(); -// cam_orientation(c); -// c->focal_length = vec3_len(vec3_sub(c->pos, c->look_at)); -// c->aspect_ratio = (double)WIDTH / (double)HEIGHT; -// c->viewport_height = 2.0f * (tan(radians(c->fov) / 2.0f)) * c->focal_length; -// c->viewport_width = c->viewport_height * c->aspect_ratio; -// t_vec3 w,u,v; - -// w = vec3_unit(vec3_sub(c->pos, c->look_at)); -// u = vec3_unit(vec3_cross(vup, w)); -// v = vec3_cross(w, u); -// c->horizontal = vec3_mult(u, c->viewport_width); -// c->vertical = vec3_mult(vec3_inv(v), c->viewport_height); -// half_hor = vec3_div(c->horizontal, 2); -// half_ver = vec3_div(c->vertical, 2); -// temp = vec3_mult(w, c->focal_length); -// temp = vec3_sub(temp, half_hor); -// temp = vec3_sub(temp, half_ver); -// c->viewport_top_left = vec3_sub(c->pos, temp); -// c->pxl_size_hor = vec3_div(c->horizontal, WIDTH); -// c->pxl_size_ver = vec3_div(c->vertical, HEIGHT); - -// printf("Camera: vp_w: %f, vp_h: %f, ratio: %f, top_left: %f %f %f\n", c->viewport_width, c->viewport_height, c->aspect_ratio, c->viewport_top_left.x, c->viewport_top_left.y, c->viewport_top_left.z); -// printf("Horizontal: "); -// vec3_print(c->horizontal); -// printf(" Half_hor: "); -// vec3_print(half_hor); -// printf("\nVertical: "); -// vec3_print(c->vertical); -// printf(" Half_ver: "); -// vec3_print(half_ver); -// printf("\n"); -// } - - diff --git a/srcs/event_handler.c b/srcs/event_handler.c index 199a289..fc34029 100644 --- a/srcs/event_handler.c +++ b/srcs/event_handler.c @@ -6,7 +6,7 @@ /* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 12:29:38 by tvasilev #+# #+# */ -/* Updated: 2023/09/04 15:59:58 by tvasilev ### ########.fr */ +/* Updated: 2023/09/04 16:38:36 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -32,9 +32,9 @@ int key_handle(int keycode, t_scene *scene) else if (keycode == MINUS) scene->ambient.lighting_ratio -= 0.1; else if (keycode == UP) - scene->camera.pos.z += CAM_PACE; + scene->camera.pos.y += CAM_PACE; else if (keycode == DOWN) - scene->camera.pos.z -= CAM_PACE; + scene->camera.pos.y -= CAM_PACE; else if (keycode == LEFT) scene->camera.pos.x -= CAM_PACE; else if (keycode == RIGHT) diff --git a/srcs/event_handler.o b/srcs/event_handler.o index 863945082c0c696ba15d0c0200ad3b5eab6c5d73..e9531562d613821b919777d4b3c7c32e79e4ec97 100644 GIT binary patch delta 33 ncmX?*dmwj1I3uIPbsqlGB|u=NQf delta 33 ncmX?*dmwj1I3uIN +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 20:41:01 by tfregni #+# #+# */ -/* Updated: 2023/09/04 15:40:18 by tvasilev ### ########.fr */ +/* Updated: 2023/09/04 16:43:38 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -98,21 +98,6 @@ int convert_trgb(t_color c) return (t << 24 | r << 16 | g << 8 | b); } -// t_ray create_scratch_cam_ray(t_camera *c, double screen_x, double screen_y) -// { -// t_ray ray; -// t_point3 cam_p; - -// // Camera space -// cam_p.x = screen_x * c->fov; -// cam_p.y = screen_y * c->fov; -// cam_p.z = -1; -// cam_p = mx_mult(c->m, cam_p); -// ray.origin = mx_mult(c->m, vec3(0, 0, 0)); -// ray.direction = vec3_unit(vec3_sub(cam_p, ray.origin)); -// return (ray); -// } - /** * @brief creates a ray from the camera to the canvas * 1. Pixel to world @@ -123,77 +108,18 @@ int convert_trgb(t_color c) t_ray create_cam_ray(t_camera *c, double int_x, double int_y) { - // return (create_scratch_cam_ray(c, screen_x, screen_y)); t_ray ray; - // t_vec3 temp; - // t_vec3 gradient_hor; - // t_vec3 gradient_ver; ray.origin = c->pos; - // gradient_hor = vec3_mult(c->horizontal, screen_x); - // gradient_ver = vec3_mult(c->vertical, screen_y); - // temp = vec3_sum(gradient_hor, gradient_ver); - // ray.direction = vec3_sub(c->viewport_top_left, ray.origin); - // ray.direction = vec3_sum(ray.direction, temp); - ///// Vectors t_vec3 pxl_x = vec3_mult(c->pxl_size_hor, int_x); t_vec3 pxl_y = vec3_mult(c->pxl_size_ver, int_y); t_vec3 pxl_pos = vec3_sum(c->viewport_top_left, vec3_mult(c->right, vec3_len(pxl_x))); pxl_pos = vec3_sum(pxl_pos, vec3_mult(vec3_inv(c->up), vec3_len(pxl_y))); ray.direction = vec3_sub(pxl_pos, ray.origin); ray.direction = vec3_unit(ray.direction); - // //?Debug - // static int i = 0; - // if (i == 0 || i == WIDTH * HEIGHT - 1) - // printf("direction (%f, %f, %f)\n", ray.direction.x, ray.direction.y, ray.direction.z); - // i++; - // //?Debug return (ray); } -// t_ray create_cam_ray(t_camera *c, double int_x, double int_y) -// { -// // return (create_scratch_cam_ray(c, screen_x, screen_y)); -// t_ray ray; -// // t_vec3 temp; -// // t_vec3 gradient_hor; -// // t_vec3 gradient_ver; -// double ndc_x = (int_x + 0.5f) / WIDTH * 2.0f - 1.0f; -// double ndc_y = 1.0f - (int_y + 0.5f) / HEIGHT * 2.0f; - -// ray.origin = c->pos; -// // gradient_hor = vec3_mult(c->horizontal, screen_x); -// // gradient_ver = vec3_mult(c->vertical, screen_y); -// // temp = vec3_sum(gradient_hor, gradient_ver); -// // ray.direction = vec3_sub(c->viewport_top_left, ray.origin); -// // ray.direction = vec3_sum(ray.direction, temp); -// double screen_x = ndc_x * c->half_hor; -// double screen_y = ndc_y * c->half_ver; -// static int i = 0; -// // //?Debug -// // if (i == 0 || i == WIDTH * HEIGHT - 1) -// // printf("screen_x: %f; screen_y: %f;\n", screen_x, screen_y); -// // i++; -// // //?Debug -// ray.direction.x = screen_x * c->right.x + screen_y * c->up.x - c->focal_length * c->orientation.x; -// ray.direction.y = screen_x * c->right.y + screen_y * c->up.y - c->focal_length * c->orientation.y; -// ray.direction.z = screen_x * c->right.z + screen_y * c->up.z - c->focal_length * c->orientation.z; -// ray.direction = vec3_unit(ray.direction); -// //?Debug -// if (i == 0 || i == WIDTH * HEIGHT - 1) -// printf("direction (%f, %f, %f)\n", ray.direction.x, ray.direction.y, ray.direction.z); -// i++; -// //?Debug - -// ///// Vectors -// // t_vec3 pxl_x = vec3_mult(c->pxl_size_hor, ndc_x); -// // t_vec3 pxl_y = vec3_mult(c->pxl_size_ver, ndc_y); -// // t_vec3 pxl_pos = vec3_sum(c->viewport_top_left, vec3_mult(c->right, vec3_len(pxl_x))); -// // pxl_pos = vec3_sum(pxl_pos, vec3_mult(vec3_inv(c->up), vec3_len(pxl_y))); -// // ray.direction = vec3_sub(pxl_pos, ray.origin); -// return (ray); -// } - /** * Former intersect_element function * @brief Checks if the ray hits any element in the scene From 7c8b93cd211942b5b34ca99da8bf5f3781cd16f5 Mon Sep 17 00:00:00 2001 From: Tsvetoslav Vasilev Date: Mon, 4 Sep 2023 17:02:36 +0200 Subject: [PATCH 62/67] Makefile(put obj files into obj folder, (ChatGPT code generated)) --- Makefile | 15 ++++++++------- minirt | Bin 158744 -> 0 bytes srcs/camera.o | Bin 10536 -> 0 bytes srcs/cylinder.o | Bin 28768 -> 0 bytes srcs/event_handler.o | Bin 14016 -> 0 bytes srcs/libx.o | Bin 13328 -> 0 bytes srcs/main.o | Bin 13944 -> 0 bytes srcs/matrix_calcs.o | Bin 17936 -> 0 bytes srcs/parse.o | Bin 18352 -> 0 bytes srcs/parse_util.o | Bin 9664 -> 0 bytes srcs/plane.o | Bin 14704 -> 0 bytes srcs/populate_element.o | Bin 14720 -> 0 bytes srcs/populate_solid.o | Bin 16200 -> 0 bytes srcs/ray.o | Bin 3912 -> 0 bytes srcs/render.o | Bin 24720 -> 0 bytes srcs/shade.o | Bin 12472 -> 0 bytes srcs/sphere.o | Bin 19144 -> 0 bytes srcs/vec3.o | Bin 9672 -> 0 bytes srcs/vector_calcs.o | Bin 6328 -> 0 bytes 19 files changed, 8 insertions(+), 7 deletions(-) delete mode 100755 minirt delete mode 100644 srcs/camera.o delete mode 100644 srcs/cylinder.o delete mode 100644 srcs/event_handler.o delete mode 100644 srcs/libx.o delete mode 100644 srcs/main.o delete mode 100644 srcs/matrix_calcs.o delete mode 100644 srcs/parse.o delete mode 100644 srcs/parse_util.o delete mode 100644 srcs/plane.o delete mode 100644 srcs/populate_element.o delete mode 100644 srcs/populate_solid.o delete mode 100644 srcs/ray.o delete mode 100644 srcs/render.o delete mode 100644 srcs/shade.o delete mode 100644 srcs/sphere.o delete mode 100644 srcs/vec3.o delete mode 100644 srcs/vector_calcs.o diff --git a/Makefile b/Makefile index 19e297e..046a7a9 100644 --- a/Makefile +++ b/Makefile @@ -3,10 +3,10 @@ # ::: :::::::: # # Makefile :+: :+: :+: # # +:+ +:+ +:+ # -# By: tfregni +#+ +:+ +#+ # +# By: tvasilev +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2023/01/30 20:41:46 by tfregni #+# #+# # -# Updated: 2023/08/28 09:23:54 by tfregni ### ########.fr # +# Updated: 2023/09/04 17:01:17 by tvasilev ### ########.fr # # # # **************************************************************************** # @@ -14,9 +14,9 @@ SRCS = $(addprefix $(SRCS_DIR)/, main.c parse.c populate_element.c populate_sol libx.c render.c sphere.c plane.c vector_calcs.c event_handler.c \ matrix_calcs.c camera.c shade.c vec3.c ray.c cylinder.c) UNAME_S := $(shell uname -s) -OBJS = ${SRCS:.c=.o} +OBJS = ${patsubst $(SRCS_DIR)/%.c,$(OBJS_DIR)/%.o,${SRCS}} SRCS_DIR = srcs -OBJS_DIR = objs +OBJS_DIR = obj INC_DIR = includes CC = cc CFLAGS = -O3 -Wall -Wextra -Werror -g @@ -60,7 +60,8 @@ ${NAME} : ${OBJS} @${CC} ${CFLAGS} ${OBJS} ${LINKS} -o ${NAME} @echo "done" -%.o:%.c +$(OBJS_DIR)/%.o: $(SRCS_DIR)/%.c + @mkdir -p $(OBJS_DIR) ${CC} ${CFLAGS} ${INC} -c $< -o $@ all : mlx @@ -81,9 +82,9 @@ ifneq ("$(wildcard ${NAME} ${MLX_PATH})", "") @${MAKE} clean -C ${MLX_PATH} @echo "done" endif -ifneq ("$(wildcard ${OBJS} $(DSYM))", "") +ifneq ("$(wildcard ${OBJS_DIR} $(DSYM))", "") @printf "Cleaning up miniRT objects..." - @${RM} ${OBJS} $(DSYM) + @${RM} ${OBJS_DIR} $(DSYM) @echo "done" endif diff --git a/minirt b/minirt deleted file mode 100755 index 3720cbc5f33a9108d85210a180beacf8c5bf81d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158744 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 diff --git a/srcs/camera.o b/srcs/camera.o deleted file mode 100644 index fa674ea57b5a470aa2fa42d52a68cc9f38fb5719..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10536 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 diff --git a/obj/cylinder.o b/obj/cylinder.o index 46ce89b6a5ac29cd6b5d860f742dad5f7e7b6e51..c4ff1de63db78ebf1928bf38cec3edba8411fa74 100644 GIT binary patch delta 5056 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 W1DFEEY@SYQDu&zZb4lywjQ;^J%fVj& diff --git a/srcs/cylinder.c b/srcs/cylinder.c index 55e11f8..2cd187a 100644 --- a/srcs/cylinder.c +++ b/srcs/cylinder.c @@ -6,7 +6,7 @@ /* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/08/01 16:18:37 by tvasilev #+# #+# */ -/* Updated: 2023/09/04 19:48:42 by tvasilev ### ########.fr */ +/* Updated: 2023/09/04 20:07:58 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -151,8 +151,9 @@ int intersect_cylinder(t_scene *scene, t_ray r, float *t, int i) // rec = NULL; rec.t = RAY_LEN; scene->shape[i].rotation = vect_norm(scene->shape[i].rotation); - if (hit_plane_top_inter(&(scene->shape[i]), r, t) || hit_plane_bot_inter(&(scene->shape[i]), r, t)) - return (1); + // if (hit_plane_top_inter(&(scene->shape[i]), r, t) || hit_plane_bot_inter(&(scene->shape[i]), r, t)) + // ; + // //return (1); olddir = r.direction; r.direction = vect_cross(r.direction, scene->shape[i].rotation); X = vect_sub(r.origin, scene->shape[i].cy.center);

*KP%De*-YrTu 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 diff --git a/srcs/event_handler.o b/srcs/event_handler.o deleted file mode 100644 index e9531562d613821b919777d4b3c7c32e79e4ec97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14016 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 nn diff --git a/srcs/libx.o b/srcs/libx.o deleted file mode 100644 index 43488e8cfa867fd3a73d30127291eb72f2bb46d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13328 zcmbuF4Rl<^b%5u+)muqkc_mraO1Av7=FbAGm4qE5u)&h?+Pk(a%a&ybsaY#Z*Xh=eE z@141``+SjedQR`L-rV`-&YhV%^XBb)<9*TY^`>D6Erz&OlyaI1aer$`@04n%m;;u5 zvFYE%4zGzFb{gM996P)U^a`!ZwEe71su!;lqH9NAZ+!aG*x|*o!?#u($12^^ACmbD z;90adZo%arE8wzu`h%jaDyjwA{vYw_H;AuN>Gaz&z5kx|XRrCxC&Zr1?^z3)3EGnG z!yCfY$F5&?cwh598_MrGTOEJtxsQF-$6hpEi9OskT_v6$j#Mu`2#$s5@9T|C|NcY= zsN^^*Vt1W%Z;VYp-~O}qlLURTGqLHHj*Bwrs(==$>j5%c2D23*z}vR z1JAWVRb3(cQ|p^J1=H`v4!lrt!;R06rL*a6+p#xNpaCg{=-28+MbxL&%L$pH?NL&T zNgHWbQVO25s%;JN$3=5euBNnP(#K7X5;#FAIM(WS2$hLn8vWV@F(HnU_6(S46_Za$(+=P^D3+08)EXBD z>nvZerlBcVYs~QrVU`*3x>^OE4FrH$Xy6NK6Mwac*9lP` z0bg_cosCD<&hrJa_R@Lrx;68JsIY|Dpb#2XPTy&W_PSc=`mBgiGF?3njRThSRs~Ip z*(=Ve7=((3s#tvpe3*@2SlcK>O+9o+h+0s^oEbWSUhAL>jioNkT>*o^E@H)c-HCXe z>Ov?4T~OshG}J*C^-vpUL%nz%*6e^l%#&r7iqw2h8SDd1hV0dXCE)8yuw97p3k0qO zb5Gh1W{ZU#aa^7@B8l?y*sE=PNm%i+(s9yMS6S-4i9isGw(5!_Y& zMCIhQvYeKz%+11UnTwSIekhO^)kCYSN|hE^X|dTH)S_m?=QbN&1JRp}zEOM^U@wB- z^E6y-Y&CBOX23?PMY9Fxu$^EBB}PZJvEBHb2=Y=#mbPJOm#FOW)D8Zv_6%vY(Qi7C zsv-54hV)T!)c)UsT7xCEWVU@KGv#4#sYq(_Qu3vY28u@T3?x|zDFv;yG*7J<|)H$ov{rasIs|IZO`FSDbB`0$dKc!{s~G-4z4v5wJ*nk-mB|Tmtb@Xm- ztSRwLjV0b4mO8d$Zf-8=J%w zva-+*sfvG@?9$zazd_b{4K_^wJXPlhsLxk}mb|G=+AM@#_!q>a9zuO#Z%JRYv!pM+ zsicQTOZt+0NxxuH>eBy(`=u`1z3AbRe({qf{gP89ed+0v-u$tQkgR)Yjf#-WT-K~I zS7T2v?}Tt6MzI<~KhbKvj9jBtBR%4%tT`$QQm<1JBlWp86vc{AGuWY2G=`RwT7HR) zY=seu5~*yIzGIbhrSDfkc;Hs4ohi%6kze)11qduWlz%)Ej%{^)bdEr=F4aQRKIr6rpKwh!U8m1{(c92`rZ_-V{)~8nzgS zlv)h5syC$qGRf>nc)~6?>0CD4enq4$(%#a3)wnEO zE}X)U)0#;SPDX}AYj)Ua9nFo|POCeSbkZ4nqII3^>~?ecR(zQ%xXEGHE=(i~Vm#}l zN3wP*oX)ypOHX1`bYR_<>w8G;??q+vmj1q|rZVHsYDtnZ3_@O65FC%`{Uc9>%{tacN8jZkM{J%xAcg3&yKF{___q* zVkX)h-5l-NUd*q9b~nfS`V##;@vZ$)VJGZDL5yW46Diwq3%RL8dMr6&3ml7=?n!4; zxjho?wx<%Kx!i7<8Ox13b}3urnOrU}4Ioy^Q`X*-ATL9s5H|FVOtpu(5!+3ql5R4Q zOr;89xM15*IHHPi7KM`WBq&LMemJ&?GUQ7x1qj zn;#QnNw<)m6p2LFwryPliN5%*Xkz<7Z#0n*=mSOyci}mAjdblol&Gq!6(>Ovb+sbr z0|F@{m{^_?gR2YC% z6Uj_E1;%;UFwj<|LsJ5l2D+h0L+_?wC8dBs|BC7qGzt?2+YC$+wj>u6M0F&cg{~BU z;)FXee^XGbuA{JwhsU!+0u+&0o6BXerW`$*eOBE&-{4CtO4r9ThRWf>+oyk;(3-92Y)i{h#(xwe1S|DgwH3 z%Qj(5))-Ayd&MwK;~r0ikP;b90X!cD@Cq)K4fDMi5dh|1#2v9I2+=Fi$>UFu(LnH#Mp|A2Lw zQfK>jS*CwAT*V2iX4W37{u;<{v>N;`%e1zbR*Vp+xK`E}u*8E_?W}q$2%r(FtlVf_ zz1nJd!n$;|RTlvdt(LLL6349SS!rvw{}HR)zsd4Lv%>4C2H1&ma)_87REWi{NK?6bRk}T-HMWXX2;8aE_<{@?HaWg7|4j zQRICCDF$FBKfBK3|AO;yz%%;6ufa3d%Vvj0^Xzne1ns$9@B~i|wH3J?p@E?DdyK{2`9B|H)Y;@>eh9k>jUV&BLIhAjegt z`BH=+$Z_M-d<{Yn{EVX8!u$rjfS^5mb1mBUA_PHu`AtCPgxE-_-zD`8$x z&ciuR-DZz~nelO!MQ~m(suTy@S@pmbI zALAcV{z1k~>Ze|}x}QPfUm|-xUr#YVUnl#M9*%2N%L}Av|7XblHR9U8-qTJqu79JQ zVSd8o2Yv@ktdhHuk>&n*G4o3S>@rl4qIqZ zulI1Y-w%H%8$BHDbsPqWV}dU9dL3i@kDv_Y4#xF*dX#a!4)i#*|0Bwc_!hH&l=y!V z*Kvqb-lXwqu8#~CGH#RoTE?@)`-o!})uYsIlG&dk`%w?acmB>v|gR%O37sSKsz< zv_C}lZ+N&j4nHQY`(u&)uNYrUyoMe&+WvFI)xn{BKaum*OZ+;r*Xv;q@m|LF6CY>% zKH|4A{s8eKjQ=(9lZ?MZ{1wKR(m21%_!8o8GyV(m^HauuP5jr4pC#_2b)n->M*gcA zuOQyU_-x`!8LuV2obma@k)jQ0>f%J>b$pJ055__K@;6MvEM4DmM@zmMYcBgXaf;0)t;ko|{@>*vd- zjO*vfEZmeq^m^Dwei|5`AbtVkr--*Oew_FU#-Ajd|`+C=NRMHlAos;UrGEpIJT*Eo7{~pHw ziu$vcas9jEZpObz_V+RVAn_xNA0+-5iZP z`hI+ucqQYV*~8(p zbbjt3FrN0xqh#erxlU(?bJF&llj!2nv*$=UlFhkxWJ6DXi{mDTc9#x|i-*e*Jg<=l z&TxoNy;ZH?5itRKG%;MjGi2FdGMj=^U226g(9JPAq6Sq5sC2YlI_SohXFA7*^Sw-N zNKiCTr4ykDLt%i)1HnzTpS^+f$YQwQF!=uvu(r}tY_ z_7Qsj(uFK5zjGs_$FnvQouuji7_AHR_a~jlanP-ykxXOs5&ASWSPK-_E^RyNf1yAg z-*3@GfBytk%Hvdz9upet&sfDYN%e~cr2IYA|0<=roMpv@P{0}5?xdhT#0ptfeplrT z>;IgB@)Ye0$WXZL6tJ1%*GwPfWBAb<1mlOX;PLANhCcQF0jiY8=tyb*@3u)n{g+7C-vWAiAC|`Un(Y`e%p6qLJ#~UnEM= zp4R_OWQg&@Z}+-Bo(-V91An|v$iGbOU@5U!nGOJJ>!>32*;ZV7~6N mIY{=yUs2wp`r0?vN8#;Y#X+;l(JhsN=u>Hb7szw zu21ZKFrR(znSailIdkT5U)s^uxzc4>ij$?5szQ#bQh#nK$YCvpRV8S4wU7O^eSdNL z{>L7JYHwjl`+j%(^E)wXa_1TPyc@Gy4)=vBW?iR?DrSXMck70(*0ERH$KGon`}iQ@ zr(AF_RmR?RWcI#p*Po>DMnU1Ae_Z7iWB==L78(Z2VP9e94v zA&O(mp)H4XOq~(zyBXuR=Y(r0)-m>{gGcg10Cfl2#|}?!c~!x3$Npho``8=W*Oqto z9tu}{`PugUPvrZ-Wp6Kd5{E{F>+PumJc$mEy`_Ucm`Ekotv|Ox!CzZ8o6h?4goU1H ztRb519~z9O?3`jc7#~b$M;rR0i6mGvsff;&>SmEACCoz>7v{C!v%2r1O#T!mX*Hd} z7K@QQ+Q4EWkGe_9pTZ<@ZA-0Z@lGlNr}F9~gz3zxmb!#RcGXgs%UTZ+I80}7n#KRj zqb?TT$fJ{-KH1QEHq=bh%u*Yue*ScFtxLF8W4_iWaC#lrYRcE*KEQ_+gNN;iwi zJnCX`kWi7rvF2Q^pva;PN2%;4g{;~0#mF? zuTrietE0*tC@np=^gP(2-1C(?P+tKZJq?7VrKP|;A*fgB4cFYZytbuEDX&Mls!=F* z6u1LuU|wxU)v{Wpe5hhj2Pl?|?Y69zswv>C|AyU`a@E|jyhf?gkj2%`uf=L*9);@V z75Wq?6fdi707oi3;1f23O2O%%WU@+4sRB!-9@B@)a!~82!pst=RprQfl$xqlsk_sl zr)s(dAyBG%HW)k`D%4=tOG}r6SX&N^4V_YLahU3+L6v#nas3S4uS)Nx(#@qCp~ei4 z!qCht_})=vIycLSOotj4j|L*%cHM+H^kCr~V z^wF)4Mf&K`N3T8>n_f$PJsMYw`=%Q=;lDTU)lvD*10gZur2r5W$0QNdZ5ZT!%+v- zYw44x$S9pvh9yQRfYn?T7S0Pe|C6rxML3q<28ZA`Fb~PvI|WZiEbH1z6mXlccEBAI zq^n?5terkB-;46DAP%Xz92&KD-)`y5*D(Y40Xl>3S=Sx1R5|Vk!D3$aYo}tpCDux9 zD}%P$O&eP7Fl}HDtyRH-&P6p^*1WSp%esZt^9%BtGYj&?&1zck8g8^#H|nz@TH#J? zG-?{vMtX`&42z0_4^kD+nK~HPTb^oN=Wdu?o?27qJ1C!G9MZh5S?l}`d40Q^S53i3aUXj$7ob*GkfyQke=kmo#9kmnvL$n%aBzeX!fo|}7Z0Bli=a`kO{W01| zsZ+vMO53~$HWw>xY;Hq2W8~*hzDk*lo~pU9uJ8mF*k)!-hi%9jx*tQ=w^upAr4gQSHEzst|{!;sypby`D8B{7x^Kau>;XLJrk=!NJ^C)I{9(xC=YoG~`O}#H32H#{ zFVZbu;Ws-Dw&)KPTJ$%WzT*<{H#2t{U@9_0(@8uxBv?vS!d_tc>uHKF5<%R zA(Gi2!aYy}*2d)O&;dk0In6=5COF&bLZ|w0vw z>;Tlzw-c%yZv)J|!xHBW22Kdo-7}Q3hZ=g5(NurKa6Fq!q*Dzo3q#GJmd2KIhIHv7 zmCN?#ng*kZRH#=qrTTJB1L?tduE`#b<`T*HaMOx-ZmXTnG~okt){ges@$7IktA2oSN7+29)EUS7l8I??= z;*n%LrQ)erBAQaU2-dOnF*?|jfENa!(?4J*QvH!^)J~*TUosuFm7VSH0d3Z?^HML^ z&qh@yol_$!mLBR!#?`3W4!Xnf-bG-VPMI`xV3A5^u?;kwQpt3BYXoffrH2ba)_sjc zhCq8s#8!Nc<}&eKn_L=B#J6SASvxWiM_*Mwzbz572h>0`*%ui|XN>^U0b1ydCb8fB zP@LC>u?E&>E6`1BPlH=Y1=@B3lvQRV8ObHK$F-q+292RgWGJKHFRPm$RD)4Fn;21% zNb9CzIc^?l(>6qjs@g2%A{0@Z1w9@RNFBk*qL}K@ z&8FhH9MtDhbIuJ!GcX%63PyJ@4igwOa+!g6HVy_z$Rt%ZO+%oE$A(Z1N0W&dC}&^^ zp{_aijw+a5XoeyU-i^W>iU9%t^5Q5o3IhfU4+aTa(vuRR+Mh^)D_Nj8;5it-Q7AUY zfrK6D8%p&m5L9G&I-SItx&s-NN@oXQ6l~R-PJ(+`)vs{=nH)5&X)b~`zc_wumBb^_>Mb{8qD=8&{u$&#i&r9#R}WxOoKPzTa3JQ&^Ofri$={MJD89?wlhU%)y!%r<}-Qxn_%8tOwr8>aoO0Uy*~ z35L%E^dsbu@KSV=54W-`x6f^(5dOs8#{(retz>u(4%f6UzE>(PSPfX&gx0{qb}0fbu?+|W$1S*b?0VGZO!gbQ@ej=^GR#H}l32+cV-4H#`uiN*Us zhI;~-wssV@O;ZAE!w9O#rAnY>liU@S$LH_#O!1!YaoHZXceAGw#A5FQ9v7TTAa4zM z)L%R<{|j$=ye|NAdz;_%xc>c3kMgAe`BjkQoZSpAZ&pjpn)mY~K;f|2U?{)t~ffILm%0XMX9|ktX z>plcbnyGP@AAowRKJ(kz~n%d+lh7sqE zPjJS4WPhbTWF_-854>r}>Jw?iMtjMI%Iuzr~GU!^nqIYyPf>EMVu zDSw}XVXJ2=|EpY&fP&i-FU`QHkjpu7te zA+i3oCab0iegpB4;9ntr0dbDcE5t7qoWFub1wT&u1A@Ore7oR(BEDO2zUY5V@SA9} zzen)Z6t{mByqNO((>}Dt{c0orjL^TD@-GYiOIm!t6ugA|`JLdc6`Vg+&k?+V+G`QKk@#l>Uq-w`@KwaS1@9sr75oa~gMtqd z9~FFv_&&i$h<{1&&k_Ho;9sY>JtX*7i9ag%mxvz}d>`?nf`5VdYl8C+8jcHoJ?XzI z_%DcmC^+vs<_l?IK0HnOWwfvGe0ZATP$f9e?>fPElKwow?;yTX@Xr&!MDT}+ZxZ}& z;=O|N{Jv7~zmR@ba9)p}6Z{XPe}mvX6rVc;|264l`}?5a%gO#B!OtOnRB)U4 zD}pD8|3dIB#Q#Td_VbT|bA0|Lcn{g}EnB`l|%z`>1ZgA0Yk91phYi znBcb(&j@}e@qL0%p?Uai!Jj7mM+N6~`n=#pWap=Xe?WF#75ru5zY?6+%O3>)Iq82W zILFyb4{scQUN6;x^S(b*@ZXUAxq@@M3kCmg(qAe#epjEqJ8_j4vzZ#-1NAEqdvc9deXsB zpP!qKI5_I_ecFo-j{5B9>%_Ug739zRg7b5b4_`)LefY=t@N>{?!QVqANQ(v66@jl7 zoZIaYJWT!!5y$z4{rWxe-9o>M_*WeI*kArh?}LIz&={mA1n2l16`Zf%uMp=r@VFck z`gfB3w;dc&l&;I~Iyn0IebWEX!4VxM{l7Ul>OVsIB_)u7#PRt@n*Zev?i}}e;_N^F zcyo#14^TYU3H}oCKEe5UZ&dI~@_&pt?;9EN|6akbCf=ZXW#$^0(Byo-E4cYM#TZMYlgZLwJ<@g{*%JAvB z@CnRRF;)_(zO?x!7D}bCMEbJ$(Hl$X^BjFg7oX4dCwBgF2VWcUQ(xhuAN2zveFh4F8TeA8Lb=gFea@z1 zQ9FvbCB!ci^FjOc0{-ljrtrARFE^X)JQ^P^6j?PD3XtKPccw69`1jOYCg0UpKmkob zR?+AA^kS9o^YNF5I4@~g>hF)JSObk?`}`gg8K%o=61SOb{>c9G8Q%-BoL2(j9;&}p z1V`#(UNW>3pn&lEXk?hA?u8RD)O(b!3s2B`MTSY%Uk+@d_#K&{)zwI)Ib;0Lq>Nt( z7}})a2Fau>R)F-lFwX7s8Q&*QRR0Wm0XN>T zXY^|OWP}tk9QY1i#%~`m=@V87SK|?WMJgPVy1PJUqV^x7 z_G`2i_~AR8@wZM91oBy!dI5dQ3%%;Mfc*;Co50>6Y(9WvXgu|rx z-+ro3qUSJDZ&rry%_{dJbcxcXQ_|s z{vu_|i$SSJ&FkZBhV^;EqI&!xxkUZ+E;+TETzj8XU&sH z=rOOZ$){|z_z}RA4ocily}E>-kL>+S>WH!qM7HoOy78<1jaOIh7b2=KcEDC1YqVLgaEAqBozy>RxV5=ZI^Vyt3KxC?(x3@4yg&V z?#LPHJPZUARdEgNqU6w$dIU9<;cQ;Dv?3KfmX4l$Jy0idHw> zN-+g!HACf5RJ8K`v>2_$i2E7kZ!K0P9a9i0+RiCdAood<6Y&sOkdZxdKS^$+w8K|W zkWp|H!B%w;l#xVrc>A8r3#~^oL8+qxQi=9lBXfOJn&2&(_Fui0XJHpZlVoY9ix7>S z>A0*9OP2@B(2!dP?Rmsy?wiC(zMqiw0Pmms)&4oczDZkRMKAB0v~|(GsrJtS-aq%N z{WJZ(nGcbqL$oLAeUm!K8MS{7@cy}9?VsuPP09`($9BPcAY8&&jyG1e!8} z@EnvZ|MzZ(6bqeJ3feOBc9=W}AhX11W|o*Km}g}@;D^yqcSITF5i)yR>fp@wkpMEQ z?t}yCPFT2KPV*7&h$Rq7W|n4#&MbA1Gi94QPw9FrOl73lwa5aAtR2Ru( z_7Tk`DX)Pcb&y*D(JeGR3WK8(5FLszt~E@*!?hzCj9y7bSo~tH9Z{vpOBu=#XPl}7 zBMDAT3a-?oDY$Z&U@i-c6uBa%eE)xbKliTo^GM(qe*PI+;Q%EKFQN9H2r)) znMoJCS={#>t{t(?_GtnqVL^sgGv|P&Z%JZvhlN1Pt!DXvC^?|%yOLPx0ZqS|#AYAR zw6+rvzn#ss?9UdiF&8u$4Jr32(GA0#-M|7HlLP7&nx4jz0Wm!8T5B=$z@R4I9(5su zg)H!ar1EZ|>9<%iox#)Gcb;n))Z_!17czL31eIVaZ{i$ny90FDin<==U2K``fo*;i*@TCgRv z1jixaiPOP95AA$1n4P^CWWh}7$0Ur#2*Tv4aztZ8HQBY>$kZ811T`|QY;v$kD zVp_^&HOwdpubQYu#nWL#Rpu-#x3JMFf7bOAm^i#sA-G_4s)@rHzY*fWKtHa@mQ$q~ z-%4txzKO)iiyY1TMzSW~lo0nsVyXT$u5wuh(J6@>5OUoVfCxWLtXwjkm4QfErn4$| z##xo=RH1_1Eb0wR`xUO)^6~~zrwJWB=3jBmq4bJTVYv{TOD}<1Czl}S(ygGG{5Z(5 z5}idHB9G2-RD${AsHzB#8&CC0z`+Ul>VQHr!HH#J0*!3q$8gC|S0PPiWMJB145RX- zHy|^L#%u@IguO|AQ9!cEIDZjL9On{pV^W}>R0wCbhv1}QIiETwQ}A@T2!!*&&=jYd zA~`ieVZ12Ve^gKy)5oz2$|;&)GF%{Wc46_5R4*o*!C?P!Y0{CMDUZsACVL4DD>W_( zG%KxQH7ArB-Mo+Zg(I8EQQu6_PT8oTfTx<()Ep87inp^qO9vrC1|iVJF__JFJu-xG z2X4c)3Ny-%PL=Fg1vxe2u%t*NFjdVjnat!gJ^~+{>K~y!CD`8+dipU!c{uA6@+x|Ga!aL_vJr= zbIEAZbmR&9Ri3b?Wv8Q?56Ri&e3jBwo21qD))h1PDdLIx)>vz6`=*#^ zX@{Newyx&&ZLy|kb6Y|*cE%bKv3jLla20Q9Z%Byx`XwLz=#tv{o0isHUtd+b;`;h} z(bc>qCNK2~(WRxJUpgmRH;Yy>w{Az8*%=6YE+?`?@{rCB>O%>_29-kmc1cPIIwFZ{i95eMXYJ159f9D-ot%7V zx;AO!5cATZL)qvF?hFLK?XZz3;D2Hsy7wDAkC{AYnTKw{2G2K5o+;FaA`fQp;)a~l z0ob}*^N{al%tO02`+h@CUr;)q>86~29*4FJ@dYqBj&m+&3{@nGpF^ugv^1}aCq#2w zV@r2atVStJI~_`M zYh16=onGlqOSlDer|2PkK?EADYKvp(zwZam!XZWcPj zce}GgOWnygx&@)Tfi8u)TQG>bLmzSrF(j`B)pB>H1hO7>qt$NKN8GS%P7dvG=Y^`> zf*alNQa8FBjY@Yi6qBlOXldODL-?^9$a>11@r;|le*JoPMx%QPD|Ri8UP9CZVI?x;}s7={Xw``rl=3iTr`-`W-i z6n?AL3cb!hr->!7P0O@^hrhcq!hhkD*BPF zXsq%lgZv39fAW++;YBo2_HGLou}ANv6#Y_;E+-U@!`kT2!FpvVT#T_2a{?H3xug5s zK&5o&{B4Mb9M&!;IjrzC?!{S8BKu$q1qZiP{(j*)>Ruc?A`mf0svH#xez@|#5wb;y z{VRf$T@m=Zl&-Zybd4OfV0B+`*20}e=t$vvP#6eKB87n*>|xl!(ib0H8RDJucJGT) zB>4oJ?3Q~qBVk zPcwg+34;C`##dPQJ*-E*2Qm6S#r$gxjL40QcUU+zgQ>R(LwbYi8F2`v`0XetmY~4v zvos|r(!U1_sy9SKBsQUC$A%c_sbVbrjL31QcU**j9=~+_ua1Dz#34Ov*;RRe1=h;= z3BFy)GXpR>_7Z;y+m&Y!U@^w=&?t*Ocg$maEl)Uko&YwL@hDF%H816TTI$zt#O1jG zybm+~p-d1c>Lrd44}eZL-me2EKXuV(tJfKz9{Rn1UX_d3Z*r67kj8Hx0slIyrivaD zHUE2zlO8&|Y5c=Hep~--jFT9Vn*UCNpB_>){tW}4Zs0#20e_8g(od^f>p5reoBGRn z3!rW@4lfw^Bty>}&L8O~QtMyBIO#Fy@}C!b{IIVGL7Fmf}UdrZrU9y zU+<_Go8!9Iz|C<5c}df_Xv%53xs2Q6y4=9caoscmzQ)i`@0GRwZiCFC74cv^w)ua@~_J1kkw*GblH~rsY=pj=3dAotrS1FDE?Ff3FHE=U- zlprXpY3p`Qw;QR4W*lq~W!B3d+k37^S56SyW^KVuU_wy0?S52~i1j~7%N z{McpL{(!s=#}_cJ^-Lo{lp9o))W41KDhq#(+w}%+-me-BoW`}C^|To{@z3XWr-2jy zpE3V!j8l`wrOyTZjFbPQXEnFKWZ?tczSqK^;`Sk~wSN7V7S9;`7D-2SeCQ(km@o?@ITvfIJ!vle~_ zwJ`Oart=c|_aXIr?oyTrovdRb=RkZso7aJMZ z{-5CXtrmX+>)CDLpJDt?3-4w8FD+b;7q7o%(d$kh% z{Ob7%`DC2LDUbSZYTmc-|Kzs*yB*EHk~UGuR* zw)oZi9U;DM;o6@g7XC%{=Z6MP^XD0!KhGFA&7Z$!{(m;`u^fA#r11CND`TuT9ProPG#Zwku z$A0R+H`IQ<$+&(#)p!A)`+eRgH2&v|FR<`$u-!TfFCu4AI`n=6n&Q8h6rz06!sju* z!@~7>=5`C$>+TB{uGhtvEnLrAy)WwdJd5rA(BePHcvO0;p8I&H5}9k^5$0cE;oAR% zh3otBZVT7vio+JJ@0%}KxW0eAZ{hkr5@o;WwnhHy{k+`5^?JOQ^-#AtUix~;-(2N4 zRQsDK_uXoL_DxD{7DY|5b=~Xh8`iDsjBOG{ow1gNqC{+SLKNW}Xe)gbg^i)#RvX*9 zv=~0vuE%#aR?>wpsmag5N|n;y+!k-gXXG~H3$Og{iqE|*qNuGs5i7c3`Kl|r5)F+T zMG<|ht8Zv(!sqez=GSafV+(!Hg%0{qOQhTh@YLwXUMOf;+$ zMP0YH%DS_?sUgu&)Yz4n4=u??=~ZTHt|(e|-HN3P>SrtBDore?FIC7qObp8 zzC`iN*Tg(cT&0OCH8DpMB_Mv^G6xfex7;DBPA^u?6FlE^r_~fUqk}NsW;L5AV~YN^ z(=1j~tVAbou_l`km#gM(zCVvclhy(+clmCTIM%>8**EV6gg?ZFG(TZfv@Kmow|%X0k<(?JwY#LQ1o-0 zY7OVT2Oa6;+vw#r%5!?4syU38{)?pLqU79Nssz^Z{fhEOM^&wk-VssRf?qoOWl`!C zVy(QUE;jFObP-mPVv*Frr~)3e1awo^w}6dkTYmY)O8!z+C9hge*FQjyrjtw{x>?@D zh_-p@{RaMZ(A+l5W|rSz3F!D~-YoQ|i~q?*isLjhQvB(@pyhS^&j7PbNQo0OWF=m- zl-s;-gUw=*f-mv@q3w`;n$ouY7k~wqoo`3ggI}`f{YL{NPsO%R|Bc3u9q~O>NLTt} NYE_dQEeYHHe*v$;wRZpj diff --git a/srcs/parse.o b/srcs/parse.o deleted file mode 100644 index 4c8d1d7cca7e295159742dea4ab804803a69db7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18352 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 aEPAZC?`t7SJum%nK_i_+JA8+txBtK0ExIoN diff --git a/srcs/populate_element.o b/srcs/populate_element.o deleted file mode 100644 index 6806dd71431295c9e9c628fc86d2ab3018143395..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14720 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≻ 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 diff --git a/srcs/ray.o b/srcs/ray.o deleted file mode 100644 index d928ea852b13c804fb2e9e2e85925396373d8c8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3912 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 diff --git a/srcs/shade.o b/srcs/shade.o deleted file mode 100644 index a54d12df32b8e553c58e8d1a08db9e011e951e73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12472 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 L1I+MVRQvy5ME}w9 diff --git a/srcs/sphere.o b/srcs/sphere.o deleted file mode 100644 index 0b061aef7c33e73d0cfa8b563d6ec09bcc335fd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19144 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 diff --git a/srcs/vector_calcs.o b/srcs/vector_calcs.o deleted file mode 100644 index a246d20fa53ee65e233a2777f499d4f2ef6abab8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6328 zcmbVQZ){vg5#M*`J)eEay*r&@9b^>g`XJy?U z1>ZL0tFAo)Bbn85^SXT$kmD<(Ykx&=Ej~7Q_C|W}{QIumeXOewf{k|#fP4|cz|)Ok zF6nUHYcL5sfshdl`S)$E-E$06NRD?!DKvzEydfmO$5*hTb^FO{uHCxg+D~4Aic(od658yQp6(@b4ao@+@ zF|VtJU{TdhFvixw=drGCsP{Ff4Qg)tJ@6~`2=?mY8s`IbV0`$5HbEV)fx{KmF0At} zuKk-gEr^s?k#0a5ufrVUs3o_8w7PDOUxVZ)>X&Z-*W2!vn3>%TYi*BQQmYMfwWFMR zB(a8rCe0JTTr?73i7bn|2x<`TSlJgz*}%etghW-a%$^}Jv%$Vf$XvjW<#&C|+u)~n ztPm?SBE?c-YAMR)!|}w{&Un&li3kzO0N4^4X#e)7JHqk% zV)w`PbR13{=nx_-MW|gvhf_i{fV#D&%6)ZeBoL+_tQ*l8g=oeKhE2zWXp*89r@0H1 z{jnI}u`S|oN{!Ga5ix^1evOG zqpA^`xb!-n0xS5_gxk&i91=TpM>0oN`CHPcl2Dq@2Xe*$Dng)PbBhSHS zW9UNS1q5}J4s^4c5U@IwPczC54Y6M!2MTq>R<$HTZ7SjRP+~J8|G?1}QIk{An%tTY zI#SdxybL_ESh5L}|4k1NA{3tpypZ z%Y-!@L}|4q1oq6)IxnRO@%Uu5SgEFS`E2n-de$j>)1_j%|ISQbrvHxqd#h@6ukgw_ zuXonTRZ8WFTsEKcGC9#(biLk_rGn%2R%Wx_bl#cmJ?MC+Dy5m;!gO)ET*r#zc2 z3-p{QWKRe;U&>a*te6v1rRrqf5vRo&;Z4B!UQr1!n1`IId9X+KVyRrvl2`SGNsUaE z$S7AXd7j3mi&%{V@4K?&VU&WHgje|gSg_#hhjr#rVa+A1&P|QcML4JlScQ+mgT!A0 zsH@!zd;lKtKs@2aqwqNt#~p{`M-T_XjgR98<9%mCq4{{?fp`>S&L9qin-&SNb4n5d z_aG8tdXLxUL+mFw2!uNX39%IvfH=p~kb48%wO}J!*8B0z$nd=bkANXC|d4a-=>m7&O(6n~N}%{yf)sOcejn=3nq zWY3UnS`IsI7~~Mh85vrXB66qfXbzuQkgdOzosk9Ew=8=WWYdB&jHbiRXt;A(rXt~{ zA(k zcYac~E<&9l3p$Mp@gZ~-@CNa(o91w{a%wPPrH5JB(j+{wo}0^(_e; zakc>wdZUT)kCDD5fb&HaA?!aA+ux^Ev7I=k6($+kCrCE&dkN<_-zEK!fmcZ9^+fyN zZv4Dqf1UJf07rYC&k5kz2V5tlr!`Z{g8B3MKTkO4$^PFlaL)7l23{on=LUX(^j8f0 z8>C+}@Ux`<*1%^;|AT=)L;4#A{uR>yY2fBh170uQ*9`~&aUWjNs%SBA?!&eKj{WEU z?hN3;{@)(J(VkyKe13S|ztOx0$Q~K47w7+o5$8u_f84O=^LH{}kNNzJ>}L)9I^pLG z{08CQ4B(jmZKN*+@L;_!5{^vmH`0G<*uPBiUor6OgkLsr&gW_X$9%Z{YXLl%&s&5e z!+iLCxo+66z?dR@=>YM%T-U0I8#w3F5x_B@Z&BQB0X&#b58<2-zt`_J>@U;24;ncB z5I}m&zM-e-aPBjyLS&|#$?A!T?BrzGnH8C`lh0-<&Rj)!PnYSI zi`U&uu2d*EMM4VxHCf+)DTr4oQv@A!y6Bel?byFVt7~N80 z_(T&tD?u6{1%IdqDG^ja#viD7{!Cijq>(`yNCL-Dco#ux*Gzl>9OvhI1Hs}cn%A6< zb>?_pjS^Le8S;PG7&KJnYhoB+4;A%>idOqDZSlTfVrUKjVo~%g<)O8Wwnt&$R{gt1 z{hOgU*gw2Cnf-eRFr2>+o**sKCF|`V2r}o&yqhr7f1W1V^I!b&-+~+~X!-+AGzi|p z_SYKYRlvf-H%q|g;qi&jF9Yb0WX}I@z>F=X?B2sKQlJ;e0U6G1&i@}x Cl#N;d From 8b59c22860f6062ec51e2df60a5c32f37ac848c6 Mon Sep 17 00:00:00 2001 From: Tsvetoslav Vasilev Date: Mon, 4 Sep 2023 18:07:38 +0200 Subject: [PATCH 63/67] cylinder casts shadow --- includes/minirt.h | 6 +++--- minirt | Bin 0 -> 159040 bytes obj/camera.o | Bin 0 -> 10472 bytes obj/cylinder.o | Bin 0 -> 30216 bytes obj/event_handler.o | Bin 0 -> 13992 bytes obj/libx.o | Bin 0 -> 13328 bytes obj/main.o | Bin 0 -> 13944 bytes obj/matrix_calcs.o | Bin 0 -> 17936 bytes obj/parse.o | Bin 0 -> 18352 bytes obj/parse_util.o | Bin 0 -> 9664 bytes obj/plane.o | Bin 0 -> 14704 bytes obj/populate_element.o | Bin 0 -> 14720 bytes obj/populate_solid.o | Bin 0 -> 16200 bytes obj/ray.o | Bin 0 -> 3912 bytes obj/render.o | Bin 0 -> 24592 bytes obj/shade.o | Bin 0 -> 12472 bytes obj/sphere.o | Bin 0 -> 19144 bytes obj/vec3.o | Bin 0 -> 9672 bytes obj/vector_calcs.o | Bin 0 -> 6328 bytes scenes/cylinders.rt | 10 +++++----- srcs/cylinder.c | 35 ++++++++++++++++++++++++----------- srcs/event_handler.c | 6 +++--- 22 files changed, 35 insertions(+), 22 deletions(-) create mode 100755 minirt create mode 100644 obj/camera.o create mode 100644 obj/cylinder.o create mode 100644 obj/event_handler.o create mode 100644 obj/libx.o create mode 100644 obj/main.o create mode 100644 obj/matrix_calcs.o create mode 100644 obj/parse.o create mode 100644 obj/parse_util.o create mode 100644 obj/plane.o create mode 100644 obj/populate_element.o create mode 100644 obj/populate_solid.o create mode 100644 obj/ray.o create mode 100644 obj/render.o create mode 100644 obj/shade.o create mode 100644 obj/sphere.o create mode 100644 obj/vec3.o create mode 100644 obj/vector_calcs.o diff --git a/includes/minirt.h b/includes/minirt.h index 1b10a0c..16b8340 100644 --- a/includes/minirt.h +++ b/includes/minirt.h @@ -6,7 +6,7 @@ /* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/05/23 16:43:46 by tfregni #+# #+# */ -/* Updated: 2023/09/04 15:54:00 by tvasilev ### ########.fr */ +/* Updated: 2023/09/04 17:59:26 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -27,9 +27,9 @@ # define CANV_MAX_X 1.0f # define CANV_MIN_Y -1.0f # define CANV_DIST 1.0f -# define CAM_PACE 0.1 +# define CAM_PACE 0.8 # define LIGHT_PACE 0.3 -# define ORIENT_PACE 0.02 +# define ORIENT_PACE 0.4 # define RAY_LEN 100000 # define BOUNCES 2 # define ZNEAR CANV_DIST diff --git a/minirt b/minirt new file mode 100755 index 0000000000000000000000000000000000000000..ad506578da66e64d0a8a1dd5d965f986ee14ca80 GIT binary patch literal 159040 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 literal 0 HcmV?d00001 diff --git a/obj/camera.o b/obj/camera.o new file mode 100644 index 0000000000000000000000000000000000000000..e7475fad3e90c1f557b940ed34f835bb683d2095 GIT binary patch literal 10472 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 Jza8rF{|9@FbLs#9 literal 0 HcmV?d00001 diff --git a/obj/cylinder.o b/obj/cylinder.o new file mode 100644 index 0000000000000000000000000000000000000000..7252453dec403bd508436af8bf06c7cc4b3c53f2 GIT binary patch literal 30216 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 literal 0 HcmV?d00001 diff --git a/obj/event_handler.o b/obj/event_handler.o new file mode 100644 index 0000000000000000000000000000000000000000..2e2f8b37b4bd8801cfb581856fc434d1f75622d3 GIT binary patch literal 13992 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 NYE_dQEeYHHe*v$;wRZpj literal 0 HcmV?d00001 diff --git a/obj/parse.o b/obj/parse.o new file mode 100644 index 0000000000000000000000000000000000000000..4c8d1d7cca7e295159742dea4ab804803a69db7f GIT binary patch literal 18352 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 aEPAZC?`t7SJum%nK_i_+JA8+txBtK0ExIoN literal 0 HcmV?d00001 diff --git a/obj/populate_element.o b/obj/populate_element.o new file mode 100644 index 0000000000000000000000000000000000000000..6806dd71431295c9e9c628fc86d2ab3018143395 GIT binary patch literal 14720 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≻ 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 literal 0 HcmV?d00001 diff --git a/obj/ray.o b/obj/ray.o new file mode 100644 index 0000000000000000000000000000000000000000..d928ea852b13c804fb2e9e2e85925396373d8c8a GIT binary patch literal 3912 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 literal 0 HcmV?d00001 diff --git a/obj/shade.o b/obj/shade.o new file mode 100644 index 0000000000000000000000000000000000000000..a54d12df32b8e553c58e8d1a08db9e011e951e73 GIT binary patch literal 12472 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 L1I+MVRQvy5ME}w9 literal 0 HcmV?d00001 diff --git a/obj/sphere.o b/obj/sphere.o new file mode 100644 index 0000000000000000000000000000000000000000..0b061aef7c33e73d0cfa8b563d6ec09bcc335fd1 GIT binary patch literal 19144 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 literal 0 HcmV?d00001 diff --git a/obj/vector_calcs.o b/obj/vector_calcs.o new file mode 100644 index 0000000000000000000000000000000000000000..a246d20fa53ee65e233a2777f499d4f2ef6abab8 GIT binary patch literal 6328 zcmbVQZ){vg5#M*`J)eEay*r&@9b^>g`XJy?U z1>ZL0tFAo)Bbn85^SXT$kmD<(Ykx&=Ej~7Q_C|W}{QIumeXOewf{k|#fP4|cz|)Ok zF6nUHYcL5sfshdl`S)$E-E$06NRD?!DKvzEydfmO$5*hTb^FO{uHCxg+D~4Aic(od658yQp6(@b4ao@+@ zF|VtJU{TdhFvixw=drGCsP{Ff4Qg)tJ@6~`2=?mY8s`IbV0`$5HbEV)fx{KmF0At} zuKk-gEr^s?k#0a5ufrVUs3o_8w7PDOUxVZ)>X&Z-*W2!vn3>%TYi*BQQmYMfwWFMR zB(a8rCe0JTTr?73i7bn|2x<`TSlJgz*}%etghW-a%$^}Jv%$Vf$XvjW<#&C|+u)~n ztPm?SBE?c-YAMR)!|}w{&Un&li3kzO0N4^4X#e)7JHqk% zV)w`PbR13{=nx_-MW|gvhf_i{fV#D&%6)ZeBoL+_tQ*l8g=oeKhE2zWXp*89r@0H1 z{jnI}u`S|oN{!Ga5ix^1evOG zqpA^`xb!-n0xS5_gxk&i91=TpM>0oN`CHPcl2Dq@2Xe*$Dng)PbBhSHS zW9UNS1q5}J4s^4c5U@IwPczC54Y6M!2MTq>R<$HTZ7SjRP+~J8|G?1}QIk{An%tTY zI#SdxybL_ESh5L}|4k1NA{3tpypZ z%Y-!@L}|4q1oq6)IxnRO@%Uu5SgEFS`E2n-de$j>)1_j%|ISQbrvHxqd#h@6ukgw_ zuXonTRZ8WFTsEKcGC9#(biLk_rGn%2R%Wx_bl#cmJ?MC+Dy5m;!gO)ET*r#zc2 z3-p{QWKRe;U&>a*te6v1rRrqf5vRo&;Z4B!UQr1!n1`IId9X+KVyRrvl2`SGNsUaE z$S7AXd7j3mi&%{V@4K?&VU&WHgje|gSg_#hhjr#rVa+A1&P|QcML4JlScQ+mgT!A0 zsH@!zd;lKtKs@2aqwqNt#~p{`M-T_XjgR98<9%mCq4{{?fp`>S&L9qin-&SNb4n5d z_aG8tdXLxUL+mFw2!uNX39%IvfH=p~kb48%wO}J!*8B0z$nd=bkANXC|d4a-=>m7&O(6n~N}%{yf)sOcejn=3nq zWY3UnS`IsI7~~Mh85vrXB66qfXbzuQkgdOzosk9Ew=8=WWYdB&jHbiRXt;A(rXt~{ zA(k zcYac~E<&9l3p$Mp@gZ~-@CNa(o91w{a%wPPrH5JB(j+{wo}0^(_e; zakc>wdZUT)kCDD5fb&HaA?!aA+ux^Ev7I=k6($+kCrCE&dkN<_-zEK!fmcZ9^+fyN zZv4Dqf1UJf07rYC&k5kz2V5tlr!`Z{g8B3MKTkO4$^PFlaL)7l23{on=LUX(^j8f0 z8>C+}@Ux`<*1%^;|AT=)L;4#A{uR>yY2fBh170uQ*9`~&aUWjNs%SBA?!&eKj{WEU z?hN3;{@)(J(VkyKe13S|ztOx0$Q~K47w7+o5$8u_f84O=^LH{}kNNzJ>}L)9I^pLG z{08CQ4B(jmZKN*+@L;_!5{^vmH`0G<*uPBiUor6OgkLsr&gW_X$9%Z{YXLl%&s&5e z!+iLCxo+66z?dR@=>YM%T-U0I8#w3F5x_B@Z&BQB0X&#b58<2-zt`_J>@U;24;ncB z5I}m&zM-e-aPBjyLS&|#$?A!T?BrzGnH8C`lh0-<&Rj)!PnYSI zi`U&uu2d*EMM4VxHCf+)DTr4oQv@A!y6Bel?byFVt7~N80 z_(T&tD?u6{1%IdqDG^ja#viD7{!Cijq>(`yNCL-Dco#ux*Gzl>9OvhI1Hs}cn%A6< zb>?_pjS^Le8S;PG7&KJnYhoB+4;A%>idOqDZSlTfVrUKjVo~%g<)O8Wwnt&$R{gt1 z{hOgU*gw2Cnf-eRFr2>+o**sKCF|`V2r}o&yqhr7f1W1V^I!b&-+~+~X!-+AGzi|p z_SYKYRlvf-H%q|g;qi&jF9Yb0WX}I@z>F=X?B2sKQlJ;e0U6G1&i@}x Cl#N;d literal 0 HcmV?d00001 diff --git a/scenes/cylinders.rt b/scenes/cylinders.rt index 038582e..f24deac 100644 --- a/scenes/cylinders.rt +++ b/scenes/cylinders.rt @@ -1,10 +1,10 @@ -C 0,10,0 0,-0.6,-1 55 +C 0,0,0 0,0,-1 55 A 0.8 127,127,127 -L 1,10,-1 0.8 -pl 0,-10,0 0,1,0 255,20,100 +L 10,10,-1 0.8 +pl 0,-3,0 0,1,0 255,20,100 # pl 0,0,1 -1,-0.1,0.1 0,255,0 # sp 1,0,0 0.8 0,255,0 -# sp 0,0,0 0.8 0,255,0 - cy 0,0,-10 0,1,0 1 2 10,0,255 +sp 3,1,-10 0.8 0,255,0 + cy 0,1,-10 0,1,0 1 2 10,0,255 # cy 0,0,-20 -0.2,0.3,1.0 2 1 10,100,100 diff --git a/srcs/cylinder.c b/srcs/cylinder.c index 2bb6fa1..a9859eb 100644 --- a/srcs/cylinder.c +++ b/srcs/cylinder.c @@ -6,7 +6,7 @@ /* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/08/01 16:18:37 by tvasilev #+# #+# */ -/* Updated: 2023/09/02 15:15:48 by tvasilev ### ########.fr */ +/* Updated: 2023/09/04 18:07:12 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,24 +14,37 @@ #include "vector_math.h" //! not really needed I think -int intersect_cylinder(t_scene *scene, t_ray ray, float *t, int i) +int intersect_cylinder(t_scene *scene, t_ray r, float *t, int i) { double a; double b; double c; double discriminant; + double t1,t2, m1, m2; + t_vector olddir; t_vector X; - //printf("IN HERE !!!\n"); - X = vect_sub(ray.origin, scene->shape[i].cy.center); - a = vect_dot(ray.direction, ray.direction) - (vect_dot(ray.direction, scene->shape[i].rotation)*vect_dot(ray.direction, scene->shape[i].rotation)); - b = 2*(vect_dot(ray.direction, X) - (vect_dot(ray.direction, scene->shape[i].rotation))*(vect_dot(X, scene->shape[i].rotation))); - c = vect_dot(X, X) - (vect_dot(X, scene->shape[i].rotation)*vect_dot(X, scene->shape[i].rotation)) - scene->shape[i].cy.diameter; + *t = 0; + //r.direction = vect_norm(r.direction); + scene->shape[i].rotation = vect_norm(scene->shape[i].rotation); + olddir = r.direction; + r.direction = vect_cross(r.direction, scene->shape[i].rotation); + X = vect_sub(r.origin, scene->shape[i].cy.center); + a = vect_dot(r.direction, r.direction); + b = 2 * vect_dot(r.direction, vect_cross(X, scene->shape[i].rotation)); + c = vect_dot(vect_cross(X, scene->shape[i].rotation), vect_cross(X, scene->shape[i].rotation)) - ((scene->shape[i].cy.diameter / 2) * (scene->shape[i].cy.diameter / 2)); + //? maybe normalize the r direction first discriminant = b * b - 4 * a * c; - if (discriminant < 0) - return (0); - *t = (-b - sqrt(discriminant)) / (2.0 * a); - return (t >= 0); + t1 = (-b - sqrt(discriminant)) / (2.0 * a); + t2 = (-b + sqrt(discriminant)) / (2.0 * a); + m1 = vect_dot(olddir, scene->shape[i].rotation) * t1 + vect_dot(X, scene->shape[i].rotation); + m2 = vect_dot(olddir, scene->shape[i].rotation) * t2 + vect_dot(X, scene->shape[i].rotation); + + if (t1 > 0 && m1 >= 0 && m1 <= scene->shape[i].cy.height) + *t = t1; + else if (t2 > 0 && m2 >= 0 && m2 <= scene->shape[i].cy.height) + *t = t2; + return (discriminant); } bool cy_hit_record(double t, t_shape *shape, t_hit_record *rec, t_ray ray, double m) diff --git a/srcs/event_handler.c b/srcs/event_handler.c index fc34029..2e705d2 100644 --- a/srcs/event_handler.c +++ b/srcs/event_handler.c @@ -6,7 +6,7 @@ /* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/03 12:29:38 by tvasilev #+# #+# */ -/* Updated: 2023/09/04 16:38:36 by tvasilev ### ########.fr */ +/* Updated: 2023/09/04 17:58:37 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -28,9 +28,9 @@ int key_handle(int keycode, t_scene *scene) if (keycode == ESC) free_img(data); else if (keycode == PLUS) - scene->ambient.lighting_ratio += 0.1; + scene->camera.pos.z += CAM_PACE; else if (keycode == MINUS) - scene->ambient.lighting_ratio -= 0.1; + scene->camera.pos.z -= CAM_PACE; else if (keycode == UP) scene->camera.pos.y += CAM_PACE; else if (keycode == DOWN) From 2d9f28fe07f3970466e5e38aaf7392e90a11f61b Mon Sep 17 00:00:00 2001 From: Tsvetoslav Vasilev Date: Mon, 4 Sep 2023 18:09:03 +0200 Subject: [PATCH 64/67] little comment clean up --- srcs/cylinder.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/srcs/cylinder.c b/srcs/cylinder.c index a9859eb..387ab43 100644 --- a/srcs/cylinder.c +++ b/srcs/cylinder.c @@ -6,7 +6,7 @@ /* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/08/01 16:18:37 by tvasilev #+# #+# */ -/* Updated: 2023/09/04 18:07:12 by tvasilev ### ########.fr */ +/* Updated: 2023/09/04 18:08:46 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,6 +14,7 @@ #include "vector_math.h" //! not really needed I think +//* Edit * needed for the shadow casting int intersect_cylinder(t_scene *scene, t_ray r, float *t, int i) { double a; @@ -25,7 +26,6 @@ int intersect_cylinder(t_scene *scene, t_ray r, float *t, int i) t_vector X; *t = 0; - //r.direction = vect_norm(r.direction); scene->shape[i].rotation = vect_norm(scene->shape[i].rotation); olddir = r.direction; r.direction = vect_cross(r.direction, scene->shape[i].rotation); @@ -132,7 +132,6 @@ bool cy_hit(t_shape *shape, t_ray r, t_hit_record *rec) t_vector X; t = m = 0; - //r.direction = vect_norm(r.direction); shape->rotation = vect_norm(shape->rotation); if (hit_plane_top(shape, r, rec) || hit_plane_bot(shape, r, rec)) return (true); @@ -142,7 +141,6 @@ bool cy_hit(t_shape *shape, t_ray r, t_hit_record *rec) a = vect_dot(r.direction, r.direction); b = 2 * vect_dot(r.direction, vect_cross(X, shape->rotation)); c = vect_dot(vect_cross(X, shape->rotation), vect_cross(X, shape->rotation)) - ((shape->cy.diameter / 2) * (shape->cy.diameter / 2)); - //? maybe normalize the r direction first discriminant = b * b - 4 * a * c; if (discriminant < 0) return (false); From 5b0eaaf7c2437909fdfab9b89ee67bb645894664 Mon Sep 17 00:00:00 2001 From: Tsvetoslav Vasilev Date: Mon, 4 Sep 2023 18:19:01 +0200 Subject: [PATCH 65/67] cylinder shade (in progress(caps shadowing)) --- minirt | Bin 159040 -> 159040 bytes obj/cylinder.o | Bin 30216 -> 0 bytes scenes/cylinders.rt | 6 ++-- srcs/cylinder.c | 75 +++++++++++++++++++++++--------------------- 4 files changed, 42 insertions(+), 39 deletions(-) delete mode 100644 obj/cylinder.o diff --git a/minirt b/minirt index ad506578da66e64d0a8a1dd5d965f986ee14ca80..2ba5008d3d5dcd08c84933a1732693d1651e20f7 100755 GIT binary patch delta 904 zcmYL`OGs2<6vxlG$Mbn-)KRZf_Mp-X)1-0IvWEs?gmGIGv}g+4v>1aTqNt5_r>=nr z8IBq)DqGabMHm#bHCk9vL_t9!ZJL7U<)cllI^P+=&E@<3|KEB1zdJP(nVN}Ao}&2H z&c^b}w;LD#t?O#L*d9(qu9eRA_ff8o@X0{N>tq1h)&lSa0MPqb2~b4YDJO*%Ls#4$ zaZf4^S-dNFNvcq5nX+^6tVD42P7&G3CSO`wW66AwyCX${@g_$w)(UXMmab4d+j(yixdjPtNtvfAaCCVgflu)C{Gk|94*DS~7vOdEVUFWgjZ(Ccyw)Ul@m(?B3 z2y4_pd0tSHW)$NcOG&RPo)^@lg7~NXXf#LvBiQZHm|1m95G#LwC>}XHPgEq%DM;9OwEJ*XeHgT;?-A G9sCcZiKScs delta 904 zcmYL`O-NKx6vywm$8&u%qm%Pd7C|W!W=Z3uWnU9S5yT@XXwek7aWM*oL_xF|-m7O( z(wCEcQKY+q79mj#ZNg|_hEfCtx(FnbKB!cJww-%MaPzpo|Nowk|9!)gq2bBUP!}dg zUsjp%3*8-m&x~E$aOwSvk^XE$PXS8>gy$Fi*ltn^H?}DCRVf9riI`FqSRB?luoyV( zcCy8iSOR1U`#Y=#%QZj2W@Fmu)Fn; zQcd>uQsE-oH+cjs6C7n6vu>>*Y*OmoBCcWlu!u()KMI!c3Z$ccA;NQUWSdflk$V*4 zjGSx;C0Rj|)ofR)z0$fPJeH#jfkf$%DEtgcvYeMJNBFWl!#P>!8RH*YTgJ8>3rRh3 z`+a7K>I=^?O474}$?QVXK=34^BrW%P%qU6AIL;_Z%Q(v@Nd@a>qDrj`cJbd+>V*AE z55qNWJ5{OqKAhT96$7F$hMX*gx=K$z!*TSVQZkGY$0egP34{MUy%{Kly^!T|Kn;8f z*h|MriBN6uGPqRZ46?c}q4#ppyru!i=ee}RU>`SW7Q=pU z*3(;o+FACeDW9Wb0Uh8CTuPYzw9?GeYL{wV{LRJOzMtnA?)A${6Bv91X@e7f5|lo_Cg9HnHpsgnN% HUiJP5>i(!$ diff --git a/obj/cylinder.o b/obj/cylinder.o deleted file mode 100644 index 7252453dec403bd508436af8bf06c7cc4b3c53f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30216 zcmb_^3w%|@wfEj7`JGN~>)xKKin~wB@U{wU)N{x{bA8rM9+*ZGCqZv- z=Lcu6`OliQ)~s1;X7)a3XWQbXOG2*eNO7IZoK#Iv$BEpOqRSLn=8OSn`Kt2k%2zC} zxb=+!bgSI;*UDX|ei$Z(irx1<0;rLzoFjrW3In;-$_A2Kv?E?dot50f zaq?X-oE+vVBkj~eV<<80DoWW!7L#vCl9F&Ty5`6U(pYU6Gt4N}5R@s(e)8#IB_Xim zZMcX*=Tgq08T4!%=iovi^>~k4Rtg)&MGj{nQfJKgca= zeo0^8J=S>=0kO2OI_;kLUi467 z*Stj16sxD9ja492U8J}Ch*Bg z@>}caJEujHQmuM6pT6hm)i#{I^YCinyr<#V&ntJrAFuRYdXk*i8eR1(OyP@|qn8xW zjM{VXVn0`9$<`k-E08x$juPKb?u8rek1+5`*wX&9~$*b7CC|*&qYay5x#Y>~P9t2~l zfWb#9cQ4T^a(Oi8DlD64sBYCkxAmNMh*Fhv;Ky=^^#c51z2Bhg`Uqym)>2 zx+i8GF)B^P(TO|I0NE24X@75jqe7hBdy{tbRpjV_-g@QaMe+6Q;mB~l)lM3+gJ|ED zz_+I{aQl-LY#me4iDf+h127MJXT`2}qF5>h$=ISj@i*0Vzur19ubAAWG`SPhEMWqX z&MD`Y$)>1gH`p!-0(KMUmP!h(Ds4AavFnY7dyOH9s{ z!DpsjM(5~$J{Lx~y9*-mgYXE#L-kgKXmvW^{^fgpCI5}l~d zHoS99LL0`R0PK!wu*CZIB6Mo`#tw}m2fA%teAo&0W7 z=z}a&jf+}@t1l%3vm7GTJK{$G(yTkE(>{I(b=pshR6Fnb1=Ps8`b=GWS(iFBP)iUv zG~;Pmt44tJ8jI!t=2308(VexBz7*#XGJ#Z+N!lxjZ?cC%S{>CMObOi+Czt5e=&(AQ zsr_eu;9D_3o2GdAz_*EwRt{39y3}!M-JEr=F&vPSEa*krZS_Qa1uBm!_E{$EW? z-719ZJ@FFq0b0w{b$`4X*CvZCh{`5O(=wH&o7i?Nq%<=QiNKnM;NPLroU9pyR`$&f zWkTR^V%HAGY`&?+OTn=vUN%&0p(!?pIzcRfL1zL_ldRu>Y^37a_$G=QHDJtB8Febs z1E#!PPkD>vh5bkdc$Igq-rgW>pXuF*jr$2o-E~-6k-JD+>V(`~pUPeK(&6|3R0Pxe zJSvjB)NuObeLbYs`#~@wfw8liD}Io_hm=gpU!<ci%d=v8^7bMEiR zBaZ1ovRf(q2WJp%#(JCK385Q7BZ&}>|EnZgKU6H`3q`dOo5P+a@Pj7Nci{*mkv{T| zoJafPedIBuQYVGs`k|?m+5w;GZL?BoJ-NA)GEzyf*PO#~+8KCISmaQVY@&t_lueW_ z>Dh$y)5_Ehf1eV}DJ2`1WRQJZkMpO#tH)`rf}BDcFs?oEBbwMBr>Mq)fO8H$)jV1jo{m&JZI1?91N~0&j zUJ|;J*M}m&nQ94UW+W7Is_eE$SgG%@5uEU_N+W&vMRMWr3xLGv<1oZz#Pu3sOQ9gc z%0#zqw7v$a$r>_JNd^y&f%bC(+@0u^EoC_!{juSwrGR!DUY01DgZL;xg;>-gKrMl> zaL|x3t1c&Tw@UjbxoZ#s{DGB5MCk|aK|5Vwrem6^_dw<39q|HgQL86u30#Bt(x+*p zA^UJ+Islcp zkwp@qwhm7kxGP(6tUF2)Sp*&bhjV7?n1vlcANvBAr~^>VaJ|wZg{K=@aPyuXS?{Z5 z{cyd8*MdRmTXOhs!ud1>y);{RSb|XFdvSQE0S{gP{1#4ng>TAV>59^{(oH_yi~qR$ zdboCNyjk7k4=ShQCckvnapr#^x^v!pr%s^{4kG9TXRrR57CQ*BzlDrfqWyWAWg&^B z*?%(H|K8tDouV}+eZiTAWK|Q@2X!F!%i{|5+$g&9N%W+H(Gt4Hd?LE@o4SsJQB*yi zK@8}gSkU(>5y6Ts2|J)*oTn(XxpMf9qP zrSn4tDnaT~%aDZ&`4rr>SDW3|o872|SB$i01NzVrsN2N-RH8Pke)=AVY!A42P-;1% z1`KLR0pGhd@y#11LhjzMExgw7?x|DYM7do4fA6B57ZNR3YIK~OBlx)Qt$#aonSK4( z@rM;ISG1!H;n$GU8h#apJ9Wf;yE`T)s*o$$o$7r{e*lX)$cx6Dz7o+rBGH&`@ibcr%>MItV$lhp^$TP ziO}B<*lL9|<<|{kew}UpA-3^UU~8?Avokfb_O#UIGdhf?Mb>kHtd&B}3VN**QUq#G zOD!cn&C??O$w2%HA!i2SmkTKZN&GOL<_^_C$CX0<--sTz>nuOYS|N9^GPv<=yPM;4;{}05X^Yf- z-1LorWu=fWMMc|kTXK4@71HZBL9evYC)APHalXk{j9$pUF*Mxh%d@rmHol^pkk7F) zj6QvduI9#`z@oI#zsXI0jtq6BkZ;8VT7HVjU1I}C6RFR1K`TViJAt5e>4MUHB)wke zUZb4@9G8wG-H-Dbz-$w2bH3P^HrW5I=wu+eQOLU(!nBnN{h5F*E!B4BYUB3s6*DR1 zK^`wj5?XwKjZ=nxQJxGhZR7lZA~f)Kt;^&W`HC+w6rLW_r4FOA?kP?>=m40^m5(kR}i0h<{Z8Nic zoUb^R+1ih$Nl9ZF&-0#&zz@KZW{aEao}ZoPd)YbT&d$ztW7y3?#QsPBZvX{Zuz$w0LrRrTi%sfJNCm@{|vyY8&KT%7D8AMJO+x^F>& zcQ0vR<7pM`EY zWG)f8WGE4_v5=>gI8L6a@AC15kbv`IYCQQ-rF`s}xQMoK<6N<$Am6Rbn+hYxE9-o1 z-C2fpI1rsp3*H15oQ`wOBnY|)TFxbtv$8G&IgxxumKC0(oD&PzWUbCxg_cQk4O7m` zQd0t1uOjO*RJ26kNw`MQ_6J3%oZ%fhSG%i-#m!v+nor(TeSxHT`;I7HH@6>4pV9iU zp;hYZd;92_5Be5dMAgu~5>*>dH9iTUF>g8~rmACxR`Z8e#}2KI`yW>`k1JOwyPSx- zQrVa}J8%FZ&Rt2CW>yTvynTHkXVf|aw0n8`aAWm897kOzz1t&Jw;?h~npX?T;Jw>% zYGI1I>Q%sM8$Th$--L*OHP_pB$jt+xc+LfpIXQ?eo{>@~vvVls?K=v_v}rmv9M}iH zTQeWpSL$f5Wt^pkb}__fk)yQhN-|=~MRd!VF-E(tk?8yaCq@JnZ(K|{o5+0ar-GE9 z$Tv>lian^ftDZwoHO$`#@tP3-1p=-ZbWVXt_dp4jA&79?%d?Qxu3Gio%gJCSV}P0b zA<~gaN>n|+Avb>way0}8i0R-Kkd5@mD{PdNbT_paom&v7_9vF4 z=)$?i}SMQz(Oj%KCPGelT%X9H>6I{Qk7v-wNynH%}r^TR_f#*fIKBT?8XkU z>~K;3!ypUD8(GiN2hCg-Ev#9DIr%@wXY6GnQT#k?Cyq1VhCi%i&&3iN-llE&8qs|^ z!(Sx&)||75xr!#E|87@RC|bhXAJG*x1v`$oPX5K-&_ zQtMEGP^DKIg?o+hV8^1e6pMNMtPZ>zjQwLLY(c5ZLRNrYidQw#7f+Afx zNmfrUbDh{Le8WDfAod26ktr&gB5v$GMn)GXCsvFeqjXHf%#R+c{ZdNwxH4w~dG?%H zsAcF+=UkfeNM>vyFe+KaN^E8%wvv(XMkTf|+^ED-HikE7v1*>0wY$|kwM=kgw5C!C zPtB+H*k?t~1^EwvETEMv>)W7ou+y^T`S(rnZ14)-TZ$PS*IdN|nX5zWB4toY+(lR6M;<6nc80pne`N6pB7KqWUR%Vor)K z#JY1M%Lq@;?*v&u2I$d{Sx$_+PGxi~*aSYS_QNE$3bhIJ39%alt^MvNHL*8zzcd{L zG11$%*ZsC8-gF)ZQAit!luaPqm07{QlIt#~T_x9Dr}h+_XJ|_qZcmB0wH_WvrtPD2 z1R7NjJyPubh_-CrKSSeaZuS1Jcc^8?4z(<`EiEH2>TPKmEpANGg3KfZz$8-XUQMVb ztBFjVQ6Iuk_>8)S^aOrz*N`flQTuQK&l=KUw32WfO7Di>_K zs{U?*s=Vf)bv+IEJYuA>8WqSrh6~#2iM5bsSjue>={96xQtatI6yoVV>e6&$zGSjP zGTCn0WN#xaBTqJt=;{CguJjYrAp%+!YBC;3!i>6=yc(u&!6B* zpXy;FW?F z9s_9Iw0ip>)5-r0p2Y-r0^!@7m32Ms$)3Xc*4p+Bg}sek-7OvMg|lWCmlV&MG3(+U z)jG%N?yB#eS--iprM;oCtGM2o+1}JWv$>qUlO3Hi+gjRN zx{|d`$;PhU+AgQJu|An-@91iCHaQI)J$0>(&SvKpr#pd$Il8sJtE0PHlifXanrP@q zI!&z|wMnO|c5?!kj;@vsE$vQH_e&-^J6hV4bDV~jE+~M}kO)rQxvi%)>C|sdG`A!Z z^|hS|uyk}aIEe)v9j#8%>29v=Y;?Lioz9MK2vm|1a~dG4wyhCnLsWNXb7NN{8ky*9 zb-Fr|wMvmPA=%O8B)c}$Ik3X%t!-^-K(9`Ckvi#X{br}Wv7O{KH@0kOhTep@5IiYz zGmNQkhN~b76M*43Eo~c|w$@FF&SaN!b4$Crw!=7lbKlVA)OB_`n2N?kYh%09*bcL4 z^wcM*K5N_RTA&y_(Av_z0gi#;V3CGoK-EKNS1mag9rW;8J34M8hc|WfIz8>(EgRY! z8w!S#bHzIz!6BT)(Xb&#NI(67*L)t3WX3ol?UiXImVe&yTL)m zI13w{>on5c)24}*cDT43p{nzWwFNPo3TPUX%76r>l19e0I;6Dj>~yp?AaR`D;7wT`p?wyCO@32E2O&odocy?e+*Sgoc-zB!{M$3` z@OFm0w?f$^aIk77z2(YB&{cxI8IB9>uIs*&eI{MV6ar`u!V+2E+SAb3?ab`y?wZN9 znVU-ICFaeYfi3`m#15mkQHL2pgJ zH>Js26WQxciS+wL2mDC~yftVEdsFv@z12=S)N}3{uz;j{@J0KF+VpnE9Q@b-|~DnvOnxCJm_7Dw>ra-J0Y$| ziTlB}V#s^U5rI^P#3!775;-n3cZ}}(t!@3@j~wd!eLp<Kp!;(OwpUDjX_-H{RMBy3q9} zd%N8Ep!@wPpfEF`;uyZrCE(1kx7)3Po9_h*4=qNg6I(-5U8JCQhfBc}noVgqN2TGP zw^m^yyuA=IQ#H_s_vY46sq5bW`1gKOjeldme>H_TremqjzbeYV|3F_zzZ2@h2-M?S zi^-Q?a*M;>3tJ8?H zVy()1Wor{v`u&mv{*)S>l?0Npb7{F!LERJtbu$G^eQ1rO-2l?=B1$`iBGT^iywG`S zub?$@_;Mju^9<+Dr|i~TwYI8dc1Y86wAnax5Exp%pzz?vJ7|n3ISAhX(Zng1lVjn3 zRd|M8;ElGYnZLlmh}8FRzEf!7M_7)n_a4TLr*Ep~?^%A4CFk4BZ`*k%<8p42ZogvO zw)1N&pUw_u`KZFf`iZsCa4YlE`O7X|>Y2)rCU2N|AqG5c9Kt6RFKt$Ii|62X55p8M z%}U3)9egp^Bfnf!XD?utjLQ$i)R_lZ0meoA^0Q5Kz5_m*arv>UIxhmJ`5=Dz<()cj z0qbL2evhcmZoqKtRs6W9qRyzBhK9rGcN)Xt6Gy;*Jp%so5%9}Lzz>dq zm%%^7+4H#(_!k4GLK!?2|M5nED&HXxh4Az6U+^(1-ZV}=7yLQ{pKRbdkJ9D*d<6bN zKC9V!*N%YiH*iz$R~V-Y{TDl*HE_?s|6t&xTlgms6AEFI@L%u^Bj67j_+*3sw#Uu584FmO}OG+vrXexbqN zXW*usM-1Hb^HYqIJ)}zPiSWiqII#%6lyO_{uMOPvgZ>eRo?jEco}W_N{@K7d=_Qe( z_hEzI9M^FJH~rJjkKAoLpE7V$4n2dXLj0zGM)SAIWDltldzKqGbrt;6jN5uA@S;t) z>4zo*r=JFhoG%$Ty)P&Ddj@`t=LDjC;L4V;E3xTn7C)@wYOCioo2$sTjv?i~R?XyB$jFO7i5_&`VU zP5uQV;PPG?tbHH}k(>;KZ-LvQOD1{=b{~k6HXjS^gUa zPVzs){BIdJ$v?^b?-)4oA7K74x662^(Sn0Q_ZRAl58}U{`NuO(7mCkH{HIcE;osA+ zv%tdXeul~_3tz)^dFD%1l7AoLn=St5xxUlF<81$DEPOrVhb;VV#=mFb2RR;oWZ|ze z{!0s=%>L2$#i=~Kf${%fewp7|asrCJuTSOOCJj58G7qSe|8HbG&%%?8Pqgq}#y@1? zZH&*c@NJA&TKGp9PgwY!jQ3dhJ&bQ*oQ6&FDEFy%82l8UOSvxdAaN-5`z`*rxc-oZ zFXVYS!no-DoUaY~xrM*TxV%>^{G)i`f6wB-gz-GqBm6fo9%o$U_W`Zexx~VM#P|XW z|1#rOS@;pg6Bhn$#y48HtZO$}_)+Hn2;*YEJXiR%!B6w@Ev|pg!b2R-k{>c(wTwS* z$(Pq)e`d&`cz%)XdD+5cANiAo{}=QB#lpoNb)W-}_&?0{oWWPYW!;=$;k#L`LQI!WXmr`4&Eh@r4#%&bU0U5PNQBe5J+T%J>ZyzK-!03m5x) zEL{9~tA#hRoR3+!j8~qYh@Br{{;yd4TR0wGu<&-q2Q9pb@z*T;lPv!)7B0`lTwY(r z9@#I?v~c-x_gNM$>&8?IS3inIEM8{eKVf?oTR8pHiOMny|1{(BTuAJEfbm9)|0|5& zWZ~k64_o-xnSYmsf0OY~SokB1%b#)(dmdx_A&dVnj6Z7OuQUF*g}=o3Pb^&G=Vc2o z;dy`6!lyF+pB658D$mWt{xI*ynVEVX1dlPEXW?ftKGDK2V|==WU&;7I7JfbB3oU#j z<5ydFH{;h^xSWSJSokjH@3!#IFuu*gzsUG*3;#OfcUkyh#y@A_Pc!~?3;!wOhb>&r zPfuI;i_HHk3!lgMs}?Tj(c>0=F7v-_;~XcaEIgm_%*fDqc!}lYS-6}VXIuF1nEz4> z&u00HEc{*OzuLmDW&Z0dyo&L47A|qV(ZVlh{$2~0{Q8K6_cH%o7A|jOJZ9l?&iSc@ zKgDvMx9~?8m+y@v@9t#$4U1pS8*f{*zYGS{+pS9EDaPz_;<2Bvn>3Vj4!tED9gXr!sQRAG%!vV zI_HmO`+F=rkMUbAT=wfd7B2I6mxaqY{{ai9mrJR9)xza|;SmczOZ;r%66en{E`F1I z__f8qoaG!daGKvwv;W^PaPp6g_Zr;<$N!H2ZrPj z|CiWKdas{~;9q8ZiG?3z{2Bu%d&0bbuQYIy{}A)9XI%U?oyU2T#s4+tm+xhSU;d=c zT?Rkty_EGnYsr^CW%IJd-^2XjGte1DZq*gWMpZRvNgO7c~|xc_H7UiJg)c zy%xXZ#cdWYd9l~P$({^eKldBBnHTpmE^)Y->-zQFR6a^x{J`RuKX&vBLq6&KC)S(I z-_wbF`6EZ?GEUjM_<^7n}UZs7+Q|0Clvzq2`RPg=O_FYj5ntk0uZp2(5)c8rC~el*d-<(xd7ahVtS zz0buKe+S#S$iQj7KFRZ2Vc=%Itg>*)mpTI{IWM!ECIdI~MgAC;j90#w*~SuVDN|3-4$Aj~4!Y#^1H@KQlgxui}R} zG4eXTx3%y_#^+f0XBjWE@I!QSfU?ZO2N_>u;bX^W{tXtsgz=<>%U|2tW#QkUNkchc z;cqhjkcAiV7uo|Beih@tW1Oa&;zynb7J{Zix6eEzRbQ(8-_z)PAabNXltVv=Ty7#5}~||3wrPS3KYFirA^RQwX`>N zXdS`JRq6%F;`WYYWAPPNt(?)FtgXM%DW(@!67T&jr`bZR*<9(NLSLEw1lQmO@ofnKjR> z&2@^GF08JcmzX2OY)xF4U}CNiB|^+g%n}|Z<_a=Lh!P>@B}#;uiMfKz5n{FwvxF!C z@sBB$2snOZFht<7c3qX{nbOE%DpmDc8p8NE9pGh5$>08y243Ezs(xd{M~(m^Vql4` z=J5VZxl1|5)!;WRNhl}%yu9g7`1~=i3-V5!G>9&_t{$QPG45X>9r-Hy<=Qkt{}Nh+ zPzu#&>O;maSNa|W|I$h|_m}%;VX%3rZezr|={(&-es`d2>AZKLVYvQ9aoyujysnPa z|Kn&7UkVRhpTA1is_BQ=C^Ua`R1v?)Z<6YOk$yX#WAgx_e8&*hU@>#C91pn zEuW_Jr}UHSx46H_L-YymZ{yN0zyaW2C&i{&-sb)fS{-Ek!b`u8v4*Icia7rsWJdBI z-6BYT@!x*}vs9=a_sv%qhyEm%S!~`vp>a6xw7^Df5k77e*gdg diff --git a/scenes/cylinders.rt b/scenes/cylinders.rt index f24deac..73273ab 100644 --- a/scenes/cylinders.rt +++ b/scenes/cylinders.rt @@ -1,10 +1,10 @@ C 0,0,0 0,0,-1 55 A 0.8 127,127,127 -L 10,10,-1 0.8 +L -10,1,-10 0.8 pl 0,-3,0 0,1,0 255,20,100 # pl 0,0,1 -1,-0.1,0.1 0,255,0 # sp 1,0,0 0.8 0,255,0 -sp 3,1,-10 0.8 0,255,0 - cy 0,1,-10 0,1,0 1 2 10,0,255 +sp 3,2,-10 4 0,255,0 + cy 0,1,-10 0,1,0 0.8 2 10,0,255 # cy 0,0,-20 -0.2,0.3,1.0 2 1 10,100,100 diff --git a/srcs/cylinder.c b/srcs/cylinder.c index 387ab43..819e49c 100644 --- a/srcs/cylinder.c +++ b/srcs/cylinder.c @@ -6,47 +6,13 @@ /* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/08/01 16:18:37 by tvasilev #+# #+# */ -/* Updated: 2023/09/04 18:08:46 by tvasilev ### ########.fr */ +/* Updated: 2023/09/04 18:18:39 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ #include "minirt.h" #include "vector_math.h" -//! not really needed I think -//* Edit * needed for the shadow casting -int intersect_cylinder(t_scene *scene, t_ray r, float *t, int i) -{ - double a; - double b; - double c; - double discriminant; - double t1,t2, m1, m2; - t_vector olddir; - t_vector X; - - *t = 0; - scene->shape[i].rotation = vect_norm(scene->shape[i].rotation); - olddir = r.direction; - r.direction = vect_cross(r.direction, scene->shape[i].rotation); - X = vect_sub(r.origin, scene->shape[i].cy.center); - a = vect_dot(r.direction, r.direction); - b = 2 * vect_dot(r.direction, vect_cross(X, scene->shape[i].rotation)); - c = vect_dot(vect_cross(X, scene->shape[i].rotation), vect_cross(X, scene->shape[i].rotation)) - ((scene->shape[i].cy.diameter / 2) * (scene->shape[i].cy.diameter / 2)); - //? maybe normalize the r direction first - discriminant = b * b - 4 * a * c; - t1 = (-b - sqrt(discriminant)) / (2.0 * a); - t2 = (-b + sqrt(discriminant)) / (2.0 * a); - m1 = vect_dot(olddir, scene->shape[i].rotation) * t1 + vect_dot(X, scene->shape[i].rotation); - m2 = vect_dot(olddir, scene->shape[i].rotation) * t2 + vect_dot(X, scene->shape[i].rotation); - - if (t1 > 0 && m1 >= 0 && m1 <= scene->shape[i].cy.height) - *t = t1; - else if (t2 > 0 && m2 >= 0 && m2 <= scene->shape[i].cy.height) - *t = t2; - return (discriminant); -} - bool cy_hit_record(double t, t_shape *shape, t_hit_record *rec, t_ray ray, double m) { if (t > 0.000001f && t < rec->t) @@ -118,9 +84,46 @@ bool hit_plane_bot(t_shape *shape, t_ray r, t_hit_record *rec) return (false); } +//! not really needed I think +//* Edit * needed for the shadow casting +//! Caps dont cast shadows +int intersect_cylinder(t_scene *scene, t_ray r, float *t, int i) +{ + double a; + double b; + double c; + double discriminant; + double t1,t2, m1, m2; + t_hit_record *rec; + t_vector olddir; + t_vector X; + + *t = 0; + scene->shape[i].rotation = vect_norm(scene->shape[i].rotation); + if (hit_plane_top(scene->shape[i], r, rec) || hit_plane_bot(scene->shape[i], r, rec)) + return (true); + olddir = r.direction; + r.direction = vect_cross(r.direction, scene->shape[i].rotation); + X = vect_sub(r.origin, scene->shape[i].cy.center); + a = vect_dot(r.direction, r.direction); + b = 2 * vect_dot(r.direction, vect_cross(X, scene->shape[i].rotation)); + c = vect_dot(vect_cross(X, scene->shape[i].rotation), vect_cross(X, scene->shape[i].rotation)) - ((scene->shape[i].cy.diameter / 2) * (scene->shape[i].cy.diameter / 2)); + //? maybe normalize the r direction first + discriminant = b * b - 4 * a * c; + t1 = (-b - sqrt(discriminant)) / (2.0 * a); + t2 = (-b + sqrt(discriminant)) / (2.0 * a); + m1 = vect_dot(olddir, scene->shape[i].rotation) * t1 + vect_dot(X, scene->shape[i].rotation); + m2 = vect_dot(olddir, scene->shape[i].rotation) * t2 + vect_dot(X, scene->shape[i].rotation); + + if (t1 > 0 && m1 >= 0 && m1 <= scene->shape[i].cy.height) + *t = t1; + else if (t2 > 0 && m2 >= 0 && m2 <= scene->shape[i].cy.height) + *t = t2; + return (discriminant); +} + //first check if it hits a plane //limit the plane with the top_cap function - bool cy_hit(t_shape *shape, t_ray r, t_hit_record *rec) { double a; From 001763245d697a440f42c241f1282f680a6ddde9 Mon Sep 17 00:00:00 2001 From: Tsvetoslav Vasilev Date: Mon, 4 Sep 2023 19:59:47 +0200 Subject: [PATCH 66/67] trying to shadow cast the caps too (double the cap_inter functions(It's all a mess)) --- minirt | Bin 159040 -> 161336 bytes obj/cylinder.o | Bin 0 -> 37048 bytes scenes/cylinders.rt | 10 +++++--- srcs/cylinder.c | 59 +++++++++++++++++++++++++++++++++++++++++--- 4 files changed, 61 insertions(+), 8 deletions(-) create mode 100644 obj/cylinder.o diff --git a/minirt b/minirt index 2ba5008d3d5dcd08c84933a1732693d1651e20f7..2348c34f8768ce480c461a2589fccba3838605ae 100755 GIT binary patch delta 25486 zcmch=3s_Xu`aiz+8uow#G9#dXf})b5Ac9xQ+n|_(qM>PCA_YZ4qeR6!GKg9tTIljL zR%TirGqXbRT3)a$$zw%zI@!q-%W5=FUb=ZYcINka*IFB})A>H%|MUMnzkMF(eb?u` ztarWZ-D|DAXXw=Yz1hJl%_`&A&4P7Z&)MGIsfp|DojgQOwC#$Q&0X=;!}UbH{oYSy zd+(=C!I(75D)B7-6#F17aKpVHESt{gu;2*`1v7CJ7$BbY#w-sd+z8v=vAPua;37B8Y};Cn~$|Z zL3L7kyN}d|c=Jw!*^vkN=uQ*Zv5n8k}}}4Y+)Vhs<4!%g!?Kj+=^Z=Vk-^e$ehA?o{6 zC#Oz%E3a}~>V5aR%6~{N|F^6B7w`Akys}G6c5*6zu}d#@y_kQ|rEU0!#gzNET*ykt zqxXE|q>1nrtl%MC*Cf5VLerMtw9LELRk0+%drgLkRG~2q{p8ulznf=IJU%B*K$$D~ z`(4wSv64r|CoumNd|3QrY;q2-i$BkvE#tcrqB?v4hv;Y^^c~*8%bU1}7f|=*{Axlf zyHdt`bek3Z@-ph)Pjv6_{sZc;y-O%&m+_oNBD}wqH1U)#|LUft1XJG^g6p+hwGo5GS<>fu35+p!ZLI<<`Qf4|Px z_Xtl~4u#b6lfu&i@a1m{y8?obf9p8@bwFCP-T z?(@!C(pZ<&o`UwV6Tuh&s`ooPK_i#&tv#0nJDx&X`TJrljn_lqWZ1zi8|}oL-1u2TkEVcse1FIGdkO!$m^!K zs%x_5>Fk#T@QbT=Pmb2v>f zIlb9C=eT!HH+J$o51-rJ@5%E%-}(iS0j{;hu_@l_bNr#X*{nrAe{b$UcKkQqyl5r6 z>o>lk=pOdZFZkC*eeB22`g}jw9V3!{uup8BHjQ_k*Ox8Hk_`yD@7C|qUcE;Y~hy z(G#ru8Gdz98oTr5_5G|5N_y zl0NniK5629OcswS9>&&9;nRzUvJOA-UBzR0&0N3xmR(tew5FH;>?;44J#Le@|Lt*W zVyl4K<2JNLon^mJWLyS+?+t^~U_QNz^akHn%6%&avOH zJI2Pkuqb}?1MbXL!0f!nwd@4Nj&0$syhM9DtirhL?VMWbc-kSBUCGw@uk$*zNy5tH zUGlLE!-)ok5odR-h)v?3m$h~m$1d~^L$|JqArnaCusephC>Yn;!?6)${FE||Q^wF( zAtX|(I5yk+vv9B?wo<6bb<`e*VWVyD0vxeX8g?{wv5|zla=yQtR!?t|>c*jTM2sY% zWJgf83RQfRY|7U6uxL_r$0k7c(Pgm6K`l{}vOzW?q%2tcV4s{8+h4js#nv?TwL%t@ z=&g&avQ)dn?#9P>2R^36*jr>#v5lo-qi~92o!)n^%QDM!m9L1cr=AdqlhRs8F<>M$ zMCBM)$l8@Dlj<^Sm<>`lXV!)Ec-8CJlx}RH07FIXb19K!rNR07rh< zq(bY)LlYGmh&5y^hTK@4-?3z>&}_I;2N$zM&GMwWlsBGhM8z-%byH|}_*2K(u8Lu1 zEe=z)NM#y=zG=ARm2$C##)ENXqHR_ge`Z0Xn@X1|$9uX?TKu<~YElH0RMY^<>M=1y zxzgN!A6!3*1E8oW>WBiMjw#?cS}U5=l&X|W;G6&H|wyz zwQ{5SRs9I(P3q@=E}#6X|5wV#eS7_gm7%Q~j=3_3@*&B8EuSmzHz}W4A6%~|T?mH_NHsbnR=R{inM66j?$tV3aQZh zBBG#qEG4CKD9Kg11(eb&jtM9Fd8#ZY{N>RkXX=9mw?PzNp4b!cDK-Va*o^X@y}f?* z`HnzcTTx?Q`4x^H8Edx*`$ms^?b40|N%!?zJ|C%VhFUsqvN)Pr3I;QYQlRV=rdK>B z0;$M|z!)-U$xe%K@vBRt-AUdL#Q<{4=pqezlega}iH$K56NjxEJRPO1@GVP=zV8-wNd%#MtqTd|({ z&{QAS(2(~I`l#3Vg_5W)&%Q@hF#%`(Ni}pMZ-LH#b=iSj){@IInEh9^&ZJgFYQvy* z`znc^Nh0#Xn-7bO@SZ>2;0kM5Mua#JbsfVG&+5pQj^h_*g|YLa`7g72vxw(;Vqtp6 z_qO_csEk^SKO=U+A4l;_VRXCq{z5~;)D--&&ONhRx7%RqY^{DilI zj(mWN+a{JJ9K|lo@6StT$3}!JGmI`Pq8AeVIfQ?oo5zpLj?u^SbF=W_N(XD4D{|W|+GI-0eTN@~ zLgqXC`_f*v*6*mKXG7tRFz@BJ#bn9z9mXAXM-`vGtd^Z0$-9@`#}<6WA1fQ^7yg#d z$CHLe@vqCmnd1cicUd35GlXGF32Z338*f%;Ex+53om$VgJ+_pMSkF7IdWCIT#~rV< zuD-JBhR(iUS6#olokc&q=kW)b{$_Q4rN6G%Ru`@_bp5mH`Rf-m{UX1r)u>oX_xu-d;lQJ{3E46VNuOw7Sw__<9_>!0yO&!*w?=(8uH znkac)6-&L|iC?4AVc|M?I!0z<7$yud8Rg&Lt(B|%O>aC}Q0jcB z8D(zmfFZDUm4E-kcDtu03JY{mb617&Xf&TtonTLy;q#Rb$+$EbWANUe&w2Hw*4L(E zH7GxUj_fPGmM*%5BLG((e{$~}_GlY!+t)TS485dR^p8#c$hEfj%r>+cVcqurmd8`~ zWhTW7A8D~M-yNeb&^Ua4k zu!O1n%|p)SGjnJ*`ypZ8Cvv#`^$zTf9NzQwBKGGT{?hArGFuM6_mE3({}hdX&lbsiErG+_Ga^$Z**Z#P2qof!^Q5&=I7sN%ckUT z-y4a;-^hj)E^nV~(KEJ4+93kG?@STnn1g7NfA+3ItD^V%Y`n(!dER7KMKLt|V3Atk zb|!xWh45^?;BYhx$mUNTPI7LCI^J3&dH<2sM5jui{&>juWoF|Q#n5D*_tpcLlzoj) zQRvQFJDFRLbY}Jkc=sa%nJMZJbNUI*Br@Um6Lh!(LSA5!TSD;^7;p` zL_UD0F`Dgk1efG}93889U!KJuI(m!Y!F9&5-fZ&ye9N(M?7=Ml3tDye^Te7v*rNOS zxSFM{hEJj#%%gV|-pRz5U-eoiac_;we-oPC1Cw~)ncD`M1$r2C4d`D%Z-M>@+8=Ws z5QvUJdx25~jRh^hDpCY`7<3hA5UOoQpc?`(he-fh2YMFw#x2lYQ!&CI;8+PNLD%5U z-3xjv&*#&cqa&;_v7nnk`-5g-wJId~5CQ}}4SE9fN&) zi$KqUt|IxL5E$s`Cy^0qd)z)>L>M~Qhzx)p-h>f=25s^A4id#t@*?Qj7odlQv;TIC z0QBt3$Pj4p9-r?l=xNYfpb6Ee>Q=x(`-9#B%>q5V*XJuHd>;k~nzbJ_N4OizSrQz8 z0|E}h0rs;^hu{G8G-wuR!s~DVngzOv+K1r)bQkDZ&^1S3Pxw*TN1zSbA2i_@>_HEM z7E`+h_Mm4$4}-c-ABO`l{ojNG(2Td>AQJ5pZ~%G*G>h6ew-tkKItd5Vu7v|?gPsMw z0(uK{&AYJ22AXgR_Mllf_-0WXr}$#fU7(vlGv0%JYux{5!JH-FeK;Tm&?xNKQ6Ino zXfbFO=oLKB7K0Xi1P7oAAHxCYEzq-|{r?Jk&|RQWSo>~)_6Lpn8|*<(gBFAK{}i_; z=qAt;QMmtafw>5v;Ed1bhttTF&v0LZ9>#mqG|-?ga90pLhuQ$m0Nn<<3G@W$Shu)u-tx`-kKjrs<~>u!gLz{G(b{uYsfo&_xey#=}k zbe9(^9B9-fbP$7)fc657x{P83O}K*F6g1->aM&J!fo6bS0bKza^gS{L+W#u-I>7E4 zR#MOe(40~*SztDRt^wTvdKmOD=vmM@(5UM^-%Zdg(3p_QX?5^w&N0Dn9ya3TyV)eRVH?37=c| zg|9p6hq>`hJN-1j^QZZIT~&8Up!wL0SMZ0w>8aQ7t>1*|XZgNw+Ob>H`QN^2 zJD?!X=et8GQ@noIm{$So(gceDwhb6Lql@$sfYtEiZ$n!KJ?QhH6vP#SPul9^_{48J zwj7)9^C9`-!V;^|=AX&eeH-2~9}<6EO0Xnp2O-JjN4{-?nfwfv7iYjy$th!WOsMBA zyzzQ3KENxogwJBW5}y(LC46q7y>T_#|EFsp^e6@dLe7Z_GraS;{;tdO_A96F#FlBU_B)5At!xc3^g zCji?EY)liZ02n3>9->Nb&+P_CQh;@9qP+vySYS=P9tKv(k6#YeH}Ov{x9b+PtTF49 zTR)sX;(%e|3U??O9eK)Q%zsPwep!sU$333j9gqc}9J7ygZf=8k3j$?tkt z*MO}rrDYdRT9Q-L`_?btTc7fWu4DD*niou5Oy1Y&0_}@Lqs?4JNM< z!-BWy%Po&Hb}={t9S#=#Btg6ex-o0;aDtnSbO)0>W>|2kWx3zumM55H9}A9w10h0i zWFyW@kK<7FJDWPT+%1jnzTLvkrfxrQgE0`d(!873g_bg^igG5ZskX>bU;UP8K5)T#!dY4 zmDbj6U~4yV+do=cPk;@0mUjh9hqRPu`Eam)n4OK!@|j>`!KQ5HtHGv$J+qnb1WV_% zjnDB@U{?_O9KQ^98`ys1$z;!Ydaqf)(IDWO(opp9wY=tm}2Y`iBnI46v22)7aewVC!%+97nZ=YJQXrX>Mhi zLH@W!Xa`yYx#JByF5D)6s6oC9@@&ZG)2eFPTW0H|K=!90ufb9C)NS&&P5Fb`6(|%Q z_4!8KrjTwbXhB#pw;c2Ne!eY$>kR=UKweto^9^V!Uns;PfDE#)p}WLg0JaXQeVeMz zX;fVU`8CMf-WEz^LnymQe%$Aq-PE2HG=y>*@=TnD#Tyhe7wlg`o}_91+7&1yy~W4; zl-N23+tV$anBON~xF}b>fE_%+pZ=+}bu8GMZ}ZoGn%bHU+uBJS&`1pzJZW{nf==>2 zKPUF_!_j#Hj?g$qHe93{1w8wAI31gM0ne}HPyamFS`4p zE^78@n}8#AHqPuI4c7*6X#nz1^PM->Tj}(zy~hXtv&YOZBwz;)^t7nbg@s3p1GWtq zZ3T1@MhEkn-(i`+=wZM-Es$O=u$#cl-eZ9+1m^cXKljfL)-7P8h;7@Jv}@7qg~x~X z;OXjxe`kSZzRw5$+T*@3B=;c1rZW*7uoJ*&2c}B|2dw6ISSGN;z{Fw>J#w8Z{8gX& z^=`&%ep|>6o~pj<-&Q|&-AN~;m=r}TYgJp(dWAbw+o@>b|B^c1mHz&VzFYe*g8xT2 z68_%2P5NJdPeU3k9MHl_519ZtlE zm+dd$_Y*%a+m?)6ynybl^Yd-j5sZ5_g0n6twDpI=I^q{Dw0(?h-b)6H4%(Ii>qhwE z8ZGDyJbef&BeK~_urWqU+i*1h3El|TY{j57A4Y_lzIy>!B7*Gj)d?LN?VG&>B*kdc zVCFWWwT57gwh;||8|{*8FF={%Fk*Via(J5jMF!$0WSZd@G##REkbR?Tvp0Y^jgGdx zpdy+(nt1IL(HL3hB->&{D58w(W&7BzhH7+4(d@6mVc zP){E;djXs2gD}nhH9mu`;iClqjL^^-Aho)6sqHi948@bU)vejugB~NkG{Dva^gH60 zIl|n7!Q4+1QnpbKqoSdbu`WNThdqFXn1vNJx@I2^y`XXU_%|tMHnStl6zko#?-0UK za^})(KbU-afGr3E6U8vxAp#LPBO+`cz+B)NF}8nE{fjO}#@T!@7W}9L8-0^6_jm5BtSzbdA%)uHx44LrVSQF`A$o7(f=p%_4$+13L+9K&QYAB6^S=YAMKxEuvX> z5SJ~?_FFSI7B=9vR+_B^z;xonomwkOZunrd{N$$=@f&&Z4;l-MR*b;Jz*Zps0YP~{ zW`niPY&HWV#yY*>?y^3p*(L)MQIk?h!Ux zB54kdq$H{wS${@yO2a~9^l)lHDM;%cWYE&SSs)z7SlTogTCiYDP);mu18f%{Cx@1H z4qGNn1dl^+P%(V;gwPsqUj{aWB9OzOxU?Y3``vCR*g}|NmJ^VsJqw9GekH2gvL4I- zI$}NtLthKgKA^uSnM$^YM4`R$RTY>>%eqRvRx;PLkHNI2O(nWedR++5de1;h7SyS% z{PcTihw;-V87mvHYOt$esJe+eBKMB6M_KVPbQdraBax zcon+vA47XzI8ASW7d>dr=hJo-FSjc!H`xE;#U@4bqQ_J6b()Reiyk#vs7kSkB z$z16UqY@K734VSz;fMr@8f)|syQJu){x($S8bBrjv zDOjpBx8DX@v^H&_c}{`iAecJGiTTGRdhjx-vIr<$qM&|L4WUs3kPeVz)hJC+)ZrQh z3bU9ZC%KT0YmsgL=~RayRDz-oWik3MqV>-&vH{lo7gLVI8tPT*MHec6sc@x_-$9e; z5|yTO#MsVFR$Dy$k!6xMK6Ive%oZkqTJs;w$3Lp4ifWsRg} z`%Ca8Dr=Oetn_(K8sP6LYc#2f%4#uR%GZ(qF%5+k)Ax6U5_(8h0Sj&*ejMz@2Q-C(N0AWK{Hqmrr9-zCu{i2e#D z607HVqV$Aw8I0)1y3h%Cq5>hmZ518eD6*_`U(@6|TB=a3xtq#sQo{-fzHxz^)VM%S zYFr>E(X~>bM;qu0$QrFjq)f$1_A7 zkAqaK&ojt77P6bNjvpeoXx3|Dfh#;X)3lZmhw-bqtB%}7W486+^Bh}64QZoQA`FcZRTv~G#i)?dJ_Gq zY0|5hT;aMba*Fjwt`j#^%??u`$r6DoEpaoOg7r$Xswr5i)~_!WDC&5y3SZW-E?2lB z1yZ57wUbR%YT%icxb{n&h}>Mj;F-4CdljffS1OKP=j-E7(L^p1^LR5w&Eq0-Jz`=# zS|sK%@lG|5i_|>UYi_Y1Em2c-Q%+>DYO0A`s+wvdOQ_jC7rw+qy2V6JE0zJ%+tJ2( zEF)Dhk8G)wi+Nn$Fpsag;pTrmk@QO7eKmBE(VJ=_!c^}9G$$fmfg+(VG}Z8`i8xcN z=3m^haVkXNq()6dSyOPMnuxs$)S~Gx@93hhNc8dNXd)`;!KLko7}wVj=oM+L#F3*$ zPDF*62>-j(L{zwGCfW`_dp@}k#>n3_?KkqpMdq=9_ywW0K_q@Ybj7B!o{qllUqo{~ z9(we(v^2Cok0zZ$^~XhXP(MwJCr?j^=2SE{ppx`T(R{ie>d#89*NOH=5I1XV{)A>w zV>7-#j^7PUvAo||;-t~b`v)tT@iXqYH4WfcRs!q|yQcl^cUZqrP3ul)AGfr|5M|+) zr~{FlUNui|D9|7?trTXsghsv6=&3-VQPNbS7RM1XJJb}!(Nr8qu9qs$qGc&_l4B|A zU*;rUHWrpSiI$g}n9h6-8LdGGMaxr}lIuiuD z#TyxiSj*{IP8Z6!!oj9s= zQAmeGA<^O}D(Q7mN%c^6iwF;h>F+lHdpgA+n@7+Tm9!4`<6HQTA(pB;xRamk)7EMuD2U^nkr~Lx7MP&(bYkL29Xq6m4Er$BvZI&ZY zq1Tbv0O(~TmV5Oo@|q@IMLrEVy^55_jvAFcQ6p5B=TY>w71E_ur@DlQ&Bgc)`T^XC zKN5+udA>n{*OKIk0`mS26xGvVrF1XMCaZ=BV2j!r)-~1mST=C~(F@O2*k-6ojYrKG zsXJAr0~9E_$$U&|h(>AC#{Q;_Z&X99Y?0+nywVLpJK{tEPEt40K?FcUt8A)Tr@-2# zAkOLH-v7QS2&bAo9V=bKizw?#Ptq1WWnem!FGAmZI1P=@h41{Vc zEj`o{d{~z943y>}E%o%! z&YpH#^%&39XZ4sKy)+h)41?CudU9wBJ;XX8aAM$i7_})c(=~!{HtN-+gJ=&DSWoeUWXx0D@?Ri2wClT81 zOl`EF-M-8SnrMWxUSWnFu)%7XP-cnqtghGF`j5&p0<4yHp566&tlx-TmfoJv>-9VR zQ}c{atL3;S>Vn>_htgp^b#zc<#3UM#c@&BAJ=_R-5WdsGtd^{RU50M8yzMEypmzz_ z?G|1>^z4Qgx9R21|Iy2^MlYXe7+Js`!)p7P4G(3bLXCFTfFh&w1S6!(u=ck+=T0=5 zSuI~_d4|7rxDjH#&(I5CvC_!21++KftrHAKK&=sFWxYZTyW0vr#L7B?5BS<}uuh?d zmGuZUf-oc`xl#suLn||)*pN^o5yB87>UG0vwG;&0V9roB>5n4tml1^AXGK6|H2R-K z+*w9ziozZcYJ>zlhyEKo?M{r)4^I>J**!HapD7zO&E7LG+7F)n@ zquC6DVO%Jh=pxEMzfd;@(%qc*@Ws8n#gxtn@g%|;>X9!h7eaUbm)@s>`ao8anNwO5A zm1qG=2{9HHxs7G8d=wfv82WI_d6>ZO3wou|#(KkOmuG|zw|oH*<+u%6&5@zNU6!*Y zWoYJs22_FxC^O zh}sD{DZHo@K2r+RzO%@JCgiB7m-Jfd-tuWlBKUy68F6_=uOg#;p3zo>4%`T~T3*(X z=n(5>%O}u7qtfU`evD3eo(t#oHg0_cW+c@JlQUvvNf_>%C9Jn@bhI4R`-3ktI)Otm zv&0ZAUj#I_T59y+DBS0OxMl zI_sz#@p(r32`Z~VDXSmr0h^K4;g(l0t7w!NNt=yM6O4|SZvj%YAqO7)NkMtRiJCe9WCb zt!T=$MFle+$%RAdO)E?)Nb)SZs<%3@>8gHbkN9btymT$cWXED}pvzCgo6qOWR*vqu z(3(Z^8Wu1R3%j^gT;{y71$1<}$yI(rRoQVXkST8ywwh zvSU4|tynbmJZ6Z}(zU53yI4U?TaaY(B@JphCfhWcsZFCf9?c?q(%w(kv4-ArO!kI? zWID{&Et!tHO~dsKhT}~3dIL1sWKC{^Qy!KhNPPg^|4|E0I4qcmOg9T8oaeUp9G;;HY%+Wdjvv8LZA8vIT+ z{cf^&b_cOYTXQA4*CMJVdW&lBX)qaQvZMSx%YM`&|3GD|sgmh0yhgu|2RynG3`r5L z$<8x8NujLu;A2YUZB#K?`WqCwEZPD*F#qm)+bV&}R!?REi;T`z%5xM&iJR;un+*6r zRmPesn{6`Sb~ta-MXxRBLck__BtQnNEGhGO{Qq8*r=+mKuy=^k! zD%Gx06aky;bAd8oQ{{StN{-1sALtq0k+q37RZLS|8*8##1Lc^iaC)TcO-0d>$<7H@ z9sP&OSW~4aSa?bP2v5*-b;FY~T{LXP(qG2Vg&VnlzWNo-%wSPRwslH&pt-E8QYBxn zD1tHBj~z0Y|5O=ks(j**!Q6>QbGjZ^6v3G6Ull~byz7u^e{slQZYWuVY)98C`A>=> z7?Uk-<(YLIMgE^EV@;LCtz>>pl`bu0Z@M@KZ|ke1l4^$rh+V{^4C94X&n|Ed6v$ z(>yBg=cXRdz=+k9m(kh@DDtP`mnxtI=4!AgMuewI}brOO}~L8(Sr(acmeI{(wB8++IG*FzAO>H zC-9Vky0`3>?!=FhVfLQsu2$kIzuH#{&)hHZzR;!XdxdMKoT9BZFU=pP1`4a`H%g?? zM&U74LVuFo#7g~6N`HXTujwQ4`xQRI zvn+*$M?Rp$_3uitIleq0b}v-oN;ORJ`)7D4GrczXDv%tnQTVlIrMm~z<%UFFMnEvh=KX=g%s`*w@?IX{13?=<* z)A=LPdX19*V&caop002fAbYF)v&0J&9^_fpk41;#zR8e+j!Mv(1mSu=LENL1x%qSB zIHg5@@I`~DSJsaye2&7ey(7JTrf~W#2kB?uC2>D28gxCO@S1&2(Z(Bfad{*@7{7~j z3LsVD+H=Z4Q{$;r_;#}cl~r||(Owqg$f2KvQ2$OeN(zWa6n3 z|4HFrncZxY_@9IomI0ZyTONG?>dnB3oxE0Vlv-aaExTv*Ko;&duOV!BbFH=3N;{?sL_OMRt$lt2JuL>YaCfQ_J6@3D_mub^g*(-X zw_f2h6`oWf^_M7op2D-$Lj0h@-N0Mme_EZ?H^X{d>UY)Z)rOU*3^pl8g}=+@%bpJr zuYS;z>;!q&qk}|#q?GH`_SQ}1$}6>Q2$F0B$`lm#moc1FUD59c99pCn6CzWlU@gjX z9nRC~Yba6u1Ekq>!oVla|NUk_3kTe77YDnMLDkP1)r_K?Eqdpgpu zN^}Z@ez-wbThDBA*WENzH_;3!)$USw;p0w$>{mGb{U^E09wl*eogVG^5bh%BPeDbJ z#!7LG>Mhr!4}th$C3Y0tZav?V46$A&V$#=oa;UXYw*Kr{N2UjrY368Y`jjTGTF-G( z{;N<q9$>rT;rU&7jM zg=;+|?p62^g=fAkahJkRE4-dde4)ZWmAGfYP}U;(E2Xq0K`NbAN;gcWuStBI!f%P# zldZurk=J@j@d_ojo4AVcU4^&t9KV}|=Oij|WmjqToDvUGc+wLRH*am1!mDOV+?=n` z3a>jN@i66Qvgk&i?pcT4B4;bD($!KcOKB|;T9LyYs>BPVxU&*3^IRwEwaWUMTKCP{ z`Wb1xUx};kkk-qT^)b)rVW`tjWh56o%cyl#v~qq`Hs)VJwO2Oy5>?(!zZ+(R!Yl8T zeY~yoV-@arT;ih@p6F@eLge(fy>xRXsaq&qiSPELl6a&N7gkGa@pq3(T%~rOZL0769z7k2cvEQU6FtdjMSh}`lagdt z&#SJ!6Q?N}B#a zj2zG(JriDcT$-5&)Hh6bnZuGNqq?eRd)yqyHy;FSR z$96)jTRq3|UpdYR!InaO$8?rjKPjykg;(v8cq`R+yuvfp5Qi!K6ouET4R*Q0U7{QP ze$R)L{i)ERvqE-gs*+1G!=ob@eXdkq=1Hd3deKUL*7W>>Qz(~86YXV%JJsqlOX2%H z>tG%EmJ(kZ=oEs29ff73(lHy*Pyykg!lX$ffn}2PoCR5ui`qp2OowV>1HGFBlKJH;x&$CVCBD z9v=8`3VYb^0KS{sVqq_C_k8&vOSGBKs|QbcTIaL7_1&JFeAc~%`TtE}{(n|vdA0%$ zah#LMah#L!ZHhkdWj?(eDtOkD{G;B|)Au3Pp1HPqCOyOk+S;fb&gd?M2OzYqxFi!B z5+uNNuNj_O53wlQlj>QmevtB108jIKdnOgIfz8hJW}?GP&(;Fgw^INy zOtGlXN(;qu$N`no`Yh3`%+C}P^_W&TRA$4uzcp;6zW&d>_qoq=caP`yzQ1=^Yp?b0 zwbnjB`))U>y3nK~f+$(*+Ff$%TCVV`YdQ5+quhRPC)D5DRSr_4)UbnJ3H{(#@m$a` z(Iogpx{;jr?btuk)9XyDdk++6N(St!|1j<~^9sNs{T)~0*Ekj5@vJjeHc$?->4qekkXG|I6ni(18}x?WO+Jm z9vRmsIh{xQB&{+O#APmVPbvN-srZs(_n%H@Qt@TSclio>{ZzvEgbBy9OGYLErEJ zlF!m!Z_*)&jmo!Szo>NuS_kg-c>=Z>>lG+)e`cj3)j z9pjer*q+?6W-&e7abmOS@VM)lUUkpYE72Br#ER}awvVCRqIQz67t(7{CrPK#^xaN- z$e0Cma&%cI*F`+XK;#H@JY2|?I4A**84DU^%Hj6(1vECs*0ShHHb9BC1xY80Y#UGr z))^Qi$Yqd~rSzGY&GusM!v}F98^4VhR5oxUF{O^_X{?fFrhe##jlu0zwX@2{@h4KNk&ld3CAnQ$oia_ysDq0_8C4l zQ<7KNG1o##hhlYnB$Oe{t0!*rZi1(miMw@>+GA$!*g{vWDaB65<-A9A$@J6Ek5o6s z4WN2&c{1uy9^KYuanpje81GehAm^GLv8!pj*p5%UUc{)y=EL2E`6VgT`72Xa&l_eMdoLuZY!I$!+Ra^IgN}6;mWom6L z#%0i|#MYx(Wn24uS`%9*d3w3nlGZG-+tAJG#`eMiXuEEE!A6 z8jbe!63r#AYDjF=6T5^q`@k#>eW;Zd zJ}E3WzvGBU`R`#CQ$nNfd5*EnnM7R*TL*lY&6dkCX|_~+*4*_ReJ0y8qDA;5+OM!H z$*83B3zLaoB|Tc`WBuDrB+<~t-SWf>R?;$Ac!bRzn^UqE)*DJbP)<3&p zJc9fu!AWdb5#_cL+$46cEA#u%>SeaT02#;bb8KiV=J`LcUYI*&{qj(CG!0wcvT0l+ zmy}RCWO-Ehv82Lk_K-c5FqUt(o-GTIR$*Ii;cd22AcygZEE+mvDEa1BI(tS}^6b}i z`;3lcMJ^ab|QKB1^p>6lvdAf=C%7vrxUw3?(`&jX<7ahy)}C{Y567XH>Vr%|B^m4 zXBioBpZ+#yB=Puy4xii2^W5i+njV!-wYdqTXdJyTw?B!#M?><~k{{2~ck>d-n`hBV zx2BogU!?Ckn)aBNLcTgnSI+B3PM@Vm=GjTpJ2Za&NOIx~)#i8eTwBv9z4s`3asK0^ zM>=iu%s}$(k97JoX|$q^k-oS*oK&2qhnFXj`46bMs2}<1H=0~DlKgO*mK7zEq|@|z zQ5@-enuf0ENjjgVV^_qG)1T3`E8@wa&*+&I(PY(U)bMOK()u&n>)D`?DcBuR))_zD*iVr8vm>vk3UK0J{wJ%jG(VS8%2^|qhCCm;AVQw>Evrb4&AoGmu^}aK&+qA zCssz0+EX-tWvtstmEc^uS;`uh^fIeL`O-?&gy73Ai5?w{T@ou4CE9mA8u@b0O&)Y3vJ2$$vJ`$`^K$ z4jX7$Wl-gkwRcsLzo9aBT}y*nRasIxg{U7@K6uGhRZs2SU{uv_Doq;~5!FEpUv93R zs(j_;_f++V$`P+bx~MQs*HMlqDsatr|aKnPdY8HJo3gvm3*F0KiK{R znUqi6-`q`x=F=l@hLVo?^vau&gydIxytSCPuUO2MDI{C6n6BS3ldN7u$!LPU9nO{|uYt96_L^Wi zxuP{m38&9jv?GoV^!}mmg#0kKvaE8S3yGaonZD1Y5|3GQ z;{JAHLuVoNnm%4O1SB#U$0?j#Q#{{SdiTs5SX7mlkWzfZv2do-nNoZmFF;Af#~dHb za5~`>zP||@xix+M)0&Os5BJ{i)T)9N#8{G68AEK;vA=`oNhB>EkaBZ8?!j?uCT)G- zW>CR&Ea}D7XvnkZnn-b|1v+qkI&J&G91_xsZu%f3upF%D^)2fL61)9C$!kpZWtvIb&pm=4^<$lU$hb?Vc!>!G$}_S1CSp-v=zI(^|#9C_?% zdh$?bayFg*erQ57FZ3VxKNv@+lr>p49Q>|3EYs-h!vjdtH2VJGx5?X6>7*lDi2D?3 zsEQ=HQ)pCGD{?T04zG&0JeQ)u4Nu*kVN z3fs9Ayxt@&zimDc2l)tl`^0EG6^wi8mg97uFs9_t!$*6P#3}UQ(MS@RP1_txBA2u2 ztYabM$0>B}v8X|VryvTKfY?C%So`jD3n1kNL{OkyTwyJ9@IIsA5-uR?d zOW;uoE@72DKISYO{*_H#kGCKjvT57n(ed42!Z|3~v2;=+pLou?;=Jfg&A@4QV2snT zIt!EXUUrmcOB`o$p*hFs$@Hb;;biM1dgORtvUU=69&bgOPo}M_+mk;h($wk{5;~b~ zsqPjYfas@EifhMV`x%!o{y3ZMWOOdt5rT&0y!%X|zg7QEj9K*854(~dGHLWjBgrol z>B^6=O;4nUKWamoOr+O7TH5SF1{;HU?AYu0fyu=`I$p}43r-}tcF07DKAuTWocNvu zOrY`Ts%r$3*3hd46m8y`oIz7uH8$8k2>IBY8D#XZlEhe@mY-8}bKJ?7_|XUEeH zpTsopH-WchO(p!TUq(Z5MyP9 zUx{gVO_?e5Q1@rM@{!{o)+#{RFCSI()j4|b%i+}Rt9R`2I02sko0a5r7C}x+aXQBW zi-5Vn#34@S4yFT70`CLwGyMstvxBRmR0C6hSwo%9B@9!Y&OJceFsJhYvjd~eigIo^ z@&ofmIGy`|b!kqgOB2Pe>>25F_QtAk|4FAa512O^34peAGz3fpn(@6z>{Cu>8qj5| z)43X$1}p~_0S^N211|z&F<|w;YGANCcwlc}7DjF?a1SsS=z_5;amTw(7KCzU0PX{x z!<^Ou%O~OvJ;0-y766MTJDr<>_ffA7U@RU=4~wFd0&T!FtPP_XVnJCAtOo7?*5T2w z1D?aO7L1LEKU>z_K=sO<` z0uzDLf#tvg;5lF^(1z7~A21ep3YZ0~1LiHn)BsC?c3&$T7CD`9z(i~`DZuI_xMN^Z zKJFNpR^W720ezPt0kbd1l;Hib?m4G37U)up8U@;(M@N8pFQ5a!#I?8)rmu541H92e zU@Wj2m;|g_=d?S=LU37+IRVB3i-1|c4Zv#P4&Z%Y70^bV&U3&tpaWP0{2f>gwEBQA z#Rvh5fQi6z;8@@}U@o)2h>ihEH#wa(K$p#S+=(xU%_tIJ>=qOu@cuST1u*e-+ySue zZOpMB>^qPcSPIMn)&YxvSvyffK-)V`XEo!2b-?O(QRU6RS0El(2TWx8Zo~s!?3G9W zAr@E;ECp5rtATY)e-8=#G4$^v0q{OB5m>qx378HnV){PB18w^e&valNF!2E51Caj% z!~@HLiNHMv5f8MNA3_2MX@`-3IUGR(pvzGtU^>tx5c)AB0Hy&Gf%kz~z|!N02Ub@j zp6MSV9_afK;(>dBEoJRtjH4=dxfLUK70k94@o#6$wqrQa;ddiPh&3m_<20$bQ%?L;gqN(;@^2X z=2Ey?LJKc7SNG6YF10s4fL9^CawVAFyyUN@QuT66HJ656?xfbzVVAqB+iCIT0jiCD z3VAg(){an<=$P6rh+b1W*m!<0ZknFC>`U*|vN*3R-PHv&`AR=^A1%Jp&o3g?>BP#w zuOxh)#1~kx^qVV)gymx%neZ)(%>33raQiT)vpw@oXlh+f6a~|+EOAkkD!L9nR=Vq3 zAGJ6A@Z0uk8NCChf_hzT>8FgqF@{CqViD1}>E3kU)s~UdVR?%4_)-*@1I2xTGvIrPdi@g zqE^w&Yph#^*Sf0@=ze@w&^y;!tEZ^n^_J>I+Vy%DzXg+=&UUi7XkZRD-BP;rdKa~Z z?z--y-liX3Z%I6|>GkU&eU@Z9oo%Eu>o0a@Wdpd#MqB{6J>Xa}b}_#W;A&{X4IjVY zDNZNO^!y6NXBsSVbn1=PepxwACkCHiSW1=Eu;2~whQHqeSX@f<837@O!i};M7`|-Jle&cBGxBVHX6Wb2ILh)&4 zyE|=hvo(e(;bypco=&~_xSBzC-Rz~N(eH0IkIcb7pjQjKFEjS{JaAY+`Ng<6PxBPCuB}j zYeG{L2O{w=4W9ep)5A!gxYE3Zp|!DTL_*Wh{!Ih=H?{U>ezEW>f!D!j>9kv&O(!AV zUrArR6=nJzV(N4BOR%vxx9lsXO>ak;av&zIq5W^Sb7Kp^W~dn@^oj5Ly0K@bjyb+W zH+>&ua>1Fz@e(}%(FQR>qZc5ulg?<3K7^PBai2zmeh4xZF?Iv(39%gFgAFttVl{Kv zNEbn@W9&w{38D)|V8bSQ0HO`zzL)6*h=~vvY^Dz(W8;4KeOjx(H$&MDuHO6GRtO;^^1t0f;t;N#*nc#6*YzuhWMRvmkDNod(@O zUWn)4pgkd$Gl%W;z@6qsNE^1(MIh^#eLLL*(FF${^P4msq7CA6Z_*18*)hrd7JUdY z3u3_AH0UnULOl64?Fq3QV#E%b4zU{I_8oK)#5(4?lWv0Og2Kz$iP39rgtUDpy#O*1 z;)9*^A;c_*aqrNedq@lMxp!$#h~*F+6*L`UHDh~sqj&RUHi+9H zf=z^Yem8vxF^h?nH0VC^Ld@Aid){wl+5xd*54(5!DTwuZoX(LbGgj`;k^vSIN%e3= z5wp^}4SO`sSGj+&Kiy#W!1=2H_W5iH(&G)YRp!9rJHTFx^VlbUv45!Brzk0KD8a$( ziN81`>ki6v*sE|*`}r>&xYN*q)v%Z00N1CneE~P~4(wp@2iQ|$KLxQKuH75E&Uxf| z8+I$sej$J9N?=1*Jh0MPaVDJIIG#*z=t>9Jb7AM-FX&@Ie&hCNMR8S9;E;NVlAoi3 z3LpmKIQbdNg^P_7bv3OnV>(RMBZaPYepisvmmP>BOw_3z?K?a2<})>pw?z z%YwK7=S&=;8ZPF#1bo5Yc($~Zf`9H99rR0o(?y8&$LRWB+L=6X3XMKakNwgvq&LJ0 z99WZCx~!(wEUaf)5Yxarj#IY>6HNypmV8L(JV-YMIM<*gIAj)&#s=={cja`h} z46gQXTm`t_!Rb3I^J9nGfRm3}w}Cqk&UTW%@UWGM4R>!QhJ-Nh2&ifB4uj0DSp4e^ zF83t8`>^wqc@WPxO2#_}j-AG_*YJyX4qWZuxC(F=!C?jG7fW5u^HnbT?J+_t{3>YG z9}7rCb!E>#O)mEMqw(BNN9CB*C8kPyfy4@lwf~1$AoKhW{&wYmF#Lbw*$DoRcd|F# zpbjyqFYevmM19#EnCPc|?g0#FrOt5$u8LHDv;r6RRAZQZ=RkFk1^8gN`kG0-uy^wq z^?3q4e5`ujs9tz~qWYZ~>aA(&dw#%e1?q4&a@|Y&>3P*=FUD#>*bnR3)dS~Hb<`T1 zkyP*gkPR`N73CTXs`uB}lw1t!stEhBrs};63#VZUtP{DqhN-VWozF7xSfgQGy>gtT z3hWNjNY+Jv!n7c!nZAVYdKbKOs=n=U$Tl_Yf(MMn`f+t8)b`A~8CTaqEkzTmKUY77 zdWu;CxT>PsPCrs@P|rS6)1iLRpt^pK{*IBiYgR|vSuYjW&gjFZk683oaZLgjF*BZx zivmx>x&op!84q%rBzaUtV-JTaJRFTZVrMnVQKO2+awTc!neo$Lo_V`uxpFX9#Bt^4 z#!8pjjVv>yqPY3u%uJg7i5qlhABsmLJ_8I^OArprY@`g{ilu`t`;~#Wfe)caJ#3x*9mL znF^dMTI1vCkmR7oWC4br&Hju>Bw1&VQxvzi*_{XRo9lu6?rcaDkL&o1cJa1+0Za$& z;;UFLLY~ZIzW~LX3Eh#<;P1_1qnYUE_7oexfJY<6Mo00il8vs0qK-O?Nb3#U=OsIn zx^%;DPcdOVg!>RM7_|y}Q{rRbnb&Y@tS}XyELP6_-0}FRzWn*?$9n8L3IS?AZ_vKu z@O7)&?*#74w-r9re(ZTwn*ISdqWby6#k&`Ll&P%fV8}jRnpO;~Y!GNqs z^QQSZmOH=<=%#0KExplbft@J}7Fa%qGh1;?3-?);qVvIwUsR=dpFp!`5M>PXSb?OW zMnB6Ss1DFZf5ox{92;R{fSiyKPz(Xyf5P4tIgDW*Z-R+4Hh&b>LTTu$(H;`e(6+H< zwB9XPn}94xiqa z@sW=)H2MTi1)Nk(OD$jH>-bpwGuahO7>3{-CKs43Y+^4kxzHNaA2J(4)3Oa}kew9` zD;d-BeQMA+D0~)*s#L|V2Lim=Z#e$RB2zs)(akv1W0qU!!cImdDVBS>oNTsuphLVE z23dJWxX<7K%W3#>J|)!h8~k|-Ln16r$abzg(ZOOyaxM>zR+@Y7M@UOHDw90?0A|w! ziy2*JV`$1$8phBx(M9pT2H!z2xONCk06eF<`t!MF&#Y^pVtE@Y9(z<>g90q^NXGf* z(Uv60U)oV?uE9x`EGX5cybGB( z(7M2K6f$qvw!v~rm)lfWzR=~iCoT4GbtSyk@}n+CJP5k4%aK+!=oejS7oi6Ih%Vn_ z-ENP&@xB6SEX+*;yl+EHhiGowG=+ic{U?|>+?88^M<+m%o3G^$JQOW4ly1!wixM>TB*a5a061T!0=X`07WK&WYQ!_#G& zqFC4_$)_sk(Zgk$8mxG;)%7-u3-@Do?^n!Ne>#FRwex!wIRn_5=Drt_D0#MkDSij> zDVHl$yRY9VrhkQxP(&KLc=!M^j2$cs@L;mBH%2LZp=a;OOC+0HV{~*w`yBF-UISo~dF{w=1t8u{tUbMQXi-<-dRl;oTKw6$G{q zs4oejgluD`2{7$|(9*E3MBOWddgT~|P`0a#n-`CU@UDb^>PUC%cDP>x@1>4lJB*h) zp6@T%NB9?Uu6DM`zVw$3#;j%cO6!uQ<@+>6_A+&S@Q z^DE8+KJ(djHAHMze2*H!_b4_ks(lC>Jh4d)VauHFBJRyL60wU7VMP$Ol(9n@8^)$t zO=Y4&>SgPdxC?bu8MCCbh7AA4ee<@`Sz9=`7P#<(YdUMgpkmkOTV%SOWyeu!imPzzKG>)kl1R;U+P>hZeO;K|epOf_{!t~eH(!EU)#uV>=XF`O}>Ad!QdXRec& zYbcv!&jrH1g5}S0w_{@Xl+Q#OIpq~ZPI-;WrW|voPdL#hTy2|dp z_$jSWD&mxe^R%6<75jA;R*Ze*0CATpbeEm(O8-XkIy@ywUWXZS9C#S}hTm;6t3!S= zYjikuTgceJhU1xCAr&$*f!EMGY`UiL8u}PR$!lnutf3kMuc2wYhMchS8k#0cs7m1_ zG+h?S22nyYq$*2jrc?_=3C*%I-PE;*tf5?9L&b~4pbiosqnB3xG^6)o6XK*>EY{5XTIF;LTr;&xwAr)rDAwC;-I09I>=Hk<^^&BuYhySK4Lo)KUEck?lJGJjyS zf(tc~;XX!_DbGaGd`yN3q=RbgYBIFSh9%GFM!I?%%_Pp-Xc}Y~Kgeh^8Cowhdcrb< zS>p1HCWh0Q$AUa#p_*rWR$XSy90Y&6VcZ}iQno2EHaFchw#+vA4>CM8$Y?eh+Ac#c z1{vLV7}A#++GZQl%_WAm=4Hl+Eyl1dhICj=hVT-TVNA9mJlim)#Mshgh{!g&n(_>z zNwjKAVOkHSbX1uwQrJcb8#LHPB`{+XlcD`d)|g>rl%c)(OCthf^NeA6#t_y=u*Rk) zLr3!aZSJYm2NL!T(-P2oL{dmph!!TqSB`!gK@$CYJ9k1er=-jXQq^oLdZCI)HhP=$!7Sb}<)%m3J?H5Q@(50W!hQ!% zXuJf8O&Eas{3v#>4-tB>V7~t%8sfhO@{CD z>riZlQZ?ITxSh|cDw-)wZl^NKi_CIMTA)B4&P*sbO)WtiC5D^%QIJV%)!07U7&cng z8(3Cwn^p4`RNNp#U4AxGmKmeB7~76EwniT~$$A^RckoShzq`l62{}{qCd`>UY1W)9 zE%PVUR}1+`4K_{UyjJj&+RP<4dU~`LWg@|Qcm1S>bk?3|Ma($GkMzaj!>%}^7W1nb zrt@h!-_58MI@K`0WZ|Z$$}nB*Vbtn7k>D2Nv0k!^eM`VDRms%F&xw{EO`2nOG9oVy)D7N<>q>vWd1vt)Dju zbgPr5CPv=7F7eX-nnVnYE|y}!W|xbCm&vWVw#~!?AJYS8Gz5;+MJfYTWxOux(Ja@< z#OtdcZzn{bH;0|@M zajzye?$rmaNnn=>*|f8v3z@pu8HY=DiJ{T8-mYS3^uV(Xfg^P>Mh0SNbWx8ML!)cR z#fL`ERo##)O&2>g;d zSY=Y*EfI^7E?)E$9sX~ZG~MNrr|9qm9FEzwM9T%zSUvTd>h8l=&w;<{85+hYQZdJs;)drmDMN}TdUnZl>XPe zc_-~xr2Z%*TMy}sQ#ZR*C0iH!ND8f;S9E33BR>)F=ySX@O=)nMsEh39$BLp=#1enE zf62-F-j`35eWBFXOT>2fD5sEW8bXBr4=#anZWcb8w!dfjZ6l@Dw&%qIfE0WrCk3_w)0Tx4tU)0?9|? zIb;5*<=XIGTs(N1V z5t4sJ>(P&N?@_Ty(4~?dgZ;=G%{2a|ikYTJzTwCB+ME4IILY0ro$W`WNNS!&;z^X< z`nE{Ne>n+ZpUN=(R}h-BT)3`EzUtk0uH!3Ie*GZ%+~e_Fm#diKicN)etK?0=^IwjF zho|J@#VGbv(s>x({qz8tNUl=KFIZ<;BCAa#YAgLCH8p|wtKGFbfWTxKohqaCZV%^X zdzLgS6(UK9oTHhN&(H)vPV&W)XMZivE`1JO(wkW;_$RqlQC^jNZHeG>B+s^3Jbci0rf8uX!19K?d zMSRp)Z5Rl3AcvSV85aL95w=r?Wk^2tkl@)5)YvtLhXpQ|=7O&AoQ~w5ic%uX!>}Q+ z&J;`)W`AjZMVQ}V(Zs4mR134TDtokT1Bid}37Nd{&%K$;*OIT7PlSHbu9Lj7Riv9P z^Zg)Nb4qh=iZHj9<|dk&NLpy7MB;5{e_F&ktpDziKB4Sqos6%Qu`6Y4n&dO8M9!}z zKSk$z3f=_|Kf7j2K3YB=eFUv66nuXrR~izep-=|oZi(kiiR7Qt8;~O_mu_VZyBYt? zt3>|LtC8k{qrw~^!)}B3Qi7C%)(M=EFGk7(>0h-$_`f3k{k5Zy z6MuVaxzrVG7UoZ-IY#mo#{|D#@+p!pD-!%-$&ZqJjeK6FNInz17yeUfgumXcT;bnN zNnIrjQ8FN3CaT>hczrb2XoX2wVlb!--qv;j0{2Mg)R%>GM>$rX2(NP-Vs1#U+}^_L zgly^#c&ieqgnEl1leF?D4@y${ zgkI|H+weY?n`j|sD0eC+Q58DFth@Ea6y6-Yi*_F}f=pO<|7 z^TL0O5>sRC7s$!96w4;OY zj9r%IvJ4T13gFib$=A!h;c3a=k$go|JZBclW)v-KFw%Kpk7upb%T-~j3}b)z!1&sg zBJ6$1x0QUx6N1;*=Pp_y(gpUE=7Ka~u9B@irtMud#}_ z#&NH}4pz~bjOoH0F3pp)Z7h10jLz67%=%-!R77u(=887LTqvWrX=*CEuwV4#xE8~- zGhEALfB4JFsoyGnB=Y6QM48qB+b$C5z-HO z5!xMQX7Bp^k>4S*^1om}hJISuFqo6| zE*HVd25lG2YB~2(dudmg^Iqv39W9(+l}&xjy^_C>=Gqm)TqSeWNs{ z*iri56K+lHev-qKw2UObP}Ulqf&Gt3+<&DJBr+?+e%SKKsp1k9s! z^Cn@|PYF}B7?@+`NOSxL!mJ-bi}kRV1V2FDN~yMvW!);xiY&6uvQaFCtWSHTIrMcA z-9ws>bF+GmLuRe+6)wDfl3qXP{2PLACfoj1@>R0%AD8|nY(cDUQcHyYa>+N-3e(V; zNNFxh6y|T`DLY!*#mwEM**ZX&b7gdbh#sn&pBCmYY0ePlr}ehw(YHXF7itM3k-SKn zEBcCPeIV9pvtd?W<4M##0?vq(S7l6edl559-u^vqjv?OSZp(HHvp#A*l8={Dk|}!< zqQyLkp0tzZDt+6QS$k@kFvkp#=Fn~;Yl4g(t!I@RjZyN`wWA1A7YkS|K;sbjri`hP zv!5zsDz>h&d^|zLs7Y(rb$Jx*~Gj5nd0aSAjfw=_hojFdt%v3xc&hG+u@a@X`v= zRI5lISsC(7tKSv-c8XWby1hZ8iJwUuFrMUS{U(yYy`POI-!<8LDu+yW+1qUfdDTGt z%d`u*B+5;H|BR^Cyl0cgu#%3MO*(n$|AS8bf83dvsp~T=K+G8#mI{H1nC(i$afieCFd8E5r#!#X5_K~>|=C*mF3{wR;YX)iZzW@)d B3ef-n diff --git a/obj/cylinder.o b/obj/cylinder.o new file mode 100644 index 0000000000000000000000000000000000000000..46ce89b6a5ac29cd6b5d860f742dad5f7e7b6e51 GIT binary patch literal 37048 zcmc(I3w%|@wf^jLvJU}5&LKew0ut&`f=CDtCAL%(KnRE!HAtY8B;-M2^D;R^P{fEx zrBDm%_1e}4ZEb6>wo=sAS|3rdMs0hkk5+Aajje65PsCpJ+E(wkX4cw!&YXnW-u{38 z`N`R9zFD(o&01^L%--i@d&ODH7DYTyN%7PfDy#{r)crd{x=fR0Y798bFT9}Q%HQ7v zq$ytPQ$u|FJP4@R@#c|u;=&T32jkmM2C`(wdljGFmfQ!HBk|D-O5%w^T$d$5R3_qy z>caTwHA#F_B@^+{$z;W+Hz!LEk-&yrVL z#gCP*eSBu0RcR`YPuhkC@J?EYj~!I9L`3-QMIMc@_7r_F0y zaxa*4xWuQjyU>$B?rA{ktnKk;JaKl(oAFhnz@cE#_|`j#7jZj4Kmz|&z}c0B@u^ja zsj177Wuz(Q0;QV+uWUL(0cm{F272_Ol6cV?%&Lew6j4{l9uMk;5d>BrMq9FDk&Y`` zF%S`pC$1tmp4dr|17vw6Nj9-V9tdJbD)C9Ge5F~T1F)R&5T>|zPQ}i}X5qvW=kmIN z2H*)bK!ukB7A-16t_TWS?zTXLE`U&4T@NO2vW4EkLiN0;MYwuH8Srw1hTfL!14v$1 zsFVB15ajqG-Oj77fEszMUVE(FJQfxoVnvU|fwPE$(9ooku?pgw^r4W}(RfEFbXSs0VzSYL$z}}wCK+#DU|UhZsHS;YwT-N_HW2l+ zB6BT77(vjnkF+skN^J75Q+Fi~LL>rk68@b_sc|L3_2y&=i9>6dzTS|m#I?y`3!<_~ zmT8$@rW;vzBvSH>A`ysq1phX@%t@O8jLNpzrd8mGG3>_R@aADXUz2*v(#00qViTy4 zSOSC21X?C>7wdk=#!_69+(>bwCk#L72^X0O)4Hvtb&JId{jnHeRo=OJdV*#9OwUD4 z@uJ6R>8`~x#@fZQrA}D8wc*-jD?OO(hhBkuUqnR~FEt!}@%}EN^ZfuAv4G2K9=9`o zuzvSxnUrC%boHiG8BYw;bFkL(;&9o)5`jV_+g?xyQMVV=JGz}0)FEp8#}?Eb?0K`S z*}r=9!B-QFf3(%4qm0zi=~D0NgRUbPSFa4B`&NMy@ApOXp5lWki?}x2dXES zORG*Tth!!@I_r@m#ljh9fGg31&HywxIe9M(Yb=47Ax(la0GZtQIk5~|5GO9uBkcgd z<3b%hE~l(_!p__DVKmU_&3NY4Z-(MCk{%6Nivk!MdYra=+V^V;?RzS7?k{7r*jW#H zl#y8vk_wn%AFHCz+$1#E$p^RvQ7L=8Ip$TsI4pTvvYIS~Siu&xElDlBPw6prUZ(-Y z;O?2bYb1~=oOQx*<~_0&qIgxyO_7{$DI!fg%l_EO`(y1O`(qfS+ma-d((zuJCuUWN zx*cO1bvtj4&D6-7BSlg$<)LD1The%n!wf+Y+-cb7%q@^bF-C(QEyjY7MFy=MGQh$? zb&O%qeUu&-m1L&soW3JKoZkcnEE3TVMR@UuIGC+^)Na0+9f+l61gFH@X-Z zgGwSHw?fDg>^eoX7(=RO!rLC zkAYs6tZt%v*4^l#)i=C&xI_p>0D~NS*1QM`TMI^E{~n32eKF`xBXrX#X<^bF-Y`VJ z8RDqs43A~{2&Nw}X;t)I-g?x&h)xrG&e;vo-+a`LM<2A|sC@??6oz{WGrnCL4z_r; z2M-aD3tHnVe+u`#4FCL01I?&C3mZNMrXO{U<)P5DreF@5ehT>I?k3oA4Viw;&D!U% z^qOQPnqD&A=vhgDl59W+xOmkwxWXsZj~XqCAMKhO%3Y@ALb>ApuEO|A@U4EF_WaoI z@=Wc3t{K5c;-~y}#~~bRDGPtBd=1?xfBf;L-By0?MN4o5kUT7R#F=S$fn;Gkt3vAC zhu*N$u4JDfZb%-~M0)D2*zt;F-?IBWN}C(;WQcMv_18)3=o!}%K)pY#dtZiafD>;Y z!kaS~(gm&2C49e6iEY@BnT8&hr*AYt*6lP|R~}{~YvExwXYPz->q?<8#xV|ifZk&N zku+PHsX1lW%3x)bNq#Sc?Sdp#f=ZC2s3lPL?`GG5LCrP9ptO(ZK|ipXhao;tQ`u@# zi&m4)Zgd_obHoNkqXfAW@nxQl>zFRZQVAb6J1O-UT0LN!4#~)OtA2}rhp>`f$4WxV zEq^I>==&O3jTiA5M#0CpBU;_j23mEBD&Ty}G z#mTLdF)6cszx!h_?V4n>&X@xbq%&se%s(*yOY!Zez4!k6=z|A~=mcZ0dd`R)fY@I^ z#;ftI`G#cyi6!qJh;M!GZ|}cPsV4J?Hx-LjJE|AMfw)0Zzutf2+Yg{8J?LCS-%mUq z-+r&D<3T4qYUrdKXnNxKxm$~%92lHF={VG{VLTtD(30=Ewk7ElA&+W^g_1d@k8kbF zmvzQzbheAjy-O*gSDT!|qym*-=~D}@smyQTD(!Byb~kF_jFItOpLvKF47ZW{=|fMm z?q_ahN%w$@C#4U2)PPAXD&X&8n)u5YI6}US!M5;v!(ZQjADmqFzWu#@XMj$-e)H1Jt(>Kv)U8TQ)lsXf{nGem~eyV*X+WCj7>ZK2qUj3PQRrTE9sX8I6U=b==>P@fi zHmTJy3P#hM`KfajU{9?O@`9k(S|LRsiC-~@_!XIg4Kkh^JXIy+d4c!~gtWz1-8Pi0 z1%a$}LSD*HL|sxM^p=3FPDoq+xOPURHeT(Ka9+`te*c%EqtKOf@#~+Nv~UjUKz8Wlx+m2_=?#J z`4B^c&E6Ysx=rURx(Rt54~E(A<{%FznBc}!1C26fzmJ>x0+tm*-ZpZ`*-NiCf?jn( zevx}Yq5e=4rlg+?fn+G;7lP3;thSGv9t&7j2-%f8w2m3Qs-#yc=#??nvpGiKbbTPD zgwTNv{`zUKtZRJ#GYE z%U4WH$mbcNi9N*m%e(UoeIH+8LLtYGF-?g2 zgJB1zrsW%AHeb`jde% zGu*v{h3*N33wav%!jc&9q!LPR$dsO8ycH~BL!dy$>@Mb}P;iq7ek|zKB;*emf=(|g zsf;*Iyw_xi@biz%|8^j1osbfjgRc0w94rzbgB)vyGs}ngiewUwYpB``DH$wZW0o)i zKLAUHoxRcCiMjcHG&eDJeC}v34~MZxF~Gc7S;4>0A2$*y?#R z^GAD1#Xhyw1G;BEqF`9D7tQ_f$d8PiGHyx!ym4p3a@oFGf)2y;(K2!*wJ9}Xl#1pq z$)`#wsw0!Ao-uMH$ed%rZA9R7Y)d;kvWK=EY4~^6=fwJczb7tunp$CC5 znWo(jicr2wQHpM`y_M%-iuxwv<3cnG(G4Oix@VuaMUWjJ{AVqxF>gg=PpR_dUYnYL zMfYG!_2up^01piY_Ik?Su5~tYS)|fu`^a(Vqp~NUJ^L79(#Pq7s5vGR63tWkM62oi z?2sOlQ1Az4kgfZaMDldoN6`nnucqlSP~?~bl|uxT=-3<@k4p3ytw2_RRzQEW5SNje zWg7FtM%~Y##|CI<>|N;Ut^6e;ZlMnrY(_1U{+dO`HHmPoF-$ zi8N^@PXNs1i&(5oUQahsTIGlrr=PRt%*F?m*k#%*1F_b`0zk2LHM%U;uFdiTs&^O@ zWkJhWr=eF9eK8g)_5Tm5be9=B5}m5h^tXuKP^;-LVf0u}v!*YGZDN;nYI+aR8#ij2 zZgOLr?$`8m!Y}PpIWMx3{y42bP1KfWLs+MiSs(pYR^D2&r)^RsdqMe4~~YMFmRDD^~3>PbebR&0uqs_CLR;RsVp zRs3$q)3Re;&Z8_lRuump$UL$}_5gj5=dy355B(S*{wshvhw-5&n2&|1RKFLyT+2QS zOFwpn(d7}Md(A@l9nn`N^hxkz#|hNTg*G`6m5lTykTQCGcE05;|w#c=wZhhO*B5kLwd?UNEf}Moud0r zO&F)>%E?8hk_F!ln^xwjoFmYm%J71mzcHD8l8&ZqFDDK*DkBQC5i3TF(PNYV9&xO( z%Mzl;mZ@XOvSa6?mSsMbKCWdC%c)`^Ba5}zVc9uNjKnU|Vhdx9S}d)`*m@&Y`>ENO zTl=YHg36(+O(ixZPVG705IHBu?*W-dnJl{>lnHi9TPpqod|ve2HID$ybEYo$@13fJteZIL_dZc zWKW5Cbx}NW&)BKaMU9uITr`Z^mktGpNNUO&OTNuMM6}tVrdd1Gv~XLRMpiW2(lknL zOj1H-k^(^Aw0P4AHDoc7itqT8x(79HB@O14(m2NxNyRIrp(aK5^y=*3mC_hiD+w=* z?zss{fce8D71dr-{RmfSR%o3ktu(aqK1$WeL{jn2pb3A-RFqnUQ6cCME@&$!*5k;- zQmzKGH-99Y;<|fZgx!76BX`4J;_Qex+sknF6*S7w&W`TslLz3LXR>`!<-e_i*eItD zYA}d<{DPIhIZ7{oixalWA@yA=7gBdAW{um5LD%m#6eY&9#j<^R0qKUo{IFKs^Fl)1gLc>hYiQr*<9tITEoO!7FUzYO(augP`oR1G7zBQ1hAp$nx&)3b|Mk0U=w z`3VW^rU-VOvQPU0*-(3e5`nnFBUiu~88@5zB7-D0Olgp41!qQL8yJiell*&$&2uX;^karCvKr?=)^11 zoY<4*#I3}d>BOu4IVU=|{5k|P{q_IM3pWkvgH zx)*km7c6G#ixq%uKu)<{o1G3;RJ$SF>etaBH*~_MDJ6u}YtyTrNw4lsukQJWtC>cJ z%Klr{T8(*CkuAW!%iki=6a@Q-z6B$MFgy$@8DuYi$6YB-FFN`D7d^k8JI4#&`*@Ts}6J%PGlM`Y7PS6>E(J+5&-f(4q7CanN`_otUeqPx)o1u97 z(_?BsA29d`@f{sR`fNnZ52Q!Yx6@tkRPRl1y)V7`t@P^s=~YM62dExLj}@hK!fxKn zBlHaEDI=0TJ!3?Q=O>JZRoWBALGm_*pzU>cgABpfU}wny5C03|(>;4c_s~+v*aPp!_!$#BI2edqmCQ8{nJT^n`7LVxk zDy~;E+MBv(G8tZ4Pj;@yVE$u30YN?vej+XY+Y}L@x)mWc`9^gZ71>RIm z+lJPZYHIC(C|&Q~u+9+e9bIjzep5|zORA>6uCoSxJGvTF&HRpzR+UoS&2^oPs=HHl zc64JTJw(my1`JZy)(90bMt5g(V^<>@ndod)T^*@9t%24p)zPI=UF+8=sHb}BT3Z^> zs}mNZPUc#_N!2&Dlf34}mi5gTw?@nbo{-!GW$K$@7KnneF*DWDwqCWhZmj7{b*W2Q z+V!;^%Bi}BhAy?Pvs1zBjWw-}?W(aIYLi*0PfCB*wXJKxz~I5CE$!=JF(?ieX-EZB zJ%o1Ek=4<`Os}=0;}hharj8!9p}o6heS2d=q1LaaW&>0#tw|}l)^&H1BaHl>mc~mu zJGxReJl&vvNlQbjSvA+SHq|u4Y??q=VTAg+R+_|mGzZ*>7hp{(1>TlRJD^r8yxNs& z0ki7d*jm%wa%rO$6jVqUvD9qnRQL}e1Z%gcwz^bT%SKgGQ-1#W<*RBgShD)8nyOWm zXVugwlA&5V5Z}QR$&p$#If}a?#*7TO&RB{9N}Eg@SFO`ywKsNmqmzMBeAQ7_Q{REL zgtl&kf{rJ?QV_#Z2+*bt?ez)-swOZy6~!+mTi?+Nb9JfpY8@n)8phXXx9-bmqX+0KqcYRk25>Xxek(#MevsBwm)iz6gz;wqu z2miW4d6%BAyp0KOe9o}!-AJNy(5`RMaIK?_W`1s>JhxzR?mq9T=(UmPA}_a~JU1~v zH@h6r5~-*XuvXz875cJ>`z_3^rEZZ+gt0ugc9GCD)-}Y7LeCb1u?EaoTdlDMoU!_- z6AC?0qki*AXyM}A-mI&#u8n>s68%Cnw-Ac!ChWYV-=C=i3Oz5e`y7mNpBd?WiojMx zdZEy*c%a{2tzYCdnFyNn{F#^TW^MVsBLBWfhECUTAG&$6`y7n0PK(m}l!5I*?n6g? zrJaFk7S7KtD$gxhoZA<TOhK_k!e{*pV2E~Fj-w6kI}sBhiS(AceJZ0PQq!L=D1 zOHZpgZO(LL{|y_buW#QlV_i#%Sz24x&1h}yX`4QC)(oQc_C3RF+tOcQaRwVUhQhip zZl)>G-WyQZ+bHif8vqM3Rfk>L)XYw9Xp;#Iox(2G4HDDqPBmb`PNzMh-5@53S~9`X z(Ab1V{m^ze+Z2y$5}uzu;x>OwY-_Z=$uErN&GW}q`>~}|8xf0+xy#R4<=02b^8Jd~ zQh$2(UH7qy){}y-5&O1Bi@RflOL(d_b0`&`~4}^e%@9;HZQuo$*`v(6w(l4H!@8@Mdm7&g3Qs#2%-tm`s*!`S)M;9`Z=!}^j7~IP_OxO=ONUl<@uvx+x!{X8~g+X zODwXO`lMnA`&jhVEs-gne`+kc*TX7A`-sS#JU=@!JCD}lz?P+cG8X*;rV&TmIn-8) zu%&A&1?t9>eEu~hWsEs+_Xzf9Lp z*VR)zYX2&?zr^iSM?0!$M=*WO>!;D9KiN_YI{U|dQIkI>J3UxA zFLrD61@NJ=+n-Ky{F9pe6QCPSWCocJ*Die>9=qH3&W4Z5{V~Qzu}BF_@Yt5fsh)pA z^kHuv=&k-qppaQ2#d-KK69J=Q(LQe}QpIgRvCPjxr-!sV3S-d&(0+stRPn`wFijjw z8A4|02KtD8cT1$y^FI#wHNUCa|HM}RT$&AhaJF&4QgXlp=nLsjVz?Mg@EuGQ;rvst z7^dEmT}aM(N}RJa`t2>qdH`UEqNU`OZyT>X?e)i^-`esT+z@@nYl=nh+Y%}9{1U1V zeX>U_-=~&)xdj!X(E<Yx5EBQqhE*n zQQ7L3-0GiHZH!MKDVs+=)oHmYNXyNX_3CLUn+>BM8^&DPFc7BLFwV@6d`R!Yw6zab z)?=51 z9=A{czP_&IXQ@&Le?sGQI7=^+SWYq>R(Jx5lBLQV+?*9-%C*Bi%wOT~Q#C4wL#Hij zjyVoW{Q4WqL2%cLh9zo#KQsuxtEEzX;L0O?^t|~#0ocDWZhoG^=W}377?)pC>+>zJ zrI;_tk!MW$9tHS3#zE?$?|DE`91wpkPfg!50Bd8sS3fgVN}t<-?Pq*1pNsW<39u^} zm%k{{_Xfb|Zv#la{4Ie#%LA*#zf3FOi;E%fl|$f@hQQ;P?_ly{L*Qo)A?Lq_z`KT! z^TH7PY)0)~axwlQRF@jiR46}?F9g4lKor7@@lWt42t*;g1pfqoi$D|?9|t`Jp8-Pn zFJqi^Ay*3iU5nq=XFkWJtLOC=ZtL@mg-^HSzsNXUNS2H{n&XLZ%DRG|%eXu4k1X7_ zPc|{4&}An6iJX%x+_u9q3qQr;zs|yKe)$0$HBYnnUt)gJpR$>ZJDs->YPRjuXyLY; z*Dc((e;KDpSI$NYx9xm2zgjKa)@KvrG%oG&qR*=qza8ht@Iip&+i^bI!fk(DXyK<= z@^7|qoBxLvKF#9)Ipd_~C<`|)$jzK@Eis|E@jyTA5Zw0TC{C2F-OjXd+iuGkCw+(% zyFFm>+w)R!J*?Kp#!t0yd%oq2lYAmY{%0(HJKhdhxGe`ibJvCDWzV{( z*BK{$h!lNJb!l|p^4UChXQ!V`NA@Dz0 zxUEkS{|%ly--aRZTZX{z!gqdDNRI8_w=Dcbw2A(6#}c>UKLJ<4ueEU7&d*!8?cZF! zA#n9yYT>q=%Prit!y^`M^S?0!K9&D&%N_SD#>tOla+z11g_8*dzuv;hRDwTl$+!I* z<3A~*acz8_h1>IL9RmO25cso0;IA=0662C;mH0>H>-=Y8G+%O&=qUcL@At3%BEqj}Lm!WYsW=*|X?60{^%xRrOk{X&5X}<@aq|$@8F+e{2T`t`^xK9WZW+?|3wbJ*!N-wzlZrh>EI7C zZhjmb#+BSp-)ZqvoXB|hI{3G^{*Z$oLkk(@ImYQi@hq=?dClUdb@V;_qjK26>AsYT zd2SP~uK|tX9)!mc`}{F#8b&+#5ymGv_=_xOx`SWB{Bs=q*Nj)VILoPW@O++6t%EOS zyv@Pe8Qvy_(ta6tn+gm zd=iga<>1p9uW|5t#+w|xn(=lAr{`Z(E_HCxf4hT=J+E`{^H|QU4leVR?}f$A-OT@8 zhrgNYzjbi>BTXuAIQaQof7ikB=gPXoXv0U5ar+q0bMW6We!PR9$a1GS_<)wGRH=h6 zV*Ya-`~jAKp@T~vTSajPG~w zuQPtY!Cz(k83#Ad@sZCRyr21Bad3&B!wx=y?fkZb=QFM!idlY_b(+J^izFW8~ z{vPX-ba2@xN*w%T&M)&Ed@kb^4!)T2DhI!i@mdG3VI1EF>mvF$GrrNmH!!}7uY*h8?{n~nnEwY3-pBaM4*osHfA8QQV*G6fFJSyV2Oq)s za6X8O-OSH+@l3$MJ&vCO2k&P&NeBNW;|m=8KN(-{;O{cN!od$QUhCjzus-V@{4~Zp z99-i3G6$c={GW7iSzk9f_&Vml!@(bB{81>=8na5--b z=jW*6M>*G-*BXR*UgkB~;g|EqEC-kO)}8L)H?ThC4ld)K_%9fLlW~zhipPy+(_qHV zBwyl6o>vS1B9=3s`33)X#xHbmSugbtegTgw&%MR(Z!x~z(udCf?=ya#gAbsM$}J8q ze!RoM<(z+ygGYJ4dDy|_e&Hzxm-EN-4lZ#%z_{2)z9;;n!+#Es`#%;=_FvBP{hNi8 z9R~1^O3rX|6}w4%jyuwmSUxF}}y)m)AJnVe!+ra=sjJ_~rGDhaLW@EZ@AU zA-w;6f%P|k(I4VD%wJ9pK@t5=X8b}2uVnla4t^u!y$&vKwfwY$&*Xjaiw@qx_}vcv z2gVOL_(IOhFFE*T#((YL3C<($FiscpqkQj}OAqi+1Ru@wn&jYeE*ZPpm-TXsgUfok%fV&6 zeA~iFpZj^f-?eaiy?l>xvD@jKFMi_i%X;~>!|!q2|IOm3asR~Qp32{IiG1@`38l_r zTwX9SCgV>y_$;2+%MQMS@jp5Eqm2L6 z!Pn9RQSeJ=UBnLZJCwAa`w~p4leO}izT1p zWD5K7YYskOrlan4aM?E>ad6o;pLTHBH(zk@nLO@*gUi18I|rA2^KHfhJM(;f{vMOe zLi1{2`3VcBxcwvBbBu-CdEf*Gmpo8x;Uq`y2WD9~$r1aMJGkV5N(YxbP~+f|2ihH6 z^1vnwCw*3P9=_bdNgvrauVGy5Ch`4QhhOr*9S*;|OZE|qpT@nN$35)u|4RH42NQ~n zJC4`SaSlG0@fi-jn(>7WzL)V;4lZxcZF2Bg95(|3 zF%B;AnRIZ8&)E(x@p*=YlRmRKpU<~&J3h~0T;k*c)_bkPFY(#t@XITKw^{r&?&Uo0 zeGdP_?60RCJd4MD#lhv}#lLs(>zUu<-wBBR{fy^2xV*CX1PAY8xup(%JLB^me1P#v z#wD)ya9n-N!pRPM*$y=pPWFF_`P&^_;%bwHlbj#3oXaiTj;m`docMEi|J`Nb#Q&c> z?&lr6kMXZL_>+v^YvCmSEZO%hoaD=S>~RYx{vPIk(!z=VM=bwY3n%_>F#nG&ocQJb z{Z$Jm{#-sM{K~?K|2dX_*usf_CiDN zvx86K`fdkr=lYi&{7$a#ckshpf6~EE$j2m5o_Fwe#$R{vuQC3fgTKo7NWO|4-sIoG z6gc=P{JWMD9lV+GSq}aM#^*6E@i2$|b-sh2$@p3amvc*tgAZscD3x+>SzlK;xSRt& z<>2yM_eRFW4)VL~+a3PfSTiQl|+N~!f0PW+O`x-6XdPvCQ1kA)Mzw{F29RU|ix>UQ2zu z#ZPi}v77@A-op5^j+}k`1E1eG_`8gIyuM}JkMQr$#yj|RjF&k0i;SP;;CcGtu~O$d z_;SYAJNT81ryTro#&_m*-=rP~f1*xbj>=eisnnoF8^M{Br*y-=7P=oIlOqTZQr^pXah1 ziCd!uK8qU~*KJr|Q@3tiS7VPV?rLnUD^4|T#JeOe?&8-i&`TK7UYDSX>pR-o=+z(L z`%(Bs3HVEIdZ~xT&1)KXfNs2EBuz-hdlco|dj zKV6UpzRi=W{%t)UjRK5_>XoKyUdgN!9Xn{P^6g8Ib9Q2I8lR7;rV~DE`NyS_kEB8R z%k?Wm^uM3`7fDCHimq~{-wO^l{s8wcbo$Hu<+_IZJ8Z!ZU+?C9R@!MSyHMT5sQvC~ zhHIbG=v38HL-eniZu+m_{BLTRV^RJVTL=$b3)h)i;v{n=|Iw|L*j@GvVk4d0fWCJD zK$Jf^!bN|%o(7)5`hT%PcUM!)CHRznay`WT0|q9Z;{Gl!{RE!{0RNdkGZqlngWSJ@ zg4Qb87EL7m{>_=9<|w(wFdjA+9sl%*NBWEXCY$k@E4&n(ZRl(H`G&NBJ*`X_V*Em0 z|1u8wk7Cvx{~ch_W$$<3(u;pVk^CV5-!^Dp2}akeFur3V-F(OShD)Byk>1DSpF95l E0(x1zFaQ7m literal 0 HcmV?d00001 diff --git a/scenes/cylinders.rt b/scenes/cylinders.rt index 73273ab..214d801 100644 --- a/scenes/cylinders.rt +++ b/scenes/cylinders.rt @@ -1,10 +1,12 @@ C 0,0,0 0,0,-1 55 A 0.8 127,127,127 -L -10,1,-10 0.8 -pl 0,-3,0 0,1,0 255,20,100 +L 0,5,-1 0.8 +# pl 0,-3,0 0,1,0 255,20,100 # pl 0,0,1 -1,-0.1,0.1 0,255,0 # sp 1,0,0 0.8 0,255,0 -sp 3,2,-10 4 0,255,0 - cy 0,1,-10 0,1,0 0.8 2 10,0,255 + +sp 3,2,-10 1 0,255,0 + cy 3,-4,-15 1,-0.2,0 10 10 10,0,255 + # cy 0,0,-20 -0.2,0.3,1.0 2 1 10,100,100 diff --git a/srcs/cylinder.c b/srcs/cylinder.c index 819e49c..55e11f8 100644 --- a/srcs/cylinder.c +++ b/srcs/cylinder.c @@ -6,7 +6,7 @@ /* By: tvasilev +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/08/01 16:18:37 by tvasilev #+# #+# */ -/* Updated: 2023/09/04 18:18:39 by tvasilev ### ########.fr */ +/* Updated: 2023/09/04 19:48:42 by tvasilev ### ########.fr */ /* */ /* ************************************************************************** */ @@ -84,6 +84,55 @@ bool hit_plane_bot(t_shape *shape, t_ray r, t_hit_record *rec) return (false); } + + +//make so it only takes the first t +bool cap_inter(t_shape *shape, double t, t_ray ray, t_vector Ce, float *tt) +{ + t_vector V; + t_vector p; + + p = ray_at(ray, t); + V = vect_sub(p, Ce); + if (vect_mag(V) <= shape->cy.diameter/2) + { + *tt = t; + return (true); + } + return (false); +} + +bool hit_plane_top_inter(t_shape *shape, t_ray r, float *t) +{ + t_vector p0 = vect_sum(shape->cy.center, vect_mult(shape->rotation, shape->cy.height)); + t_vector n = vect_inverse(vect_norm(shape->rotation)); + t_vector l0 = r.origin; + t_vector l = vect_norm(r.direction); + float denom = vect_dot(n, l); + if (denom > 1e-6) + { + t_vector p0l0 = vect_sub(p0, l0); + return (cap_inter(shape, vect_dot(p0l0, n) / denom, r, p0, t)); + } + return (false); +} + + +bool hit_plane_bot_inter(t_shape *shape, t_ray r, float *t) +{ + t_vector p0 = shape->cy.center; + t_vector n = vect_norm(shape->rotation); + t_vector l0 = r.origin; + t_vector l = vect_norm(r.direction); + float denom = vect_dot(n, l); + if (denom > 1e-6) + { + t_vector p0l0 = vect_sub(p0, l0); + return (cap_inter(shape, vect_dot(p0l0, n) / denom, r, p0, t)); + } + return (false); +} + //! not really needed I think //* Edit * needed for the shadow casting //! Caps dont cast shadows @@ -94,14 +143,16 @@ int intersect_cylinder(t_scene *scene, t_ray r, float *t, int i) double c; double discriminant; double t1,t2, m1, m2; - t_hit_record *rec; + t_hit_record rec; t_vector olddir; t_vector X; *t = 0; + // rec = NULL; + rec.t = RAY_LEN; scene->shape[i].rotation = vect_norm(scene->shape[i].rotation); - if (hit_plane_top(scene->shape[i], r, rec) || hit_plane_bot(scene->shape[i], r, rec)) - return (true); + if (hit_plane_top_inter(&(scene->shape[i]), r, t) || hit_plane_bot_inter(&(scene->shape[i]), r, t)) + return (1); olddir = r.direction; r.direction = vect_cross(r.direction, scene->shape[i].rotation); X = vect_sub(r.origin, scene->shape[i].cy.center); From cba3e4d4f230032903da8b9535d0bca09bcc7919 Mon Sep 17 00:00:00 2001 From: Tsvetoslav Vasilev Date: Wed, 6 Sep 2023 12:23:29 +0200 Subject: [PATCH 67/67] useless one --- .sfdx/tools/246/apex.db | Bin 10153984 -> 10153984 bytes minirt | Bin 161336 -> 161264 bytes obj/cylinder.o | Bin 37048 -> 36776 bytes srcs/cylinder.c | 7 ++++--- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.sfdx/tools/246/apex.db b/.sfdx/tools/246/apex.db index e364c0f1d84ca6ae7bceb4396a68efa8ec3af735..e7751fdc0b72ef05812a1179b99a691f50885d5c 100644 GIT binary patch delta 637 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