From 40d9bca3fca7541c3d50a8fe281fd38c8d4ceacd Mon Sep 17 00:00:00 2001 From: Bex Date: Mon, 12 Jun 2023 12:45:15 +0000 Subject: [PATCH 1/7] First commit - adding Ubuntu dev container. --- .devcontainer/devcontainer.json | 26 ++++++++++++++++++++++++++ Dockerfile | 25 +++++++++++++++++++++++++ requirements.txt | 23 +++++++++++++++++++++++ 3 files changed, 74 insertions(+) create mode 100644 .devcontainer/devcontainer.json create mode 100644 Dockerfile create mode 100644 requirements.txt diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..8d96444 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,26 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/docker-existing-dockerfile +{ + "name": "Existing Dockerfile", + "build": { + // Sets the run context to one level up instead of the .devcontainer folder. + "context": "..", + // Update the 'dockerFile' property if you aren't using the standard 'Dockerfile' filename. + "dockerfile": "../Dockerfile" + } + + // Features to add to the dev container. More info: https://containers.dev/features. + // "features": {}, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Uncomment the next line to run commands after the container is created. + // "postCreateCommand": "cat /etc/os-release", + + // Configure tool-specific properties. + // "customizations": {}, + + // Uncomment to connect as an existing user other than the container default. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "devcontainer" +} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..04bf1d7 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,25 @@ +FROM ubuntu:20.04 + +# Install system dependencies +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + python3-dev \ + python3-pip \ + build-essential \ + git \ + && apt-get autoremove -y \ + && apt-get clean -y \ + && rm -rf /var/lib/apt/lists/* + +# Set the working directory +WORKDIR /app + +# Copy and install Python dependencies +COPY requirements.txt . +RUN pip3 install --no-cache-dir -r requirements.txt + +# Copy the application code +COPY . . + +# Set the command to run the application +CMD [ "python3", "app.py" ] \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..16de630 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,23 @@ +colorama==0.4.4 +cycler==0.11.0 +decorator==4.4.2 +imageio==2.15.0 +importlib-resources==5.4.0 +kiwisolver==1.3.1 +llvmlite==0.36.0 +matplotlib==3.3.4 +networkx==2.5.1 +numba==0.53.1 +numpy==1.19.5 +pathlib==1.0.1 +Pillow==8.4.0 +pyparsing==3.0.7 +python-dateutil==2.8.2 +PyWavelets==1.1.1 +scikit-image==0.17.2 +scipy==1.5.4 +simplejson==3.17.6 +six==1.16.0 +tifffile==2020.9.3 +tqdm==4.63.0 +zipp==3.6.0 \ No newline at end of file From 05461458e1951cfa465f7a3071cebcded4742f95 Mon Sep 17 00:00:00 2001 From: Bex Date: Fri, 28 Jul 2023 17:42:08 +0100 Subject: [PATCH 2/7] late commit --- Scripts/LegacyInFluence/InFluence.py | 219 ++++++++++++++++++ Scripts/LegacyInFluence/README.md | 11 + Scripts/LegacyInFluence/Usage_Guide.txt | 15 ++ .../common_functions.cpython-38.pyc | Bin 0 -> 5362 bytes .../__pycache__/params.cpython-38.pyc | Bin 0 -> 2205 bytes Scripts/LegacyInFluence/common_functions.py | 200 ++++++++++++++++ Scripts/LegacyInFluence/legacy.png | Bin 0 -> 95223 bytes Scripts/LegacyInFluence/params.py | 62 +++++ Scripts/LegacyInFluence/plot_trajectories.py | 214 +++++++++++++++++ 9 files changed, 721 insertions(+) create mode 100644 Scripts/LegacyInFluence/InFluence.py create mode 100644 Scripts/LegacyInFluence/README.md create mode 100644 Scripts/LegacyInFluence/Usage_Guide.txt create mode 100644 Scripts/LegacyInFluence/__pycache__/common_functions.cpython-38.pyc create mode 100644 Scripts/LegacyInFluence/__pycache__/params.cpython-38.pyc create mode 100644 Scripts/LegacyInFluence/common_functions.py create mode 100644 Scripts/LegacyInFluence/legacy.png create mode 100644 Scripts/LegacyInFluence/params.py create mode 100644 Scripts/LegacyInFluence/plot_trajectories.py diff --git a/Scripts/LegacyInFluence/InFluence.py b/Scripts/LegacyInFluence/InFluence.py new file mode 100644 index 0000000..3005eb0 --- /dev/null +++ b/Scripts/LegacyInFluence/InFluence.py @@ -0,0 +1,219 @@ +import time + +import numpy as np + +from params import * +from common_functions import * + +from tqdm import tqdm +import matplotlib.pyplot as plt +from numba_progress import ProgressBar + + +#Main function +#@jit(nopython = True, parallel =True) +def MCS_ChargeCounting(E_i, minimum_energy, t_counting, dE_threshold, N, Z, A, p, pixel_dimensions, pixel_information, perfect_image): + # counters + number_transmitted = 0 + number_backscattered = 0 + number_stopped = 0 + number_eh_pairs = 0 + new_image_MCS = np.zeros((perfect_image.shape[0], perfect_image.shape[1]), dtype=np.float64) + for pixel_counter in range(len(pixel_information)): + number_of_electrons = int(pixel_information[pixel_counter][0]) + i_coordinate = int(pixel_information[pixel_counter][1]) + j_coordinate = int(pixel_information[pixel_counter][2]) + for _ in range(1, number_of_electrons + 1): + eh_charge_counter = np.zeros((perfect_image.shape[0], perfect_image.shape[1]), dtype = np.float64) + # initial conditions + alpha = evaluate_alpha(E_i, Z) + cross = evaluate_cross_section(E_i, Z, alpha) + path_length = evaluate_path_length(A, N, p, cross) + RND_step = RND(a=0.000001, b=0.999999) + step = evaluate_step(path_length = path_length, RND=RND_step) + ip = initialise_postions(step=step, d = pixel_dimensions[0]) #d = probe diameter + cx = ip[0] + cy = ip[1] + cz = ip[2] + z0 = ip[3] + y0 = ip[4] + x0 = ip[5] + condition = True + E = E_i + while condition: #Monte Carlo Loop until backscatter, trasmission or stopping + RND_phi = RND(a=0, b=1) # generate random number for the phi angle + RND_step = RND(a = 0.000001, b = 0.999999) + RND_pho = RND(a = 0, b = 1) + + alpha = evaluate_alpha(E, Z) # calc screening constant, function of previous energy + cross = evaluate_cross_section(E, Z, alpha) # calc cross section + path_length = evaluate_path_length(A, N, p, cross) # calc mean free path length + step = evaluate_step(path_length=path_length, RND=RND_step) # calculate step of this iteration + dE = step * p * evaluate_energy_loss_rate(E, Z, A) + E = E + dE # calc new energy #separate out dE/dS + phi = evaluate_phi(RND=RND_phi, alpha=alpha) # calc scattering angle + psi = evaluate_pho(RND=RND_pho) # calc other scattering angle + ca = evaluate_direction_cosine_a(phi, psi, cx, cy, cz) # calc direction cosines + cb = evaluate_direction_cosine_b(phi, psi, cx, cy, cz) + cc = evaluate_direction_cosine_c(phi, psi, cz) + x0 = x0 + step * ca # find and reset to new positions + y0 = y0 + step * cb + z0 = z0 + step * cc + cx = ca # reset direction cosines + cy = cb + cz = cc + + if E <= minimum_energy: #if electron stops in the material + number_stopped = number_stopped + 1 + condition = False + if z0 < 10**-2: #if electron backscatters + number_backscattered = number_backscattered + 1 + condition = False #not sure how to deal with electron scattering outside of material + if z0 > pixel_dimensions[2]: # if electron penetrates material #change to have de/ds as the counting + # thin + number_transmitted = number_transmitted + 1 + condition = False + if -1*dE >= dE_threshold: #if electron deposits sufficient energyo + new_eh_pairs = math.floor(-1*dE/dE_threshold) + number_eh_pairs = int(number_eh_pairs + new_eh_pairs) +########################################################################################################################### + if (x0 <= 1*pixel_dimensions[0]) and (x0 >= -1*pixel_dimensions[0]) and (y0 <= 1*pixel_dimensions[ + 1])and (y0 >=-1*pixel_dimensions[1]): #electron stays within pixel region + + eh_charge_counter[i_coordinate, j_coordinate] = new_eh_pairs + eh_charge_counter[i_coordinate, j_coordinate] + + elif (x0 > 1*pixel_dimensions[0]) and (y0 > 1*pixel_dimensions[1]): #electron moves positively in x + # and y + translation_x = round_half_down(x = x0/(2*pixel_dimensions[0])) + translation_y = round_half_down(x =y0/(2*pixel_dimensions[1])) + if i_coordinate + translation_x <= perfect_image.shape[0] - 1 and j_coordinate + \ + translation_y <= perfect_image.shape[0] - 1: + eh_charge_counter[i_coordinate + translation_x, j_coordinate + translation_y] = new_eh_pairs + eh_charge_counter[i_coordinate +translation_x,j_coordinate +translation_y] + +########################################################################################################################### + + elif (x0 < -1*pixel_dimensions[0]) and (y0 < -1*pixel_dimensions[1]): #electron moves negatively in x + # and y + translation_x = round_half_down(x=x0 / (2 * pixel_dimensions[0])) + translation_y = round_half_down(x=y0 / (2 * pixel_dimensions[1])) + if i_coordinate - translation_x >= 0 and j_coordinate - translation_y >= 0: + eh_charge_counter[i_coordinate - translation_x, j_coordinate - translation_y] =new_eh_pairs + eh_charge_counter[i_coordinate -translation_x,j_coordinate -translation_y] + + + + elif x0 > (1*pixel_dimensions[0]) and y0 < (-1*pixel_dimensions[1]): # electron moves psoitively in + # x and negatively in y + translation_x = round_half_down(x=x0 / (2 * pixel_dimensions[0])) + translation_y = round_half_down(x=y0 / (2 * pixel_dimensions[1])) + if j_coordinate - translation_y >= 0 and i_coordinate + translation_x <= \ + perfect_image.shape[0] - 1: + eh_charge_counter[i_coordinate + translation_x, j_coordinate - translation_y] = new_eh_pairs + eh_charge_counter[i_coordinate +translation_x,j_coordinate -translation_y] + + elif x0 < (-1*pixel_dimensions[0]) and y0 > (1*pixel_dimensions[1]): # electron moves negatively in + # x and positively in y + translation_x = round_half_down(x=x0 / (2 * pixel_dimensions[0])) + translation_y = round_half_down(x=y0 / (2 * pixel_dimensions[1])) + if i_coordinate - translation_x >= 0 and j_coordinate + \ + translation_y <= perfect_image.shape[0] - 1: + eh_charge_counter[i_coordinate - translation_x, j_coordinate + translation_y] = new_eh_pairs + eh_charge_counter[i_coordinate -translation_x,j_coordinate +translation_y] +############################################################################################################# + elif x0 > (1*pixel_dimensions[0]): #electron moves in positive x direction + translation_x = round_half_down(x=x0 / (2 * pixel_dimensions[0])) + if i_coordinate + \ + translation_x <= perfect_image.shape[0] - 1: + + eh_charge_counter[i_coordinate + translation_x, j_coordinate] = new_eh_pairs + eh_charge_counter[i_coordinate +translation_x, j_coordinate] + + elif x0 < (-1*pixel_dimensions[0]): #electron moves in negative x direction + translation_x = round_half_down(x=x0 / (2 * pixel_dimensions[0])) + if i_coordinate - translation_x >= 0: + + eh_charge_counter[i_coordinate - translation_x, j_coordinate] = new_eh_pairs + eh_charge_counter[i_coordinate -translation_x,j_coordinate] + + elif y0 > (1*pixel_dimensions[1]): #electron moves in positive y direction + translation_y = round_half_down(x=y0 / (2 * pixel_dimensions[1])) + if j_coordinate + \ + translation_y <= perfect_image.shape[0] - 1: + + eh_charge_counter[i_coordinate, j_coordinate + translation_y] = new_eh_pairs + eh_charge_counter[i_coordinate,j_coordinate +translation_y] + + elif y0 < (-1*pixel_dimensions[0]): #electron moves in negative y direction + translation_y = round_half_down(x=y0 / (2 * pixel_dimensions[1])) + + if j_coordinate - translation_y >= 0: + + eh_charge_counter[i_coordinate, j_coordinate - translation_y] = new_eh_pairs + eh_charge_counter[i_coordinate,j_coordinate -translation_y] + + eh_charge_counter = (np.floor(dE_threshold*eh_charge_counter/t_counting)) + new_image_MCS += eh_charge_counter #+ new_image_MCS + return new_image_MCS + + +#image +if path_to_image.endswith('.dat'): #opens Dr Probe image + perfect_image = opendatfile(image = path_to_image) +elif path_to_image.endswith('.tif'): + from PIL import Image + perfect_image = Image.open(path_to_image) + perfect_image = np.array(perfect_image) +else: #opens most standard files + perfect_image = np.load(path_to_image)#io.imread(path_to_image)## +#perfect_image = np.ones((256,256)) +chosen_pixels = find_distribution(perfect_image, dose) + +print(chosen_pixels) +perfect_image = num_samples*distribute_electrons(perfect_image, chosen_pixels) +#output image +with open(path_to_unmodulated_image, 'wb') as f:############# + np.save(f, perfect_image/num_samples) + + +pixel_information = get_pixel_info(image = perfect_image) + + + +pixel_information, _ = make_2D_array(pixel_information) + +print('\nInFluence is running...') + + + +start = time.time() +modulated_image = np.uint32(MCS_ChargeCounting(E_i, minimum_energy, t_counting, dE_threshold, N, Z, A, p, pixel_dimensions,pixel_information, perfect_image)) +print('\nInFluence has generated the modulated image, saved to: ', path_to_modulated_image, '\n\nRun time: ', time.time() - start) + +#output image +with open(path_to_modulated_image, 'wb') as f: + np.save(f, modulated_image/num_samples) + + +plt.imshow(modulated_image/num_samples) # 'gray' colormap for grayscale images, omit for RGB +plt.axis('off') # Turn off axes and ticks for better visualization (optional) +plt.show() + + +output_file = 'legacy.png' +plt.savefig(output_file) + + +non_zero_values = perfect_image [perfect_image != 0] + +# Print the non-zero values +print(non_zero_values) + +# Add code to perform other tasks as needed (e.g., plot trajectories, save modulated image) + + +print(E_i, minimum_energy, t_counting, dE_threshold, N, Z, A, p, pixel_dimensions) + + + + +print(f"E_i: {E_i}") +print(f"dE_threshold: {dE_threshold}") +print(f"MinimumEnergy: {minimum_energy}") +print(f"ProtonNum: {Z}") +print(f"AtomicMass: {A}") +print(f"Density: {p}") +print(f"t_counting: {t_counting}") +print(f"N: {N}") \ No newline at end of file diff --git a/Scripts/LegacyInFluence/README.md b/Scripts/LegacyInFluence/README.md new file mode 100644 index 0000000..30a2b74 --- /dev/null +++ b/Scripts/LegacyInFluence/README.md @@ -0,0 +1,11 @@ +# InFluence + +InFluence converts unmodulated simulated TEM images to modulated images with a user defined flux. + +The Stobbs factor is the discrepancy between simulated images and experimental images. Its origin is instrument related, and can therefore be rectified by including the effect of the imaging system on the observed image intensities. Electrons scatter in the sensor layer of direct detectors; the lateral spread of the electrons can be far greater than the pixel size, resulting in the detection of electrons in pixels neighbouring the pixel of incidence. InFluence simulates modulation of the expected intensities due to the lateral spread of electrons by employing a Monte Carlo single scattering model to calculate the trajectories of the electrons in the sensor. + +InFluence has been designed around the Medipix3 detector operating in single pixel mode, but we expect that it can be applied to other detectors that have a similar design (single sensor layer sitting on pixel readout circuitry). + +Usage of the scripts is given in the Usage_Guide.txt document. Example unmodulated images can be found in the ExampleData folder. The slanted edge is oriented at approximately 0.1 rad to the x-axis. + +Note that these scripts will be refactored in the future to be more modular for easy integration with other simulation packages, so usage will change. diff --git a/Scripts/LegacyInFluence/Usage_Guide.txt b/Scripts/LegacyInFluence/Usage_Guide.txt new file mode 100644 index 0000000..3d596ff --- /dev/null +++ b/Scripts/LegacyInFluence/Usage_Guide.txt @@ -0,0 +1,15 @@ +The usage of InFluence is as follows: + +Installation: + +1. Download the params.py, common_functions.py, InFluence.py and plot_trajectories.py and requirements.txt files +2. Set up a virtual environment using the requirements.txt file. + +Running the scripts: +The only file that ever needs to heavily modified is the params.py file. Minor changes can be made to the other scripts, but are largely unnecessary. +1. Edit the params.py file to suit your experiment (i.e. change beam energies, counting threshold, material properties). Add the path to the unmodulated image that you wish to modulate. +2. Modulate the image by running InFluence.py. Parallel mode can be enabled by setting parallel = True in the jit decorator. Set parallel = False to disable parallel mode. +3. Run plot_trajectories.py to visualise the trajectories of the electrons and to generate a distribution of their final positions. Changes to the aesthetics of the plot can be made if desired. +Note that InFluence.py and plot_trajectories.py both use the same params.py file, so caution should be taken when using the plot_trajectories.py as Matplotlib can only handle a few thousand trajectories. +Of course, this can be avoided if you make a separate params.py file for each script, but the imports at the top of each script must be adjusted if this is done. + diff --git a/Scripts/LegacyInFluence/__pycache__/common_functions.cpython-38.pyc b/Scripts/LegacyInFluence/__pycache__/common_functions.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ea4b3302d85dca47df2d0aa52def6c5512e1827a GIT binary patch literal 5362 zcmb_gU2Ggz6`nhPJKnY3#NIlwou=Er&@HW#xK&kziQ5uN3$4{Qttg|G)p+mhdYsvr z^__8Io7tx(4ZMJ-&x zecd%s>!I1PT&rWdcBkZ)1kEu*r!(bFaoY^bor+sQ+miM*&7GDd>7bsGQ?iVDR#xOR z>bvBOoJD<1-X)KrJ}w`V$K~8L;m*l6J$c^nF&F!x8qPCx#&0Xo$MQ*+rBq?e=h?|0D_Ae8)h5OUElP{r2wQZ5XY*N3W z_e83v#!WL5+mC#-*&^9u0)6UR8q`BI5DHGBlgWWJj`bN>uNX*hk zUTTH0mp;CFByvlp`(0m=K(}-%s8!cNLZK~i^eJ?iF8OU0d55c;_hMEI-Y zrCYg~?5LDxdtE;-DZgl#Dh|WCnOi}}Yx{0VdMQ2VR=D5bNq0I}=txt5lJ<{h&R&hx z<)rI1{p9Qm(R1OhA2t26mzpZ*rpehC{kGTKzcb#9JDoUcw05Ir8pKhu(%sK1ao3Of z3ldP1ITV_(g?`)Ct700zWB92>jE-$Y2?JBOc_Us%qpkI@5!>3EdQa~esmS!V#YOF{ zCweB@2Di`jtW3+y%xdY2TF=I26x(IfSlc)hheBvO_wOu_>5s%l-BR;-vmzhKZLdqB zs#)q-o>Ja^y`&bXSMCOTe%J`2R-D6_R};V}4wGC2x!BI_X1p7v37f1aPSQiOZ9i?? zd5{d6(7QEZiZUxcEtZ6O03&0HI~cHWv*Ioqq&RN9ue>p$@RL0Y%A2hG!%$eutjuQR zfxMeK_1Zcqo$2V6Sp73QOBsyU(l2Rh39qjkY=qom2T{v3<;CDSN0pl25NnbW6r zbsqgOixF~$7JC()RJ%!Tqf4;}o1unlw15fViQH!eoMrHT2K}RJJrhm@dlgP3^%KBO z(Oc7YPG>+(-PmA;QWd-&=qViLz*lj?NUGa~@-whS;zxxKByKfndZ8~H;I|e`)+orR zGHRI`URZ!>0!P&$`uv6;;%NnXS;OpvgP*=695E-B4D|%Y#=ME_K~%!tw24LvD}bp5 zp@&%g8u}M8LKeZ80qzEmqs0heOA(sD^sv?`CKwBrgncCDW@ulBFTplz7-O%hn+L1U zfdhjyj%sOKgAdeJFV>h*YQ)+#uNK0aYH^F}q+G)_CN=p0MWRc%lPZcfqSh8QKS?8w^qW9tn7HN6ZkPt$F!0r+QSVY8+-iJgd95M!y97Zx{a$(<%$r4jKKFIjC_(hQ;~nQ2=qn7o7fXe`I|xXCT126B^HFO z9lLGnio_jLW&llAhWMx;m`ofF1B$LzXwA}Y6trU1Ins0Ce8~@X|oWeVFSqA0u%tIk7{6A(^wUfA6t?7+hv~c_R_YbPy|Lou1ZU6Y$ zum0v2-+O&+FtXnM=h0t&{nF;mbw%J-7ijhypZL*xSAO=+I`gt3soP)1)5b`YO=F0vzc@{4!t}kZ5J(?F`6CIcA1(B&pxMHX;Cd&zJzD z{ZN2M(4laXVQCK)c*VXi<0d96+#I%FJ(LlDegzW?ZW1-28t9Eh8aiN*|FM-Ql1nbC?lbCyO5orvWoRGwNV^g>WcULu}wVbx_7;MI4HpV#N>yOj2Irj3-M(p&Vq4Wp)?%sk70({=q9hIeq*H(> zpNAplv42$3aipl>@fJMZf~WKO9(9Qla?}ogq_N@g4j*1HtBu1i%w%u$W8$@Sj*tb* zJ`aHknzIUSqhQHga3}Z0dC(-v&xOqOgLApQhkO5=J97oj9IJjrQd{(7Kn25T!Y}57 zC`bbjNweSR#tDBVc^8xW{^02JE#x%0K7MK+|A1}z8&Hjzsz|J?Xt&edXVF}0Z+eO- zoIhhI0+(Ci(G@zqN<|*zmXgbS;8Hftq^~Xf<$+JMe2V0wlcKbn6If3C3S&@W#PMBG zj8zopIF2Y{c4jE{T*f)?JPSSo9X0}g6LHq?1z`9qND%s3Ti)|o~< VTei?L9owPHLOq4?ic@y%e*@pqa?}6- literal 0 HcmV?d00001 diff --git a/Scripts/LegacyInFluence/__pycache__/params.cpython-38.pyc b/Scripts/LegacyInFluence/__pycache__/params.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8230dfb9a143a1080425959b8739158d4581a3b2 GIT binary patch literal 2205 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 _{L+a|u$k|4A4G9W+lN2{@uQ62|t; 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⪙U6O4p1eP`X(T%_PMHe!q?x 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
2bGpHH$UtiQY@7#6|G18S(l9lAXdb|CR0A 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 z z4!=Hr-kG7RoW*$GLU|@Q-M2_A&+@yX%wM;uTNYgc*Pr{UqL#-v4$=x>fEj*jLB;h;d_Z1 zz>4&#Dw${Cq{1T5RuA}yb1D`EdXoIqr#0$6b!+2#%|EyhHvLfL=znb1Z{_GT*&I>z zCT04siN}EcRG1!mA1kS>@@o-^D;pT9B*(9TxJi{|sbo{uiBWyDOEv|WbaM=@!7Ld} z`%%-unA=*(!lrl5;`pc&^Sgn9E|0RcawDx-+4^i{JU=lkYk@HW)2_nWxqSlGxlOVm zJ8Mj6o$}}A&^oXW8>I@(rCkgencYX+F%<^0LyzJ)6H&z5_WGat8nVprKW8Nm=bei% z6N+wcsjV2g&ADo`P^Jq1{>8eLv*Ixwgij0MYcWi>6!XpIEK>~Uc2-QHMFaot@|nS@ z2|9Ehy1R|`v^D~%Lk0QZM6==jFC#)}%&~m|3}Scn!^gOYalCnbz3|NUQut`6x4sMr zHVC}jp$lEFbl4wYK?#4TK6{50zwfodecuaYTBMqYbs#9G73O=9yveX5B`Jm^JQ;~7 zH=x|?>+Qi*y{mKX@=h75yG4sv=nWN#1$s|{6?j9sr=RR?pcyV(QVbD(ppc={oUlRrz5_K0v^TQgZJtY(_C&`FqvudhR29 zugM1u>TuarQ%&ubO|c=A1zOJEOABt}*5Yy+EYh7pGI}d8p&xHHo7Q9^W1L4VEuzlY zBVg9C2@xy!pw1>G4$1w25})340;R_zvvQZLi;(?qCsyEZEZX4>ta=QRD;H@R6+`yw zrNJ(@JDe1E72*vjt*+~Lb%EIUOkQ379%TEA4Lb8o(?9X!OdgzXL(X&wfWB#O)j_2S zvlu^3`b0BNP|$1m1Hi=+DDQ4unvt9FBs06hBLkX+m10*;L`ahqL?R&{$F+xuPwPOO zl3dC^R8ruhtu^}o!omxw$O_qS)6~OjJk{8+QI!YERG?O-nVh?MNW>t{Od(0rR#WSK zzYR76n%79(!SI^_KsPCaz;U)SYJXM(zIG**)m)r6f<755Id!bSmk*FiTKKeB*~ASG za0}SC4-hO`V7(S(GHrPWjka$TO_et_fpTtd4qRg=``h324<4`qgENg~5cFU}wcWW3U?#qr0>cje9 zFJXfF_}pytjQ1#$7v^lqFhfBgK~1r#ajcu7CaU&yBNq{xYp+^Ymv6$HyqYx4u81ouqHnb0IoWH zT-pyNB8@}Rf*8`Yfq`NE6u~qhea>spfl_C~bozF0xaXbsu`SA0H4@V{ZC7Jk7pmn6 zTmw`5l_%u5b1HO(X9k>zqTIM`47p&|+Sij8F6Kac-dZp5?v{sVlwO-;4|GRK^e%r9 z@m~UK+sFga$!hBchVAHHOUKM*D|ol9Ky+o@5KF%4!dz@`OiSuUKGXCoSzxC_`tCYe zcG3#=ADU~!LB^&n_=T130{K#yF;k<0ep`X~Ua_~2IC+=mFX3|#zf?l9iroBA+m<3P zukKT0?-~;U9*j?8A%QQ#jUC4ZF>4^2JVd3^{Z1Y#G=CIf!{LqiY$*m&!b~*Nwov6ZPa&yF@7rPYS+|pDu>8&~ zyO9E~-er=}y>xj>IrmSzMr4?yxi4~KJw%6utOP5b)Kj+e@iCEU&3UcL_ca*a>>XY9 zEU1NjSDng_dfk*Ue;(5xGN+&RY_rr83JS#T;g;R^8f`qhep6MmwH_hub9Nn^J&#<8 zAurg#Ryww1F3jV`$k(zHMC>hcI*?s@!h;>ZY~4Kc=%lzdDMU+H`{b7c?J?cikdFnETvl*9w!EbccdqfTbx}JsBUe|>9G+e=GS$Me zMC3H3=Z^rLBAe1k;+TWNBfHHp13oguhSwW9U9Qe`?2IN%5$VLc@<8~&MU@d^tcOK- z6aNRgXAO<7fXb7VW}rqrFA|1a9eGwEJ4h*Jq&ZgJwo>$c*MOM5U^|69fo0~1|A4GP!D5wm1cr<~KU*lF}x0lgp9vPzP{w^hesytsHIZ+N| zzx^PvNu%QPs%A@Us55(|J#a&!$PI+}4_uj9-1l>@S^b+!m*f;kryB7H1^;O;KdG$i zI<``}yKLup3-GAi{b6xmcjhg!9$M%4{8EsWA6gzh?EElvvC^MA-2EZvzJ>9v@vIKx z;{Oz%79f%1mVx~%xKxv~Ny`t9LIrV%s!bn3sQl@xQC=``N}~XA-6sfrlEXN(R5ozU zGJKWZkRvz873?@)%AB_XIen@$%q=yYrPh}IE}}H>63U=eE*bEe8bz!x<$&P4Z|C1X z+I-*lfg3hmpgp&T1~;IxD-0Qw`&@jcAzm90y-=O6*(O-Lr^RaWeZ5NmggEhAjq&wL z7i)$o#P^7ikS>M2jsetX`f?iRCS0dfDr<}TBqA7LYoIRX3#dI2w~+YfZ?umA8t0RA z2}DHQ2ybqfQg_8v*eC7 zfw=h#MvJi@-_v7xP?i*~aXg4?!@K55Ua4qvR1rw1EvyLo9?!H5n08+5Yxn0YEd_JqgMn0v^UE()RqfrB3H^bVM#WFqDzUet zN7!c+5yVhx_E>SmL@r9-EkmNh1O2hl#EGL@3Xi5k4mEB>iWtu!^|iu{XV!rSz05FL zT=S~gGUcmR&!{jwZ-+6Tg-zDlI&z=;m}jDEg;5htcajr;qoRvHcllv^lKFc09dK^f zt~<*0ad(+|tN^$jw@yM93LmLK5)edUm8WR+>jT`?wP#`D99Dyv?K~h{0jr z_iq841j>{^C+Tz}+j=lT0lkv^F>PwD*Z8v^`{D4@IBo%J z#(?`ZnWfCy9bj0PcLjF}F{1exPkZ&RjuICG=Mhaaa>#IFFs2&Ldl}E#QaWNvb5|{HkXPVYo+3WGn^U*rsUf$gqg2GV6{GsY| zt8Mm1>eP{rW_>|yUNnylU3-yQ6a0?8YGZ>vfAkES*R*Fx9FeEQPNgJsh?38cBXWEi zi73d5ix4AQX#a6YRq!Qq4cpBLQ7{9xg0JZF-161%kFT%mh&0aLNI~T%-fZ``t(-_l zqXu8TG0Hyv?RSOodK1(g7MvFONvX>UY~*%@ZF891_wif6bhQ(ugCpnbHuEW#s<~r|nzvb*3Ho-l!{%NPy`S7K`Z@_~(uwxhjX{twUu2;xXABS}7 z65Ly>Azt1hi0}0{^|<)C^-x*=G*dm)rk0O|dZcA`>+Y?ZTX#GhVTiew5;_nv05>Z4 z0Xc^aDC(_ZP5gusoo+(x|Ib9bbTYkSggI*1JSk$ENP0I}qc12ZBx5a$f?VJpAr%vg zq7X?#u;p}T=ewXI)RVny{KwJ%#%~AFjLJiUZ*mnq0%0kdg4Ypc&GbZ#sv@j29Ev?T z0wku1i5?bd*XPo}!;+xB>k+4HFEk)V<1x%WkIPUGu;aaKjaWS*VuDu~)08DyN2T!l zmR}ht5>k}Hk>-xlR(l+Inf<@NTbu|NpN|&C_A^eUDNU6A9e6+JR*uKYg3wTRf`}NO zrz2LoWV_ad6j9rP^?b;(4+#USkchvStGcia)7Ks~Z(|j^l{9U(FuIc|>3&eG#vlCg zS8eV@c|&~O4u%*nNg-_I7n$8GgW^`BYK-}5Hg1Wl38-5i&MNTC2rc(YqL4z&JM2Rf zWQ$f_0AlCXvEFX%30cj_%2SjW8^zvupH%p!$*ezaM6+#eBzJf|VblVc6#<&$8L6ST za=O$BIh?r?gTmQF^FdD@3lw5sRM4a|U+Cq{yuY&QddB!&_s3hk-rXuK`>00Yl3f@x z90Tn(6K-_dn=dtiH8mYvAujii{{d@o2`gzXhK#Xm` z6Y6__h5Ozc$aFT6y-E-Ti&oP-+7Vt38f3`BsFyD|sv-?E+}?aEAaW58H>*Cn4@QU4o_r62_N4v@W)nF3{Eqjd!Qcf z(ooT7dZWjN6}TEh>=P7-Yn^|Dd|h^SGAYpsgDwmdZ6E@Tq9W^#--6M*7k9Ss?#9x(}B615d=3 z??4M3^6-}HW%5awQ^F@}2Ue1jNK3+*4X*6BLI1pQM%)?a)}ujb6ij>njNLr0Y_Z~^ zJ4`4L*80SEoafEW05sxH>jcU`=tYClVykE}vzy=h#@InE=9$-xyC@ZhHzT%trNjU9 z!!wVcty8(e;$xSV9~1KBSS4K83{V1>)u5cR<%QnARqX1az=gYkWj;2J1!{iykbG=U^H zaqzXk6hB%L|1!!UPeL)O-!{My3<+-FN!PEkM&YYJAk5w!q=OPQaR~<_aA`!?HWyYf zVi$-3_w8L5zb%5jKa!n2<8|lcb1_!of1g^G?HwKOMoF#!|0j#$7VsMZyi;-U#a7wt z7{2Q_yLWSA`Oac_7@Ao++in)bjPOf*R^@Vc0yjyQ+TUPR#+H>!{BD!E51WljfL_!m zsA46sti}FXGC&ipk}#d>J1PzC;jhhAjtC#V|C<;t?_O@l+|S zi@Cjp6XAEFeFW#{0{yM7ej(DvZ*(8u4)@~Vt2wpAOr{W-V*F=hnB(bDkLx|iOBhnP z-^J3X)A=R;LI$1kvXZY!EMd1&-quzL4dDI(41v{hW$(Vc_4Maa9(m69r1fv9N6L8= zd+%}(gfS67ziR-dnvsp9ii182_+`vq?UE^1)^kDHYp{R_hQ%k~$XQisuLc=p-wL`S zTP=kt|bx0T85~k74^HjJnO=M zIYv{oB45aBDip30#4tND`AxMfgZq-}z^Ty#R)R-OhRCTldC*wvsneKQTfjqF-pB+6i};U!*o>VPh97B;)HDT~X%fcvSCM4;0+K zg9snky*qA15hYEQnfsNbh|Kq1T&ET&<1n^SyzM^_a097^2-n)?jU7ZjDDWr$}N9P0T(Q|p1(N|@JZKceHMSY0d4-d%}tP|k+k32!Z0{MvRjzfeERypY% z%(?)Oumb*Q(A(i;Fj3{TcXg7Upm8KW16VVZWOSW%{6(1n$Fc~rvoT@~Ur~N%Vdq%D zoQM;zAZpfd#4YOoBkC>Vs@mG9?@dcdNlAA~OE*Y|g3{fMbhngrNk~ddw=_t1N|#cb z?yhHYpZ9&9ujh-uvsio0YmV_B<4PMLd1m{)@WJpDhWc&OjI=q3qR#IHz|U$I5+62U zjk;K<4)+7*eL`5UOk8kA(NfK7=wSNy{-PMuS31Z!4Zw%fFp0o)xi8>OuWtvO{heEM z!O?SWJxmBNY(zWXdReC!xt)^;@@lqEOQ$q2v1Kv@~6fvC#;=>W;CzkptM!IiB-$>L8HZjbG>Y8VCxnLd4}Pi zvP2IK#a=~Jf-)XX-0%e!+!M~bsoTz4?eTo}l#(;^tDg)}y+_L-7oIet*Rh;aAB}3g z2uT)y*;UHa7WS9jKwU#^&65o_cgv6dzWLhIaplsg+uwaB~ zrS-;VI!pmYnc80kCXyYh6&1*xOL1!au^Pot>booI)(~CWaFm{AXnN)k<1i`uDg1c$ ziMrRNb$AvLtNCaZ9kgy+dNdLXIPY8#7&2Ljv_0Ym;aX0(eyF!AGl?V{S5^^Y&cg zNy6XpZ$qa?>!VE#e_-D>*deuT`^(CTr6=cmg_yI6V)Hrr;uT)uXRm)~c-yHd-=r06 zsm)S67*RkE#gH5}saz=;vYRKr5yT}W{@a~3@RGp6m53|W{}Y97!X;12v{4M9X7M{$}Fl+Z)$A=3f) zahv!vQLhEu=2^q1r zw{qIuH&!404ZxR3lGHmPw~j3u`dv4rKqPlW+t%u&vH}$^2BEJDLDG}UpaOcHd8;KY zxDDIep|$ECIj3g#4YxK?yKTdZFOWT~btU-175(3&U`ip0*}3_cmpS*CsQ1~ILowa$ z00+d(q2K!?v843o+cUHz|C+;dFwZgZdp%nGQxh>=3*I#>Oh?qQ!5uJw3=rW}?+6Yu zbWt8tSzTb{pV08%)Car+VSj=k@OhTZvPavJ-sMd>KZcsBsLYi2<^OB@Bw+ff%zKl7 zZauGJI8OiPmErh$iuYoSq+uy{_a7Pqr$Px6qsYFm6qK$X; zPw%pbeTkwK083C|WUaa%G-vlDU#HMFz4mgn`d!2M_ghS)>5YA5FL|{GJg3=SS&vby z6K75}0|c;QIae4(0d3lP!KlYQeBhNI82Hkmfj5`Wr@a?#SE}dtX*;Jo#>$}3SDu0I z1ByjTR&bkM~Wp(w!pF{raG;$u`X;yg1*#lpHYXWO-eRj=h%HV9OEt7xMdl+l6 z;qD%A&uk3Er86{R*o^;{Ez(KuVW#2So%cs23}hzgWo^^pl#~~OCz679Lu3l!%HXX) zWtPaptJ@MfvA{tSLL*Cd%kf?duUWIaheke@6Ef^MVZ4k>X3%D)VB#{a^k@;Gcl;kYoefj3ZiK+gLp1f{TZFnpCjy#Cle{!wi;E|TaJI$|2 z>%gQ-y!-3O0&S8SB}ZZplOrG0+?R;W$yotS6KRQ7-+g}!T=P52q}P?c^%n2vCEaDK zDC_&bqaFxxzlEmct)76Ir3Jx*+3MS5x5$FXrLOJE7OSgYWn?Q~4i8Z|%qp382{9Xq zlj3ZlYDD{MDLQhQt?>1(5_NOe2PM?n#y7|WMlIuu{VNtJ?NSL|%QnA>Gb{Y8-t!;> z;%;i3_!TodY$n=KAx<(rOtZ)b6V5faaxpUECMT=HR8z^pfs^)fLa3JapIl!l72>>1fZ155$66@ z^_^RxKI{8>U9Ifusu3OYIQos>>8#l<#N1%2@(E&`l7M6!khwhiS`6vZB%D(opr`j8 zTx7qU9%We;5Wlq~VR!J?o4#E}(xB$AT-kVLs^vR?-nmR;08WkCh3*1pPmf>z>GYk` zR%~Ui_AzSBk?Y?yoBa-9oBg_y*s(0FZf6#o*Fg9&$;w!K71yk68 zGJJhkDfylSsj}vzO2a}kt#94p@fh)6Ngo@NwUDfM!1`Gt);n%EU4a7~sz|X&d>#=3MJ^7 z#5<*8%^z9J3$w26)Y-%BRbyqb|22-0Elg%(i)Z>W|x z4Oqy{3;m^VfLdOQSTY@Wl>$@FuK7B&u1*m?d4~hM5+JB45cxloZ-NBUWP)ZNL$uFx zXOvT6;Uwa&xaI|gbVnoJ&!0er=> z?(PcO(KVWp>F;^cbYu>~M$KotKZlI5u&B>l;Ei2C>Bk0T4QBOHxTVO80m?cx<(9F>D98!A;YsVo=?} zgDL+gXT3Nn2xmBo&vU&mi&I;&?9#0eBt;rC>z8-)*M5_L4T93cgA4NX_B-q&E5>y@<40K=!X>*1}g$f1HvtPZxsy1O#hqQ!qymSGKyD&1XF4 zeSKooncqOF=;u1wr&j`q&iVFmnvo6{OsWXx>f{Y7W+00>>&%rJXhtniI?H)L%_E(B zmp&W{>Nk_Az0r=1h{rLdY=1{hqTK)bD$2>CmvQNh2Z->Tfvx5yrq0QvHm1;b&Fk0(_@KtCe4KWF6+Ip% z$uII|E9G5oN8&Q4`h|$bv_lVWzw7J%o>Q8zP5FRzQ}OJKC^2>AKp(aGyG{?o*CWxT zQi~|xq`SZ}D6-Gs=IhQ6;#VYVEroCKZyL>D+s&&|1k6_^zb`C?UU&wl)2s0SH?NdU zN=5P#Zb1WYzU89wC+cuGW+h6lullQIRxan^TxUh7>f(x{5yCIIljR8 z9%TzHWS!8;gpesV%@*?WBfgCG-W%ci&W4dGmNCtb8_GG8xn7CIPoqnti&%MEb&~C`WrXV-lr}?TE5# z2`sa@h7|!SoA!$j!3y!{er|DivjHCxT(gzig)_aI2eWr9aLt}k3L z9FG~`_^aW3`T2fO*EUaa*uBnslPe(eu*t;6Fs_v;x-q1_`ZYw$!fZ*eqD`e-*Y4nt z^qkMA1~Z~CHU^s6wt#0@Bk+SHNKR3cH?(F4S!5Au~Ny%DU>sW6cp&gE zj91Zu^*anzihhLLiI;2~sfi{R(@2q==}I`-bB!<&MsfYr=|RX!9Ix^P0S$0d-@9%Q z%xV84v^(89QFfbHN$tndQc>M)K0cHLj1x>7#L z@E8%>KVwr%I}{93K5{RKvGn3b;9Ec2^8TCBxPtdKALfB*(OssrZigZ-?r~#RX^!w! zPdIT@MZ-s9=A=gZz7D!w>p!ZVupmDf^Fxn}!ScE=&w@*!;a?$5&9Dm-7v_R9UBEm4 z`(f=$!IfPuYDb=ON7!89MfNLSmh{Fw1Zx-c(@okhq3_u+S>mNJf4k{wlvs1MSJoV6 z3Hq}m)_pexr{l#nUw4+@7NWM%4K{mUK13d#umfW7??W~(qLWSz_Ag#PS}l*kD`v_d zO(_caDBbz)!UtKku;v0nUn* zc!8jYnz}l4RS|TXspX21^H0k9qCDS)Q!!n1kVm8%v0v$Q&Xmma zEQNq$PcsSM9uUxmT5mvQwUrCpE?9GUsA0K;Zk0ja!?N1>}KH70Ym=pE{B>TN&QRP51(> z;G0eozsgYppsFLCYYOa{01yJ0I@}+X{0JlKIg=wtV_MD5Pnp5$DcHeOE>kzP8CbEf zay0=TLzVc*UczB%-Lm++umgqlj+XPeIRr zOE$kR5%u4-j)9nd`MvQW{b1LVgjv!xL>Ae{bC-#8&~d;m{RfxQrnxMKyn>u(YNH44 zF5S^h->3f2Z^K9k7cwEq>lsyH;n-4-_gLqL!gYGgZ+@A&&sa^#&+dJyjKlIItc!UE zaL`vM)PASGY1w<$$Nw-&7SsqY*Kw0iPq3T*5IU}UxFarESZLG8wn5|DDz$fpow(}K zN6YZ3YAR!;r@0PF_Q#BE_m;W*dU757jNt$0cQ{D?2rDPOWET4B{CfWY@8YU^9aA24 ztx;#q$uXL%63D?1|KtI83v@@YK@)7w3y5IHOv0OfD9IQrkb*fxX0d0@;4}HaES{%Q zxy3)p)Ka3}3-diQ8)?lQ#@m?-v-b6nqYL`-5j76LmIhzT5VG0e?{Fau7Xy+39n4AW z@9qpw2;8+@0y&N8E#iOwIp_HHZgWJP2(oSBX|K6KeR6DR(bde^?!Vk&H=K$=X>FVU zJH}G<09QTgL=YDJx0QCn;4*?0V4udZ*Bens6iiS1Q{y3ibSZ0%#0zAT9%kY2*ZnUL z#4fv*y-%}q6?r~Ujx7s+!O4^neT6D2kn(VV@B#3uZqy1b>);iREn6AnFU1g?u}n6@ zoacQpTy}Gw6Jy9?_WKUTwDHwS7Ic8EO6Jx6EsX}54ywhNgL1pI1{r;`1EIGG{4Y>$ za@ZPB*B_JPVT?#iY1pcZ^gZ=CDG?LhiNS>F_n7+hEA36?!~`lr05GtRmV#3=)xLro zq?HqqjS;b6GOz^FnCJEzYgbx;#oy8A2%294f*HV+32mFQa2bSZ0ed-I)10&Dar9F| zMWXqn0cV2HTXBhrx|#0%+LD|3s}v!apXsS>pD}wAWY;3HjU%r3-DKVig0=~=QB?A* z^Y&P@lf&nBAO}P67>ho&zY3s_3R-R!6X`ZGQAX^b2Md}*i~lSkg#c+1?aSoH-iW>r zcSx(b*c|2?%DaY@sjOL|!ao!uClCu*dN0yBE=Qu{@xv59B%qtr^l-oS1yrjzHq*$b?x<(hXtgNbqFhQsZ z;srh^!q{ENWKQllT%7$v!seDB4ghK`c^qK@L4XmkR|vILNHJ63sZXvoHtuV{cn)nW3pF+HexdVHD43Ak9m{Hb zgK72TzvU*{%O4^6>~eW)+O^gJ{7@8ZB^-k>j@?v|4kJu_`)Z!~nPj(^u#=LgL->x`)3F2$jHfhM4}q+F3%2g&019N2Fx1>a-1IU<&^R@{n&n0m^UfD- zt9IgKP&b9jPZQ$~d}}kw&Mp>QBtSce)^g=0YuaBPPL?9U4a1{q8Tgq6{v_6<-9#Ux zI(49Zf6315vI+70weK&!^b7Xlcqeu7v)%r(sc>itd0`=h0et0=%7mFKu}lXhZi1b&iTH% zdAcG+;kw%R85J}QyPkNHY?$z3x))EeDhf0t6t>(y7`qo1Vit7JChwHx+S0$XAZ40 zB;9GuULT=^r?Xb9IX%F;Q8v}1x5K2{Z561;*Baj*S6q&uA?i-5kyszX3#UXW_Ttk) zb`s1?cg{GvMj8|twF@SG>aXdR$7h*@VdK;3Rb8m?F6NC-Pk)VV&-txA-Vr1KPqmvy z4B-#~xUtV6UNBRw3KO#~xuRD2omCO_L+6nzCxvEJ zl#gC_k82gNePG)}e;0SgxACzOZi6BfxPcj>SZ$kZ`@K%s7s|mA6j2_DKg% ziUIhN&{PMgH=eXe`ri3~>($&U@xj~roL4J2`I8IG}kL#9-L^uF8NF@|K&cI?n z{lhtq@*E?D8 zm^VSK$d!e%XHsNks|Shd4@*o}u+|ZGrK^!nQF)9X7#vLcDMl#Dh~V;GqhXo-)Z>;7jLVW5=Lf#MQ%;-_Hsfju>bokw>x$mdmIp)BS_f}i1rnuC&Qf3tB zsnV$)xfnahB`Ud&b4qW4=%(*UzF!zn#-dUBgI=FUB(-fzDkU0D=Dt_fhu=^G4%g+8xHxGcLW9${1`IQ|+Uj*IHV>Bji zJ&eSr8p94IOC%&E^>@3+jXnm~Aw`?le*h#5U91rnNMLY&0wnyh=p8fXpj_maOPzrp z4-m-*7*6`5IhoOUg&v~kUiT>t)P#8JER=%C{FTi)#ZNTP^)`ASnsyBR36O6RBrRm_ zKX?a@y5I#7s70@>4Z;Au$S=6Z9UK(Kmjj9rtsC?`TSdWPMKO^V+_6_d>bdW~$+H;~ z7DAWRAz*(gd|iscs4e177E54Bj|xnJNg(TV#C{j zzV+$Cv?1puiC>VIK3I&$N|$a`22Zh@N895Hy)TG$(c04F+OMlG!PVL6AintADpTpU1<7_w_C|EOo+iUB=mWy1J%=DoB zrp=GY@oYRRztwgAO-Uv`NHPGqP13tj5XsjWHiIM>_>SEgFALPJ5N5!#>BL=qGX&3F zdH&CO%+sBJgE?36Ve!{^SS9=}zA%!wj*sP0BmTP55Zc@@M85w2IqkE zrY3W(1)nTby5#7N8f=s4g~}Ah-PiQxbfaACo4Ow(FQ%($%Laj8Le(5dlK%Z02zaMrJ&fp#3o#DxTCGtr$K9(}q+iap~}FPJBW z25MarARt0sWggbkPa82-4VBGBhskaq>rbgsGUjjn{>L!=%WX)8R~D!`mU zd0Bzfq?NyCA^B{fB(BVZQ(=R?uBy@i>7bbAQhun?^8(PA?KNsQfMV5o7GmQ?F^! zsfBf{pVE_pZV-^iX!;f*pLENlK}s7Wy?_8uQvFoE!BM5uZ6lP+R?8 z(DEh;YnO>~Q=l>9oh5H1v&I?N*D0kU_XcTlANk^M7dt#n5S_}@)qFJ|Hfn*?)ga-; zOa$@b!PO#vJHM+Vb`B_1ff2`2&Id7*!IV!WAFbTBic9WyxR+*k+ur`R*9%UH3VQmJ zEa`b1nFJDgFAyItIQ`5bQI9R)Z45)?qU~oqM-w#K;BjK!&zS!}o3et@5mjg8DhPLg zeuOo$Zm)n`HUMu#cK`f0fkq9&-ht=pa8`OM;)1OP;M@GYSF>jmqHxu}c{A^HNH@2jxj=-c8zvc}~!h|y1|OLrRu znbpQ7`M$=L4|ZTCdd$07_1-fk{AZ8&-)W}Fg7C%UWK$K?RiB955SuwHkkt~x)iuOy z_&x0%uf{yf2vcCJIIY1=%DLclLy3IhAJ{jNR957_YY#aBhV8hX~* z!P9ay9DO?0)_Y;bL@Q7IgD56+@K;K%aV31xwoB_vS04tM<7435ebn0>EH5%=%^?-a z4J~B{zc+W5MJEB!copkKXU9E3ftU&wiQOUsy2$o3{-#5i_h%LlM-zjxx0y~ zRIjR30&ZFH3k`*v4l=zMeHIryE_DcOJER93hjghT1CGeVd{4V|+Xde)oE(uv1-8CK zj^;|DaQKW?)3lSozl#S^8`BFcQ>~vyW&}XYHT}gnxM>**`_0YX9xh%6*MS1XOAG_< z`kWbVZ=YDhG{2eM*U!1!6UwrliIvP%NQVi03lvlJ*8D}QP$uLPbw?_bRE70hsLlc| zZ8ECU_SANbsZUei5|jU*GS`m2@9%z`a~z|CGN#|&r~VuhRF8Y<4CuxT`o~BH^hjsX z&&_KNhR|JP=Zo&bF|))U3UQ{Lf-lGXJq#ZXAC%S%(a7^xWq-)eDk&*8P2!KR8}Xf* zOg==HXZquxhIv1r*jQ)1J`rp30BvARlZ!B2M3o??`TnWQv?$89C?ncBm>$oE1q*Zu zoa4s?F3M3uX>CLlQZNlHJ+D(;BLchCh6*oe=mrxRoTBHQ_REv>=6>aOudKH29?H)a zHw+M~-(y_;84-n)kO~D^){S4ED2AP6`=s#mhZJXu>S)3yV5`}6zcD}kUuY+Qwdj?x z$&lF$w^uZN<-uR>Akza>BXQzm|(BH#~taX0y-SE_2R%CAV_ zjV&H18WT0XFZPR+2Gj`<3WFn^qg0%`ZvYklNYbBZc~2 zrK~fi9eqH4FR1HM(*%yE4ewBxQtpQEM!kdcs{r=d)7aIW7h+!e1?hf!!LsVB7?tw# z%V;jW-ovULEFWBxD>Gu;kQhmQTG^mhbrPQ$qEyF)bqknNl3{GSh}G#A{jgV%%okwv0K`#CM}i_Q1-L*I0+b96&Lxm45aCB}R5hV80GT#(%aK5o*>mt{Xs$j;2(mb+}#MlkvU09KHeD{{E-z zOH&SRVq=DP(hTvI$*m;d8a$$jsygi&>S+!fCm_do>F$O{VfOJ9`g)-@_{2->H=P^7l*g8 zHDG?JXM=NH5KPEexJnT;AzQt~LH4ggwKP1Hgtak5yxkdUv+-)=C8PFYLv#f$D)b$B z1gJwXpq%8186~c&(vhwhJ0uad-e0kMZxLIM%@mHE-UVHD?P1*o;Tv#2i~eh zhp4-Kev2LY_;-1{U_Wy$aImmf^zlx4U_I#yKf^^Z*vI%E8b6j>`;aO_QBao?GQsxa z4r{01Bf{s80fgZf=#LNxl|wdLNKm^EdL$=fvnHOY-fQ%t4Bar1r{OE|sZePcTh0&6 zD)ocLo<{=Qz5W*P`*T?b2yDDV?AZASbMv^FuY;qj$0Kdr3WAYg@b*m1%K#!#V%@ej zcB7-rwzVkLezK=U;=W8lRn+>RG;?X(-cbc8r;$$I%C98VfUy-lI}BtZ+6eyDw*SPJ z;mSF+OuE2~2lxGZ!DG#BG0|t|u^>CHz=tBOiA!G8L(b%y&0yZ~Lcw9iw;J{<@pP33 z@awkkFy|xN(J5_+CP@A8VVOBJEVc5cgw1hvD-ztC8gip+#$*zy3wVR*H+(eR3E;dR z5@#4~I5a55e4;|7AJ#_J8d8nTWH_tKV6ebk?o6TrT@Cs(bL!?%1OnkYeT--92!3Yy~zeQy>@GAqz)hJ zn!O5?^ir^zK`|JT^3u_+R>li>iu`iBWA~-2?2n5AB(m{`KGHwVJs80DWsqSdUwDyt zRh#U+{@_!CT=#bjVimIv8zISHyjFK_#bwZ{d67CH5Id#H6{B;#^-js<0&;j5Z#v|aYwB)Ey7LSGlOH1m~H@AF6TSzN= zxV81^*nOC612@8sydy8KvFd6d9+^N`6z_Z;={?aoN5=x5QHiukg!@7Dk?~fN$oB$e zq6~cOZ4Jr~{f&emY%BV?$ZKf)&rdHFu;#}OTQxyA!~r5V;ki6Vo1A#Z(?R*6XdPu^ z|CI*gJK-UU@hHUezgUvKXyAO={S^ojPZBWsQ~2{%cY{NQz}*7)`hysO&4vF*l&xIA zQ6_ucBEUh6*i-Vd97>4L{mc^BuX+HW`aTIKeTg1BUrlkF{j5X~4_-vh>D3X%8EgAx zlIg}U*Yu3i7S4>xe|Y5ew5VvUT;u-T(y@-tzdn-^1|Wj)Xas z>{(6mj@zlAq6`jDmI=fGnyaTIoXYwBu0$;w$5k}4PUHSPKc;bBb0{mw9qYVQK$(<+ zGo_K_j~Z02pt$()bt;@1?Aeu4&@l$J#Bl95{FQIq+DC~UVB%!2F5$Ld9nG*0irM=M zOEz|^T8Zvo;>XsgR<5+tjAOF25vBz#eIL!LJIUJ^lky(gN(?P|t(I#aH}-zep3V5rMmw4 zgZI^m-y)!d0?0nXMH+*rRybw%UBW=8k@)6t4UdcUZ~*_pBvKCAL;(5hAb@Yx21(qs9_U%O!=_c z=7=D9aZdU7MALN~ys=^T19W!nrXp2(_^a*c4&ErPj=O%)kc-E8(rS<_+{(Kwdpj}| z%vWu_m-aotORW*o?%RlC!Yg{aDVc99cqp!!69reCXD`Ihs>N&Tzv=W?x7r7%@vtGJ?`I8V=k>|b5#8Vj%9z5; zG9!>+RT--B(N`E~as3Yovgw1%*L|b-12*{e;(DP-&8U0INZvf89ZU=k2LU6xXCppWxN`&sxe|t;9#F#{|zaP_|kQhLI8Oc{uykaO6A@5{RquMHR z-KjV!Byb@}PKYW*rUwFz-oCwWhS(W^0}4EW?1NAwucM~sjQgi`RnHe!lw20?Fu09n z)<>$LV$hQn7f{5M!$?>3u!5f4xEo1zYpxH0T#UYzfPLNkr$gIwUB6YdBpoH)+`)z6 zvv0bn78x-XP7-_8(Wyr#4)UM{Dk(Gr^hzhaZ;fZ>3L+<_Tz#In1|~UFMdB%0(jYg}jh!>ff0zxfAo+ zine-7tk)iqSeavZK0$t}AeZ_8*8Eso-CM}_<;GZhb-vpVAwtlhlz->1M&ep^poHz| z;}~#xw0iaM^J41GxlM_vgRb??aZ~bU_|bUE4k1v)UoWhw<`LxOG!}zFiWmrKV9A0a zf0cf{M6~7sS%;Q39jo!3(~nrB2uZ`TG6^AHhph{d?*AGRcmkXFkzBJjFn%o7MZ*di zcWm;7JtTAxHOUkjPRdHQdGB1^r8CbE4$@mTQx!!lrVLcB)ZA!uAb`UdCG4M1o9#dCvp7 zh~d!6MtGe8*T{Qxc?H@Qm|q9~{7CP*Fb4%A84d?oPkbq z!a=HdQH4d&w;T+{FZjFtu9=U=-!kouQ*dxWKHuh+NGcgD%`TD6t)AwO`!)9o2*GfD zPdwP=F9fyZQkK~tkA-6AE#hC`&a&K?hO6YR-LOMFGvpqG^mOLV;X&0QYlImyD!9nP zT>3P;qyboMOplIFkFSBsBNqLa|SFBuYErw`IikrcY>V`;SA80GRoiC^bhstqH zQ-z$kPWQGAs_2(7n&6vTSyLb2|8$Yt>EvYYkX8%$zv2920sc77SxhlgLnSZO#E8N9 z4^^mE4QIfGHpOCzGKHPGTiCBX$NfQJ)ancHypLyz5@|dio1Ead5ZzBvb~jPFH{X#> z#nRw_1Rvt6yZQ{6Svs}o(E0d8A`-~3s6I05pC-vnU$V@{lMn|2Yn|?G|G@G0*Vgq6 zIN0$yyGghc0P$L9eB0daE1$oKS!A9`J~Jvh5X^TxO>Z?tWe04Jlu#k}Zr@7ebXnP# z1dGjwbMqEI3YF6EM?`Kxsn1I3Zw*_3bAi!f0A={naoUCK!0NX@bYP|aiS4xn^O4mof|4r!BtcMHa@kp?)H@_UXh3{#o;BsR@J4^&D?p5* zXeFzl)?bkzHC5;}O;~AV2fk}NQZ*6=yTALTqS8+5o=cY`L?nnV_Pv}!Q}RWAO-&?g zuR7L|EuXBmi7WFQCLIm6AcS1Sj@mk_U4Di}blod4d#esWvt zM|5-!h@CY$An&fdP-8zZW*u^5;M&_3D11aFzB9=D z^L3ApS%zXc2_9#p4Huq0LYKa6-4pBFk&_unlZHJ>iVnW`m;=iTu4DN(T+p)8c6WHv zs9)85qrXb)T#61zD#N3RQ4+8VRM4S^e8xPRl*4`c51>PL|BcE#dFV%B+>+{RUV!Pz<9Ha@>s%d(k!UfL19aUn-kgHZ`R6>JY#Kh4kDYf z>Y@f59#DY&8WDw55t-j{Fb$oJH+vZb_6}F*z-H0Iq~FyTUb;BYZUu_rFyUr{Qo)VB zB@ea*fAw89qQyhkvN{*X4#FXXY863Jx*_iE?R$cZh+Jbg8*m5HPkG1VT=%v6X>T^b zR~k&QWPXaPPf_}M(zCmOkE=s@)ql|yXAFb?akA_qpivEG@xr|k2mMctgp01AUrUgB zO6H@60`Q-=jG0encztDmCF2D}ovb>$2ZEu6-K|{8v%&0n#e8XB!VyaFBwD<# zU4{HZ+zZJa`Lbh!E*yjH{@FvmB>wh)#3q@!;0sfJ*g6Bv#ZQl=%7|Oq{`WOw_adyr z2%eZQ{>tAvrHtNVWK9OyxiYSaXS-c`ccxt_>H^OIcA$#6w80wR=nLYwInjPa8$@3V zQuFG<$VCLR9Y%v2U>2x?kuCFd#+t6&w4`z>C)H9wYb-5w@$A3+`TlnQW+%CLcgU7A zgu}3k{${|8v%>`0T~bq{&1=Iqv2WdOV3|S07{~~n37nklQVisj#eTzjPg0hXCUCOQ zls|8Zq=Kr;L!~=p(QUYpGZoON(I?T5TAJ2Bk46X;MlWkt;8WFs+F#q5ERwZH9Wj6J z%34TG{rqgzmY_j6)}WL&UhELW>&}46foB{}v<#v<8}E5J+3I#Z6RNh2U8)uu`jBsq z=r3F>=Cyz0={Nq1m3jAssj^42JIf9>m>ulB+D%1wqGN~(VxQ5rp0;E?i4BElE1y=x z?Fe?S5~FE8Q|*2!4|E3MaREKiKE3<(IReU2m){r-&>S6M&8QLg$q-Cg9r@zpc2HQJ ziMOQyE?&fA-g6fVk9RzV z!X9gP82~z~)E6Q*3SoC1o}j-T&KpwNEPka>@=i=fP|9g@?sh;1$_HAUx=Akubu_8v z_6C^NY$~LkJa@INqu0ZOS8Sxs1^EOl$DJpl^*i0R%&06R#wV^$R$aSpjb)w>hi?{ospZ?uzV+{ycKdJU>-RnQI z2fQo(8CxGNXk<~2XH=+}B$;|3GQc=knP);}!^jGa&L~vbM){rLC0%hbfl8U&HDIsb z+uwfwikXtaQ4?%%VgoJdA8bPqFStYn=$(I}wH~5h*>`x~jz5SPTw%+@SUXww!}^B) z7ZHM*CA9b>!DoG^|d?P8_H{Q&h5kO@`V#vjPL-}sxW zv^i2M$NcuRFP;iDN1Hy(RJNH5s46{13RP?SUUC%x;F**uRmsP5)s$UicUlCXtd`C) z8KgQ(w-3K`M7%hkj*=3s&RJX{h1ec#ZLS@`G=SBPR)=sY=A7d-IAC+t&f*_sAsmBy zZgUWG@n}z}Tv*v*ZT&!67}*Os`UY%K%=LFh4O`V83*=(N)s+pn1vF{vTH&mPq3KvC zEIKe7hie#+jheS2IXwhMUS8GFEh$LKg_bMn3h|0oYqX>T&)xUKQ-=@r;+65r3T9L=ITUdA1n zF)|Z{=<{?wjT^!ZdImuBuaW)RW|Nh>?3;pR*t^Z-fHhVH;${5d1*eX~)#D1PqjuI2 z(N^7{1rbQrcSI&!3jyoBhuM{6<(!pfSUu)!?yOzerEwlS&#%9Rc8Xsn%<~mY@?Jy1 zd+!&BpiF(QuoO-iZ@-^8H9UxLnoTd#;Z&#D~I%=79lKkVB9ML=lo`Y|0`e0 zf&uFf32!&{;b*nq-39WFUlHZjFz}b_*h^4xzg5t|_!inlHMxBzOaQKg>A@gL?-z6l zbs)?yPJi9Ifj%G@ZWBT*^81??Sy`1`*d%YQZR3`&5H^u)Ak81_HYEvfkBiJ* zow7M9h1?FGn)?#Sf-Jd;3spW3k_V5F;OAj|3u|`jRb|+9LUFpTL~w>VXI{UAjp$k8 zJAR^YA6Ae95rBgEJdPp~jq2uEL*XOAO2G4joo18?AucX>`|A1^qsKDHOHHts{|A>1Gc? zj4cug0UXG@oF~WZtVa7CS?1QLk;Lqj$Dd?dGcphDnAPsPP<_MeP}<%8DH)b3n*vJO z%4%lQ`!{7A2lX0&QnMLg##xC68Y7o&0@=4nL!DZQjBne>*%=tF8@Br!$XI_t)|uTa z!llHIYPMUINC5E;Dp5h9RU2-R9L;A{Bb9i&Kekr%p!0Wl5gq7&)aDbq*pnz`PJJ}` z?i52bJSDkc{3`jA$-%->GAYoOyPgRX1f-uedb~X*^WQk((Zf*yp@l7HX-Z|^hB30W z3towRXGwg2`DfI1-JxN%e=%~@h`sWvJkH{xY_r1^0@KE!S_&abJEef_a~zPUc)!+{qvSjN7aNWSLKZ}rc##R)(zMP zM$}v?w!{8$u*X64xR3I~st4ycgtMEj@ipZQM{}*S)G<=A#9j)Pk%WSkSEg#|!?pbU zZJ&>~X|SC4#u1pWt)|U)9>5zXvo`8c6&;AnwjB!_fWor_UVG574%q zA)%4$>8K7D@m?$$YZ(68ELW{XyrfgQ1kQ>cK_UP>18X7}!_&+X7-8hHO5XbGw!`oJ zAp+}+(3?^c4fvj##xFeScw1VaLkq>A)^`?%<|@sl92n^0%=(V{c1>>iiL|qpGSMl>`*<6 z88d29xzQIvyW6ptupko+2<+aiiE|K46Hs{1Vo=T+m@fs_djRq7bEi#HJpNg@|2q5^ zhL#@bQGeL8j4YVVcXR4+U0?5-)685gX_;=K#tTRJVOPxiI`MpyGG1=`FchIw;r&%q znV(l4RtH|u0m|H;3HC-t-crpHbRYK(&PH?BaD7mA5{ShLmu9YFK&aet+tmyjL%Wk` zj=yJ!68SH4W0vngf4@H}(9=Ys{W=|l0*PB0mIXaPtF=fl4A>o4j=2d`u1rB?%5X^rm4~FJ(mVn6%x`wzXxov9NxDNC*`JBlkugqEp&&nDp6?NVKmtDywr)Mb@8i| z_r9-NR=DJt3U`Dg65irWlvL$r-f{>ZUvuJ)5WeB8N|D+Rd?aZYN}%)^w(1243tf2d zpGm^jZ3QQqHx5h?Ks+VgQ#;qF}lVG!Zawca#wJ=d2Py3!J8 z6H$i9?$4Vqu%CjD6!pHzgDMT5Au>Ji!59y@{UV;W35s9Wr0Lo^IvMWJntZ0LT+;TZ zEVFg?nKJi%)#ZwgR=?bz<`cz!70>k6kBO$}jerpu3+UYE@zOpFVc#gb(qJ z-Nc@Lq`;z2e7XDA1xpibPsvmY#zx*)QW!(CzVf&nDQQSQWYG2+3vT#GQ&;jqs==c*Uuee-tQ9mI{&6~AFlB^8@MpHuR9qn*;)Q3kZe|bEd02#6>j|^ z-RX+P*x}{K4)ed58Q4_L&}*Q;i~epChOt5wZ5Gm~A8DQuv=&e7g{i2CR_t&XEH#Ax zdN^6?=g2=BU!(t!yBH?Cob9mScf^u^+lFx+rfdjK*Ux(#*FzUd-!5_m4BDyxdg$N$ z;d@!4_-`ovMy_WW%sY?%X{bQ+x25`U`4)6SKDtaUH=RB#VkRMuTP@yZJ-R@0DXQlo z4tD=fI(6NqHtNWgX4&k|%T`4`r z<?ZR~*lI(;AsM+mfYIN%r_>s;#NNG9Wi&D63@DTQ}tB- zzvNe(lujpsMVt8PFwe4vf7t*q;5CdiI6^)mJfHBIJ^3V>KPlcycR~q}r}QAIGTm(p zRC=tu|HD^R0^xB38V>-cv|{s-l#~;n?!!WDyQaC+q+q zQwXaZ0aE8FiiIz4V}b{0oQCR*g)RQGftp+Eijwr1w4oIyP(}-dVXs<+KE{J$x(3^T z=;DK5>Bf^!Z|GVy#H6csPT6#;wXavmKx?LGA`KGF@m!6)A?mbxgiWX!i?DbzmyI$K zF+fM;3}@cjGyh;?0*A*gY6sY-ojd3EJrMcn`EIIS?~i1175~My1;qfPB3> zncS@7@gc^QHx+;u5k;`10gYYH<3{3fELJjS<^Y6hbaZ3X`HutuFKPUZSF6wZ=l;}7 zS%mO~EG&)rv*SfrBaMNhzTOC=Re3Gc7zIcd`kzPtuIEG?UT$kfV=DIRKmUKIOYC=PNEumJqXs`5whz#Nx11;ZvUr|{|$2Q6oQkF zO9i0Gw#Zc@7gh2MTxEQt>2UHkL}ZyQx<^wDg=kBRAWG8gca)_ZL7<&UCEtOcC@}ZQ z4E2U!=;>rq5San@>#)*M1o3{r@44ceV$vv;3ZN4_8*UGl~UwbMR~whrvtO&+Yl2mllr zZ+alWPW*zBj}KUI50+DC1#o?Lbv>XccSl62LGSm(P`$U@695CI40 zFO}&99s2`_Z@3#70MmFSNkWK}&BMXTQ)@AEI$K9$GcA4YS+lsNUdwkehnx-Prj_fz z8NEf}$o58tyRwMRlpl-eBq1$mhloh#m{G-|e%e~Qs7h8z^&-4PH`g1vrCQAOedPyu z9CaNogYyVL`2gw}%fui0qGNJi|Z!@~5 zr_zq6oz9TSWDGa^DpTTrbjXtXNpB{}btjTB?vDA4Y>8PnEmN+%C`$aH(g&K|Ox^b7 zWs;QNXbkX4BNP=$NA$+@BZGnZA}{6xVCxYpedigKV&(9N{1xOW-dTn!k)Dkz4=l~% zz+Vr}PS)ntB2HiS*dl_&y*H-`k@oQtizMCwyoN5F??so5+tbfaZ@CRmH7wjD21*Cp z&0RfS@qp6!;F}`= znFipFdDLQ%b7#PsmDh1(Ov$&g&}&9&WBPaB+r5SvuG#N*Ipz5^^US8RfBx{4lwlv6 zk?nRCKd{rQ4njP6;|HpueyoMsjNM!f26*z4J`p-F{-_ zv}AfB#S-u!xSd@w?OPb(#0DO6=kjVV2Z37Uez}#D^oohAF@|%6D_wPd31x^e;gTo~ zBpDs6@0FJ?O%gHc14t5&asIdO<5d8QqpjpGB?ql&rZ+~D3hT#mgqNJ7M2iq~Ra?tW z@3)7%5W8&Y9(6Mw&hp#F6xv&fG36eHEu;Qf*G7}f`Gm7JV5bT^@BbG=Y+{2T@)`;I z4c*IMJ{bCa2+CT^l`d4w_kZGw3d5tRNsEcu*cCdD&&^)#+-3PQ*c04*;NHg2#n zO>C4{q)JpaiRBv};g$}{@N?rh7w9AD6j^+Ga~(=PafGVY{sr$C`^Agp?L;wV6i*7K znYMD#lECk8KtrBg(B|2vu;bEcY?%$5%(M1oao-$Jdtpd~f{8UXWl!6UB~yqz{RJIo z^bhgJZW6Njk`@23yyde$W2%Ka=>T8kz4(aGWS0bIKNw6zhZ()k&W@i)r`V&$`zuhv|}(Z{T_%*+<*r(*h>xDOj4jnWxRxj{OH2y2w+~h5UDq`ownSRnBXzxL zEnA1gE-;NhL-;~{)NFa7+5kSnO8QYXsuOh6$LA5oB^fOh`}UV7>&N(9)@Th6kqWp| zk1#a6$VumgGzy^aSg37;4+5Zn6F!dU)#C;M|F%Cr5;|RYQMAmSX)7$I!82)W0kdg3 z$#?%OYAf5*6iP}n7o=T+W%CK$&|?yH&3j*W9T9Q>2_7;!RlW)bxi}yy0h-<#z3vO# zeXa+Nj@*~YSO-bJCz6)QgUZ%<*%2dkDSs&Af}t-w5CXIB_m7bf8G)3YhG`h!ompB& zfV3APTq1a}3h;qETRDs&9PlmBO~DOcir<|YNscN1xV0UMsHsGqd!(fPl0WV~%E>eo6%j}HC zfT_Aen(w{f?buV{w=PJo*Tl40-a27Ai@U;vn>F1YKb1`5)lSbO630q1<&@xM0xLEksc+gk zb=SMj&uyAAgZ#-EKRpkVB761+*N>pdXcfR4r7bf>5r*Us7<*L!k(Ty{zjZ`B?++S} z-Bt-P0smO}`XTz!eAy$Ic@aX+FiJq$CjaFti)gSo9FSUdia50)pS5;0kmG{@ppu8u z`%U1#y@5S8ycm;|&GJnlTwj;sTsWAXCyVsr>7Qe?kqrmcL&zVrY|6_uViO75!@`!9 zQFBU|qwUTv@ZVWla2u*# z$fsvBM_Ho>65lezwJe6fAu}IUCI0(-oPoEiZe`kNt*c2#IUJPbqz%Z<6(bf*S%P&w zArEb_EAD(V?1F`Z+Yt)*n&}q469XoFZC%L@y*!$(R2G^Zp=Juu#5) zAthyS7C+5Tk^z4e-*2U;YNDu9Ik~RT7j3idB>k-lRuXfsw%_kJ4vd?)s8k#T+0uN z{*2fE@$l^W`&Gt~J@1jg#Rj3zgAt!c1M+Ae4X;W*aVrM0*dalrCUri&(zEdAMevxq z*qLSG8`8|qp7I}M)cpH_{=FSB!76F}vD`r#(RuJm0);-mY_f(u=I_p&%0J2n$gRp*V7c( zZgK6+2}nCy0nR3lJ>O@^kMT}CoT@#|rbP^WnDF1i9m4HUEI#yJfU=*;s(olvPL_v-M<`&|!vaD&c7GQrRfhBro~UkveBF}%}* zXZh&HKY~<84ye~;ckX{YIuR~n&0MmcUm(KnfOtB-Cu&MmGa(f5ff)07flwgSLR~R6 z+8&^>cB)qdN7H-Qmsfl-nioyclVBZ1Y(*7|tUq%FkmA215Jrgo5-?)>0n=iI61vg2 zKR>dTV<)I}uA_2tk=S$tfJ!Oq6GmFLY=$7K0gJ9Be|KyRe;0}8YFZ}>(S;R4K>g@u zcu{8nWG1`qh72_UdrTP$En%FC`{^<5X0)W9EPE0DXohdDPtiqg+61Z|(Zz`771{-4fM z?nz+0%Yt#0JD=FjWW_$gQeFLh1m=H|F<;9V_>4K1IYr$B(%ttt&m&Ii<7O4lu6a=_jZMS zpZh)H89rQqc2vwbqS%|TDjvLNqx8`=P-qcC(rFz&3Zr@dHSnR56MS0O>`!9jN|a3v zFQf_Lf_VW*^>u@@2W|j-@$?ug7ob3BW4pfs5dZd7PN_d{up;3_c9}gFNz^w&fBD`7 zGo2ywTyF3IdG^Um%>jVT!V7}@ljhG)3{io7yw-fya?V*~OI6&aR~O~nij%>Jxm^XQP@Ldyjl5xc0>7^Ts< zo;#7CU_&0jO!elEa!c)8i=x8B5b@K+@YTyRCknr~iutiN;bN=+t)K6Ut?Pe2-TwmY ze*DPnt ze*s*v$DLQXeL1PD8fka|OKYJn49XQ8)1%7{ak0Kn6h{}XCWkGkrFg3qlJiG1C02k{ zA5LY8cP9d=_k>r|k2klc$iwqca(gm-`bLWIx%=1gM3|7563=&B+pm{Dy0Z9Du~j7m65Z{W{pB?<9q5iBD$(c zwELEMx46IihZFCw#h5AgoDHJ|z@lkdm^O~FNQv+mswqS(FT6mUfvL4HuC=dTU>#Wg zI~~qK_coA+69~Zh3!J&akRN5cme!g-qkINb$Ix|@NI3-8T%akAiLp~hP4;OOO@Nok zn#nzJH%nKsp@%~j#Y2#@23!T{9eBP9z90vCPX|5*tMyCyxX8<$Etjr$sGMi zDM=DM5F7tNQh2qox7gnY_dhk4M-8dOCr^>5vHIM%D{xL}J)?|3eD(E<Kq>mcswj)De1VbrkM(Z}id9y11;pv9i1ZhM<%ex}|MJ29PId2qcSZj%_V-RG z=l{DhJ*9jdT_b_*ulnO@=ECS68e9v2N3fOJ70)u-JRw2o#~HP?DbT2lI+p1HPZst527fsM|Jyo^lMZV{a2yo(@c$*TgxbDGRAP|O3T^vIS z(OE|l5zA}5h9C~49Zt|B%}OIwd61ue&^Yi*;W^b>-%!(QU2)zxmk-t5i3Mf2ObVXkPDZ{wp_(s)ne+8?ze%LaG9&3#?ufBd22G22NEg*tL z!+UkO1w;bUt!8Eoo?*qoWL{9Is0e4XMr+jRe@>(#|((!KFW!{ z;++nQ*8ipC$6++?x7-0Ho)mwbG8C>^%xKqF7zzTaj3F(zL(&>;EFX(E(f>Zuy`E_p zejgbm$t1t+NrV7tO%L9=g?rjhS;?hl>Qk1jHKG9RpKDK9J$f5o#K|KPGZnfT;`4;k z;(?JpdWWC|D0WoTa`ndoUbl{8#7sZp5XJg_Xm17n=*v>_D|!Y!2UoyqE5_BKbQM^j zld6MZ&b={8%fx=fV{9Kp1r2IrStOGqp+#PFJpnB z!suWg6d@seqfMUofx6#1=RLv)eE?eM5@YrB>2XI+cAlrf?h2L>a@q^Lhv!F}U&?s* zgV}19tbm?{B^Np-EiC((&YWlx{Ji>qvuYq~P(bQ9*!)}0$i>;o4{QFz(doI$t`#doa!A_NrH@ zF*wiTm#zGe$qgrhroxEO1xK#ZvYf1u2+*CsvrDqFZS3?X37JJn?rK;HKy8tM#zF?Tm-smt>6VGb;4zoa|ey7hw_1aTkE{(ERA(>>Htg)z|6sg7kEWP^Z$30O#x7 za0PiT7;A8O5!$XMvHA9s;WrhE>3|rN^?;|Ql82!1F-2kGnThYya>M@AWYx74Fuhv> zUSUF?_^Aqk|C4ZP@hV-ygvmri7}J|VRVOci(1Ic37u6Qfim1HIJ>|(94e(G^%#G_&-*V&KgLEAez6m4 zk%s(?MgjJ?U&!Q5X=Cq>gU5V&O&PY0d3fNPw&zxM~x|BMZBo^zx6OvWWU(G5rWBFg1EbWBJto zha9^qjAQU?5$ev9UD(a3K9k3s;!c0}JSnjtqyvs1^41LXIFYQ5awNhIrIaa56X!%H z3}7Kvv(^z0SHNnB`)q@wWGJZ_d5xG?yicm?FRF z;+k*>+^qrjl6g|2%AbZjWDB}FT;YLO%c_zO0JaXF0)-c{AAxl91;`okyalu(KoNDI zf64Z?$T@Wz<4y)0bv;MoA;f7x*%bOU|*3y`9eqVOJt#8EWFi^7}+Ea6)z*2lF@_P!p3 zsg=sSjfI`=xA8m?Ztr(pPFhxA+dn|nuPgFyC_yjE#;+^fke(iyVv2Nhi7>snvoxpPB|5*s@i;q>< z_APQ7JXUUFB==tEwuA5heLY^0^Y7EFm;8bKkj#ugp^xpU77W7X+8U+#?zU8y`-aWi z09+T?P|OYK&{SRj8iW8((N6D!XAZa5Z@=KWjMvKWA4QT8hWF1M4PNGng|lg2_DoaZ zDYnRiWf|Po3_k(kM8LQaAZ&IqB+HpM%R~>W?)}vfeWdM7T|QwQ+OFW0hGl>@Z0YGY zAVW?%T|Sqc5a(NN2&_A$v}Oq~-??{~vV6VdR%Pr;Kp)bC7)U;JJbvA<7y~T7=_!3( zuHUOZ^#cjHH}B0C5n3Ui1}uR(9$tyj7Z(GvJ&CtNm+P$1fjfxfBxmA`Jk$Py6LZyj*hKjf>%81BBj{Z*;^(&JS5x`X2g1c9jOGtVHyi zJ08QtPZ4gyNuS>~7#dK8rKVlhQ-nWhmqd+{lqXgSFZqI?0Sc&@R6?xrG`0$Ahs)sT z3z@Bzho8Wrk5Y6vzkbk50_8BHQ|CLx=^S<8OxlBn3fzLj3eD7Cxk2wbd#ztY8%YPkE4tOuf|_`ybC)06~p`W@vlDP#kkq z`TJk;PD+-3U>L^WLKcZ4wvU`RHMdvLE~r(2TD7zi&0+F_Ts;3IM@L3iMuNY3j4Lm`GO4S7-Run~09X8hio(t( zSaWeyya!twM_P(U%K<&bbK#GwTq>RMe>&08@a05hrGqry|Df+!xQmw~9O_5x(e2mh zj$7;G_7YKx_b(n$W@d*csMoR6=b5VK=TsD{Rsf#d?PXLok9NV(hzuG3J zwH5XL5S{XCAvfP++x%4N?ACD+_xI`2&F$8BSWs;>`r{2*NOB-##TVKX7UslXVEgbi zPk7GVfr+ef44uVTfjMS^dq0W$;lvM0VG#x3uK!#;tMn#JW4(SL>OGU3*cbG`_$gcW za@3Oxj%lqWC)7uQ^YmO#V*joiJM%<<$rFEQx@wb_z`O}-$HNPSA1L~#;4ACD9`yRM z!KMML&anju{4>ej3Nk%`Cl49XO060F&4WwK-=^;Q*ADcc|SY+4GD$bKw za=TFeIxim8W?@{+ZX$Bo{%yAgT~pla1M||0{!g#RomE|nhh}x5oA%pFB|$K1F{<-{ zd@9(@%x|J4=KbN!VK(vpcelbddkX12mny@uRIx2Y#LgXN8Ai;;*&wi&m003mTZ_W+ zM|jGo4SU{+b`w9lYbCNgHzPO&Vn(HR(++mFsDCVZWxvYj{s_yhFhps;l_S&Zk3zfo zAi)xXPT^n}N=Egg4TKIyr;%(!_Yi4dR=e<$`2BahF#*zua?kUYuB)+-v3oEDD++xG zcTU*A?#MqA-w$(E`T`lnSsC-7Xl7r-`h%QkJX(1*&mLgcD>nA4x<}MI-oa>M(@3EZBDnW@!{~Zed^A0&cC{ z{+i2`XRvJ~R+=_0&nu%-@d;o92gL2@H+A0`YU-EUKz}bdH{s&wEaKE3jwwCT7NUkt z(DTOFEqgN5%g^+0d32J-Gn8k6Qo@vcEOEa}SjE-@<#I~T^K{7)mWxZi*Pi2Jx;DH9 zR(tW!@f^-eLWO^I{iE;tdhT3V-cvqrs>s)MVTHYaQL9n=Tj_PVlGZ{w9@ehNn>W8w zI!iP3ZlIt+5fqPMV)OCdd4I$2qFgAOr%W{FBoXHLwNz#;wq-H^Cw3$>M)DVmO8!t$ zvxB+{#6f2x8MR=1+ZVN=KeFrKPdz89_dX+cEa@FSqQnD^TPyZQz5^NBw@H9j*6ulS|gh>-J7-b>}?5ZIgYrN+3xe#C-fEIcmwGS zR0CPr$rv1qy&rzFphU(Q1nhZfC>T3H91!TCO5c|$!^6fmPtM@kRiAgEcJ`=?tq-|4 zcf>N4NJ@Ss1kc^XbnR8I^M(NG1j`h$~PdnAK^C)8oafp>t8q6LFHn9|#=?4aa zU~psJ&@N_luaN&OmCW|S3>Q{>s8m~RM8~Tw`6?)>Vp?C9=_}{aG4xy9we!;Tv+R9f zy?sW=dqDJxlbmN!GI1XXGsSgo@Z6ZOS*;MHJ$uq@v{ehgxdM0XYZG5ikcJk(66Dk0 z>!%_~5#JIVcLefr{pf-1e|fr>ZVJQJFg*SDfu}};S;CApJP^KV)|l5)iP;B2#!>2Y z!@ZL7cjA=4EW(+GZ%QMlf|^eUn_Ulxxn;%9cLh@&5gSUYM4=wfj!AuG!ILgB>gAg1 zG+_Bn{%ynOaiFX@Ehn^<$_9}UX-1() zJKM&_vtrWg3;Ig1ux331*px>Lcf{UvLR(X zbkke-efAxTVa206uzN$BoE9@|zIk>gIie!np)GV}yIX5vshk#<&Hk>thUPClW8A4X zb-n*BJc^jNO)Q*iCr^)7@qCbQ zLdbofdzHZj(p-0@;vI%sj}o%23D)hBaM^HVRSsLmcxZ>+CPhkv)2Ono1JQu?fif0t zt+Aio!Z63W_V@QW^@6y(x=tRqBbIHR7Ds1sFeL+94KefeGS5IHjPQ>AlU!!W{X&~uWylH{t^y9Q37#xoYDhz~p&>k5~ zh1vJ`HBg{e%#_~6;u!2LGMfm%^YKoks;FTb$xs^+<>Va z&fqIcfM%6pTacBzE&FZzYbHc=fx{rJ2xrX{E_Hq@v2yc-T7v&{Kp3)-TJxRfjnB|O zeP(oq85N|sCM~{vf#YwAMl8Zv9GJ-3wLDep9XO&wC}20vJi_SEr&Lf`|JemYWG82_c>^av(ls!lOXU&@Y2%-qd7e^K}-KW&f@3wQzU7G0`*iYu>P z;tHVeV&JAiL&5NmU$4hmnmRl;XT(9|HH(2C&x8JCJv*4ls+9x=z&^}D<0G~i!SQ zrpm%xZb}W?Yczuf_7lOm81S|xD-78oQRYVrX9om6>eDFIp zmW~`A-uSxyA44Z!&#~QF?Z=#k65X%10O9t-v<%np= zR}r+uRFD70E5=md2ipkb7_}N~EQ+Wfr0552>z#l*mvaio@6$jh-QcX`6Orh%D|t-Q zSZXQ+IeFz23aGnA!Pi=>yv9C@gXdSqL3Q+UYCY+ftNnO;9oO0bLMH=984)a6H=NLb zmKroWs8pkf<(T$9nh_u{EyTn`4G{ZE87StEy|gr3Ic?51#-th=no-MypT;_K5dPiJ zGX^t;PY7OMrc!IQ-67%am?E2gkX1w8@W0+{$OR?Qgg6LwPHUC5LHuyVtNs=wuk`$2 zE6H`BOypulGS*j&-j-lP#mKq)9R+SaX(k@J5}>^rQfmsrJKo;5QV}lAmHV+tHA9f- zS++=8%kK)J6C?(%T2Q5GOgcA9*4VwxB2ev-%QIG8CLnfKCci!$cOk@7YI2<)PHXou zP1t7@_w{YT*W(p?UWxlSobl)&Ct=L}$hH=j|GNiihamFtV|cb9RJTvVgvtgZ9MTea z;zAL6CB%pVe(TOpWU`rVEY}k(7aoG>@56ebfqVkwipoNm?pG|m25b*&aTu3#Uk6Sh zt`JL;aeek4QHON?nAXSD!bsiumfg=F-8OW1cT@DS=Y9*yv(@9z$KX8*Tl*lHZyB&b z$@0g{wMV|g{=!$160OKAdOm)XMlF&0Xj-GAyND%Y6RvA$5WEq{86$PAEXF>8uP$ch zMt#?%@aC6)pqoHrB9G?rO?wx$(HjakZ@kN;-39y0a`M&CJuctZGh>~Bic%X?db zs(VHGH5hpkFQgp)inLPe!LK5?A5O4+tyXlIAAXlq5H|;@E2oO}%GWg;>1`?9`k)L2 zd?BV189bK8E_d8;*WyypAI%nx7ROIHy-2U!r4IVi;4-uuSjVwg;pYH~zj7G6C>mK( zNYnXnG;1B$E8rVjMGBKyt9Pa$rdaPlW4_6v*%Td(IJyVYo{Ux zafEB0?tm|25-s`?Z8(Vs9}&@MZjKf;vI}`i$W8)hhdu&s)3uo8ZBt4KZB9jM$0GlA z>pZR4Bfsz{8q$9Cb1iP%vNcK(uue6|6p*~URkdT`bHUm+UA1#@B;%bDD$@J$TPuhm z$f-v1xp&np{HoX$A)or((f#i z%2D0rSW^BE?s4Jo3J*kjj8#-~FV;SyysWV%#!2rk;O3pL_l7x2+s_+``y0#svSbW| zAU>V$y(Zl~T|f8ZOSEvt4`*q&ca_ctXbqQnI{vQdDOb369U`h%ECM`vLxx;N#;&$1_S5s|K+n4enE)o^r4Qi4LL^%Dlcbu5{D2IMba)g15g1Prha2lKl`EQCZO&} z{Abdp7w^A3TtD#oxcUK9`dI+qc_xH44U~Gj1Uk8*XOS+B`MnJ{`}6(Vy0)Jy!`VT* zQ*{AYsH&T;MY?Q)BCU9ch!I`MwY8X#+IiR&4eBK@*|7R14W;bNqK;*<#@?abvowi4 zB_3(M5zb^9&lBgnp$o>qfJAU~4dP9VGP=B8XoLs0Sq}>mP_7azvU1u8-wddu-yPxC z3B2LhE6$s59BU&CY|kNqoB9WFWoz(|#m0rFhEOWQ90FuzLN}B{0>B&PS@=_R zbjQ}odvnJV6+iey5N+ptNSBYveMN+=`njgPVoZbbP01a~ffg70_u$2VTO!yEiBCPS z#hWjcF|p`P`s-!E01z`1jx-&U*Ky;*&mU~9Cn}D8IGdg5>A)!7$F~^#G7#O`NPS2% zVK27+9>qpu)ddGYbFJ^oz;z+)~uRN zG++aF`{chnsno3*-0aT5_u==}1M(cf@dk~HQOFq&i%QcMy9a1n5M2xZM$ZkZbSyVx zbL9rmXy!L@BYgU|1e)GZOuIggklRsj9?{I|jkD7pdzs^V>*bhhM~@6Pt5(yO3o&Ac zXS}2Nbs6@jO(XW-e5jS@4c|Ic+g%HmznWW+Ejhz4KVEzx324aDewKt)!3!AMm(~kX zw^6Sa&^HZNDsw`gwVfJ0asi553!`B`I-(Jg zGj#pg98W#1AI-0} z^-Qw-*) z9}=23>U63YnG%TIm5|d$GvAZXr>A3a`;FI-=;*g1oTNpXKzXq@%8Sx6xNPw&MQx69qx3 z-FSXR{&TITJobET-+#pZG~{*)UKbGv4p20!iQAO~&WMGMp9$8%Le)2|(SZbY#?Q$Z zb5B^;&IDt7L^Gckl~3=XZ#g92eN3Qb#k@RvR~z>l-1u3SOyI)h*R%EqcYbC1=t(S4Ds5@j|IzS?m4k2<^uY}3v@jRCG)g|2_<-S0`3 zvQow0gXmVnA63g7(xbk5_l3^t^gJI03K>9$7Z#Tg+TJrZ;am%-wY45?a2>7H4op+{ z)}ei;2uRHde7VTFYAi_@q~1;p66fRct3ckY(frA9;g+M2W|p${*pYnRI0|u44?OYE zj+@2jb%^e{K}(!O_>P8u3fvBvfB}o?L+u6I#9WOrMb+1jY*(zw7%Lu@w%vw z0yGn34u9WX2ZQff(6wRGV)f^A?d5j5foteulk zRKOiPDE==V2|?nIdgMkVypd2+_Z){!@%zj^#SCSg?nO#(pjaO1j| z6Z=3>Hz2wi0%;*KeB|XrUll|Eur|~Do0gtnrr!mgQ>G7${$8t?A>6hp zW9nCBFpB1S;ocd+lWOkX%Jz@X^$H5P5z%|0$2B($Y9Xb6Q}PTUF;PDlW_6Br5y$_Q z?%CPFFUdX{uE^es`@aRB(jb|!TMCQb)t|Zu&Aj~e?&=#F9aI;QXcJMqD` zI64jX@He8m_lp4EN3$WYm3{H@o~3CPiwygGqg@zFN}|$}&ozHg{i=wDtzyTjWKo>&a?G?bOWhx=6&f`KLRfXfmAX<&fE{CXZ$gVN<=8V*m+Ozl z^1Wh}Fe)gI8QVzKf;GdPn4od5VY@40jR#VrUckZv-|k-v%Z;-$cwiik6HA+J-`NoS z#SbnnI2cc3J7U%BsdTM&gjeS1^DV<4IpB0|yI{ccteqvVrlwC$eN<6evSE0 zYBuNoAbELwvmT5Ooi7d0>6q1hC3eBXv@iqs8FBYMTLWPYr#n|0!vEc*n!85$X&sMc zU}Hi$K~x(rk^wUs)@gm|U!U+kaV9#u zRb@4n+i|IKWJmGM%j26k>unjx)T}Lc^zBz`|Iy?ulzx34$1G zD^2aJ-F;5I2wuzXO+G(9ZgYL74LkbiO@;aL1jPk2Jph8bg=qcMkW2s}&2RFqx+ZB3|tKsMf@iG6T@WRpCV9-*cC zJEQ*5L4RWnY6XWhN6Y=Dk5^UITU_9MoV1aoh8cd^o;xPCWm8yJ!h$;#K}W?KJ2N=n zbr>D>INm@vZf`4LGJ(%eClSz){9Bo)TRu>idbR+JZYKW08~Gk9|5I;`wU=iv9$Paw ziJUa>^S<53dM9|`K|ZI&*5tJO;cpy$vXM?bbYPj3D1`du(7n$8HgIvwnV@BrpLj59 zhr{01nJVmcFRXfhPGdVRH0XWDbm9&9M~*hk!p4PF@5>dlTTt}&ss#@b+<*_2NfpWW zYjy+29)14joY@7d34IxTLn#hh8*YQvQGc~N;%4ghX;G?j6%-aY&9F@>s`UC_1z(#4 zi1S1|+NdjeDc|or?=CRs)cV7nP^Py0z^t8w6>LlRJ*b$;46iM4Pum(S^ZKus4@WW? z)FlqA3fH}^ylC1LOu|G-44x{Nvlc9wykc$bKc%}V9}B(SV8$4Wt}#xe-0vZ;XkpG3 zh3-(ZOJ&{_uupJNdSphcX!N_-KaVJ)(B%m1U;PcCHhhUqO|v$#n5rXu+D)-21li8F z;Xb=A+R?$5nIyvq;a20TK4bQ5w0%Mr6@a%iB{=PP;%qQnY8bWsC}94HR1~x{>Oh3h zU1Owg5aMnPe4zSc#|<3B;GV5f7()iZlJHLD6CWUC$n{JuK2KcV&{e7K>%Uy@f1< z-cOq@utce?GRTOOD{+J0hk(CKea4Iu~mH|*apVa zqg#*JQggrvz}FUjE5)!+PAmVN11nGd5i%Ar5vcr)BaRw9Y>rKa8B@R%+5Tl_^l#@+ z(yrv>Ppsej(=!8rRVF2|iA$NtE-A?GJ9BD0_3{r$gfb=vpdSSKL zftr7VM6jkdSA^WOi*Oxm$>gB>dWX}?(ZRbfmT_7kdY!{#9P#7jf>IlnEe$U4{%=s% zDrmlh^055mYamAu^Qf{#=mc^`iep#SCbD=*3ERt08celrIyboot@3L4*CSZI=0cI@ zp6{}9M1GqOWT$}-CZ*h zYIv+*kyq>QR3R~I&#Q{{0+&j|l(%m;!B?aetG@$Gs;3RuZ_PxBv5J&$uZ4aep#e>` zybWZ~1m4AuQT>-(8(8EZfv&~^q!k_g&akeK^Bq_U`=q)Cr$mcqmAB0->nsuTKph|W z4x9VVHMVFpio!c^Ub_C;;JEhs%3g3W-53zNrdn2DIXa#`Mp939Zo@|P1RoF=cg5Hx z35*2yii2T)|HR11O#&x^XV>1-&~ml9wIDd#Nh+Wgg6Vm>6Y}dacvt?ib(B0}x!iaFbRjIhYq` zr@dzHj+f2h)|zpdvhT(huhKMnq>EpS%ZbPr2@nzEhHbm1qStNDiPz-w1)|_-^i!8P zv)<(Lh2Sv}g`NRlJc+%RVVcw$0sg#YN&>f#c^FWm-&0(76T($~J{_JP@UN!uk!+Ed zccK=DTA-*!Wsn8;Nbhw>OGcj6(QEjE+$mj*I`y>mY86&z3|%)U7*Rnshw6>(IgOR4 zIlfMLS2U5bxjGT<%}y^TqKTt6%aU-END^!OH$zK<#ONKS|15Z$E=$5q`*{ylX4PWg zE66{F@$q0cIwQe$Z5nkyv7_E!Cx1Wbs97uL(TXDSx;@kyPU=lNAVRsFXL$Fv`p29T zl{nAMri+k*<4(Qj(6W$SD$O}oK}VNIh{S2fGi{7md(2iM*-SwSKppxR;N%|n?{vln zs1qhnm5{B7LB7K?)GLdjYkYxGx|JE7ygvU=duRFA*L>g&CDM>-3nRE(BD2P%@ zhe(Z5VuW-!-n6K6BPom;D1wAYNjexY8l(r31IFNc{1blnem6ec<8f`fw(GjiIj{44 zJzwX{#XUfk$}}K4oXV5_;!U2LF1;rH_fVJzhVYX>mGGaBuC@rddj=P_Hr`@w-L8^d zpP!$ajl{U#pKB$RRGhLR4~qFjTVWZ~{N3RK`_hxVcoXeJ!dvzGFlkrKBnE8V_ff2) z6?b!}eut50YEupBt`$WcZEG_mB}~71>v*@o4e_}<5W+<8?jlN_gQv2@=kcT2O`xbL zJ4eR5#*=1)neD@bCCoyI?hSo+Oi5+9aS3(oa=NemBUEf~Wbn=?L)1%BKKkR$EsyTv zwBXWe@eH*=YRm0CDGpEL5yA;4+>-WmT%+E)lFm0+=;Qk<{#Vre`=?%T`sqPMb|dbH zP-9gCsW&%Ymesn}>|Wu?*Q#7Coc89~(RcJpN*ve=Oak!zu-mUGzOP&6(6en1J(G}$ zjH+g0jebvE@3`sbf9HfDzuGFi{&(BQjMnd0_Tt3zAAahEXIYxx6K!B@esmH`oJ=g0 zMHz9u?Xs>SabdmZQSytT)l2P4M`f2``5H0N_KT-5eUp&k`+EmzAaIe0E{Y>{JO2hN zxcgz@%@o3vcj_npa$m+cK*FEagf)VLBZ@;>SF1vb1i#8VW-D1co{n)&x5bJe1(?cC z&B}i5;gUn&yyo`Qav;?4&jt9-C*{%Q5!~b%$H1~*Cp@XfnVNLzdd@&c(S+l{+^Ya7 zk=4RkJ`m*XcFo@BU+B2o;g#gnPJ*(o*^|l*FG-L^RFGR5RZ~ z5{!TNmsK7SXAI#!TZ_5EO(>$C_Mv3>46C zl0r!c{UQsr?~FPzWMOXIdW1t43Gr#p-hQv-=({1OFJb%xegKowL$iX#x9g16gDT>e zq07PbfrMpJy|C4$n25Fr z?ySc*i8?{4!Cb0=T|`by6BrBza|tR2Ju+r%a{+zs936YpFRqlxShB31 zf=tzG+=ly+5A{RKMqOLzYmIA41R|cM%}ob{=qo{A6CbbowRjXh%iC5$lDt%*3&#Jq zQ54h};jQYwk%d%{rVM&PjXt@Pjm_~+D1_^w8!{~BCHj~j!-_|_2yrbeh5(^oeLdyR zQUm+Oc2|RoD{s=Sq{+I_H-I4!w%aA7AuUM@^Bc%Uq$Ua-&VV7=sO|NOtuDe->mW$V zuYg$o;|;!O^>l{m3`zJ0nz2iN%0D)(@Xuz*RmXy?sxB9OFzK0p9(8h7JJsZ6PvW(Y zFB6pCEDlWTI5?x^0+V^41;zMAvow}7fo{tNF_&oxO8$SdqZwc|x{14WN0+ zao)44$7EcTai0m@`yd!nD2SvWT95QUWp>BVf4VQ{X+tKU^#b$jac`+eSV~TU*q7mKv#=zC&>nAwWh1*m#*xsXOLy;RtH1K&z?F7|zDN^-;+c z$qgMf6b^ApsnJmfo1c#CfX$0*@ekrN%iZOZ-*Vj5b~QWxBWjdP?ntm(R6Q3!Qw@fI z&;?4pxjH_{X3}IW%V~JtelPoG%HLc6MqlG3*nDr}V=5MnSucP}R<$E4@n~}8xR4I6 zb{ES+lmy6YDsHK-8||izC zIHMa0IE(eU-Q8*?;r0sEZ%+TM26m)_B<~KjYBQ51GanJA>*)kxZykvQ7V&aq0p5`Z)H`o^_h{_tl!Kd2zhn^i<2>ZKv> zT27Zg@g-3@Rb*chbyot8rP7IgpuX_&s0n{3uKk~ZHNjB75}Sbje-&F}K%&?~wra^)7r9P?<Ka&bnyKv~cX+9eE4d%U*}Y zeXo*=>tAe?DgIlJDPOdEPF>$o_RJw6zb)xhX{D;N_Nf?n9W-QB&n$U0mbq)jIN9#* zf20smP(u&g27V8V1fLsgg0t1`>}Lm_jFBE~SO2RIwPjR1w{A~!dU|rI!TsVk3;U3m z=lul#m$Jvlk(wMphMf7%2IdM?=nOnHrV?SNYN53=Ze8X2hTs(oM&!Shm;13(XLzOackr9Zyf}v9~zyJJgqwCG0$-S33S^bJk@q&2Y7u#gMx{*ojmD|_Elu% z#CZu@VYrdln_#*Kv!!$zkGXp9sYv>3ew(?sMwJ;1#Zd?LZRX+i_0T$5lP~A7VHd|P z{P}Xf#t`87*W@6oF`l;--K+gmm*IG^%G33Pb%`D2`inpLaP0NBK>3ePw|B4_mTf-! zS|Zd-??*-Pr_{C{n{Id|b1d1G`H!g?T6210>ztnAt{b0-ga)_P3EZQNocx+!@#G^2 z>#Y0`%wZVPRq!)x1|jIV##|>gBMM_)+UCku`29%p(npdqN^Dzv{%kjVg1!C3*?#y@ zUav!emUg}(C#r1>|I>4DNVA!Tq$TlII$M&#sDM&aZ|3*5<0E+#1K*n0cGqv-7-DOO$WdoX8C3b9n4ic(Ntme*T2NreJ&N?-e|Y8XdVr?r`Mxalh* z;IKk&Z_ABhkIbAs^&huSO+nTs+6?ZLYs`M9ZRO}EQxWYb0Z_}B-q61fVm1j&OFlh* zFfSAWwWB>Nb4heB8w^q_*wP9B%r zS64zq<{iStts)M5rp90`Eflz;W>(7W0IRXCF9G7M{^Pi8H62KVIVa`2SjM>9)K}ys zh?=G%IC`^Oa3fp5jGf#S?KnGJ++f|g2$D@z#=$dyhvhD`uu$Xa{*8&!j?wT-$xcwL zF89Vykl_3>$XRbH=F*@Ew{-{9G?LqZ_Cv(CFBrv=P%m*$tK>=5)}|86bV*ch0^jo_ zrp*sX^H~Ogw)^LvZSoer1h3>z(ldx#-1wiU-m|a8nIU!+#t}+(=95!X*quBnE^Q~M zu#N}C#4}^2Wyk)(VTz$Yyr}l$Gcuo2cZGW=N5kqp8*fldUye8Ixq-Qq%9Q+!rO4<_ z^$V))p<%U;k9ub;WI}f#=BplV9XVWYTkbiroa4jewz9J`6d|nH;Q}+u~yI^2)cdv`$vh`$Wd?nS7 zIOz0Kd4{ZI^JKGf73(=eFx@|S#=8-w_qx5Pv}D)QxhnYy)s8e1N1u8JGx^*cC0Zxe zlJ=NfmYZ6jWGlxOro+$dRj~`7QGr|Vz z^dfY@N;)@OHyCNFSC(^l1HU9_iR6zBvUGWU#ZWGdqICY2p&Rwvu}zmyWIo3Io@z5& zmN`hg+hR&I^~&D=Hw}#{@td8*n<&!y%x-zrH+pD2)(EfgKr-5R&$`~1#UGl7ylV8$ z=n6QGcmD~$(=KG&T$A_Vf^!CwR^Ugce_V)y)G<{H36h9-D&JZd&kcf7p4A5twJ5l7 zVm?!D8BJ>>BxJY^gcNB9yH1{N{eH~;^GT6OzLdk+Ak`H~1#nMH=v&HbB_YZ;cW$%I zB{t3J!KO=mXO~0{Hv`{9IW+{XsyERS?}Wa(fiA@raN_h(p@N(U^JWqq)~vd;=!hxP z≈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 literal 0 HcmV?d00001 diff --git a/Scripts/LegacyInFluence/params.py b/Scripts/LegacyInFluence/params.py new file mode 100644 index 0000000..1cf9f26 --- /dev/null +++ b/Scripts/LegacyInFluence/params.py @@ -0,0 +1,62 @@ +import scipy.constants as scc +from common_functions import * +import pathlib +import os + +#Energies +E_i = 200 #in keV +minimum_energy = 0.05 #in keV +t_counting = 40 #in keV + +#Material properties +N = scc.physical_constants['Avogadro constant'][0] +Z = 14 #number of protons +A = 28.1 #atomic weight in Daltons +p = 2.33 #density of material in g/cm cubed +dE_threshold = 0.00362 #eh pair generation of material in keV +pixel_dimensions = List(np.around([27.5*10**-4, 27.5*10**-4, 10**-2 + 300*10**-4], decimals=6)) # [x, y, 10**-2 + z] in cm -change, x, y, z only + +#Choose electron dose +dose = 10000 #choose dose in number of electrons + +#Output file type +ext = '.png' +ext_2 = '.svg' + +#images +num_samples = 1 #relative precision = 1/root(n) + +#unmodulated image +path_to_image = r"/workspaces/InFluence/ExampleData/slanted_edge.npy" + +image_type = 'specimen' #knife_edge, white_noise or specimen + +#No need to change these +save_file_folder = os.path.join(str(pathlib.Path(path_to_image).parent.parent), '{}_keV_HT_and_{}_keV_countingthreshold'.format(E_i, t_counting),str(dose) + '_electrons') +os.makedirs(save_file_folder, exist_ok=True) + + + +path_to_unmodulated_image = os.path.join(save_file_folder, 'Unmodulated_{}_{}_electrons.npy'.format(image_type,dose)) + +path_to_modulated_image = os.path.join(save_file_folder, 'Modulated_{}_{}_electrons.npy'.format(image_type,dose)) + +path_to_parameter_file = os.path.join(save_file_folder, 'Modulated_{}_parameter_file_for_{}_electrons.txt'.format(image_type,dose)) + +path_to_trajectory_plot = os.path.join(save_file_folder,'Trajectory_plot_view_1' + ext) +path_to_trajectory_plot_svg = os.path.join(save_file_folder,'Trajectory_plot_view_1' + ext_2) +path_to_trajectory_plot_v2 = os.path.join(save_file_folder, 'Trajectory_plot_view_2' + ext) +path_to_trajectory_plot_v2_svg = os.path.join(save_file_folder,'Trajectory_plot_view_2' + ext_2) +path_to_trajectory_histogram_plot = os.path.join(save_file_folder, 'Trajectory_histogram_plot' + ext) +path_to_trajectory_histogram_plot_svg = os.path.join(save_file_folder,'Trajectory_histogram_plot' + ext_2) + +#Do not change these +print('\nParameters used in simulation: \n \n', ' Incident energy (keV): ', E_i, '\n Mininum energy (keV): ', minimum_energy, '\n Counting threshold (keV): ', t_counting, + '\n Electron-hole pair energy threshold (keV): ', dE_threshold, '\n Z: ', Z, '\n Atomic weight (u): ', A, '\n Density (g/cm\N{SUPERSCRIPT THREE}): ', p, + '\n Pixel dimensions (cm): ', pixel_dimensions, '\n Fluence (e): ', dose, '\n Number of samples: ', num_samples) + +with open(path_to_parameter_file, "w+") as text_file: + print('Parameters used in simulation: \n \n', ' Incident energy (keV): ', E_i, '\n Mininum energy (keV): ', minimum_energy, '\n Counting threshold (keV): ', t_counting, + '\n Electron-hole pair energy threshold (keV): ', dE_threshold, '\n Z: ', Z, '\n Atomic weight (u): ', A, '\n Density (g/cm\N{SUPERSCRIPT THREE}): ', p, + '\n Pixel dimensions (cm): ', pixel_dimensions, '\n Fluence (e): ', dose, '\n Number of samples: ', num_samples, file=text_file) +print('\nParameters used in this experiment are saved to: ', path_to_parameter_file) diff --git a/Scripts/LegacyInFluence/plot_trajectories.py b/Scripts/LegacyInFluence/plot_trajectories.py new file mode 100644 index 0000000..86a85d6 --- /dev/null +++ b/Scripts/LegacyInFluence/plot_trajectories.py @@ -0,0 +1,214 @@ +from params import * + +N = scc.physical_constants['Avogadro constant'][0] +material_thickness = pixel_dimensions[2] + + +@jit(nopython = True) +def MCSA_Loop(E_i, minimum_energy, N, Z, A, p, material_thickness, dose): + #counters + number_transmitted = 0 + number_backscattered = 0 + number_stopped = 0 + vector_coordinates_x = List([np.float64(0)]) + vector_coordinates_y = List([np.float64(0)]) + vector_coordinates_z = List([np.float64(0)]) + points_per_trajectory = List([np.float64(0)]) + for _ in range(1, dose+1): + point_counter = 1 + # calculate initial conditions for all electrons + alpha = evaluate_alpha(E_i, Z) + cross = evaluate_cross_section(E_i, Z, alpha) + path_length = evaluate_path_length(A, N, p, cross) + RND_step = RND(a=0.000001, b=0.999999) + step = evaluate_step(path_length, RND=RND_step) + ip = initialise_postions(step = step, d = 27.5*10**-7 ) #units a are in cm + cx = ip[0] + cy = ip[1] + cz = ip[2] + z0 = ip[3] + y0 = ip[4] + x0 = ip[5] + vector_coordinates_x.append(x0) + vector_coordinates_y.append(y0) + vector_coordinates_z.append(z0) + condition = True + E = E_i + while condition: + + if z0 < 0.01: + number_backscattered += 1 + condition = False + + if E <= minimum_energy: + number_stopped += 1 + condition = False + if z0 > material_thickness: + number_transmitted += 1 + condition = False + + RND_phi = RND(a=0, b=1) # generate random number for the phi angle + RND_step = RND(a = 0, b = 1) + RND_pho = RND(a = 0, b = 1) + alpha = evaluate_alpha(E, Z) #calc screening constant, function of previous energy + cross = evaluate_cross_section(E, Z, alpha) #calc cross section + path_length = evaluate_path_length(A, N, p, cross) #calc mean free path length + step = evaluate_step(path_length = path_length, RND=RND_step) #calculate step of this iteration + E = E + step*p*evaluate_energy_loss_rate(E, Z, A) #calc new energy + + phi = evaluate_phi(RND = RND_phi, alpha = alpha) #calc scattering angle + psi = evaluate_pho(RND = RND_pho) #calc other scattering angle + + ca = evaluate_direction_cosine_a(phi, psi, cx, cy, cz) #calc direction cosines + cb = evaluate_direction_cosine_b(phi, psi, cx, cy, cz) + cc = evaluate_direction_cosine_c(phi, psi, cz) + + x0 = x0 + step*ca #find and reset to new positions + y0 = y0 + step*cb + z0 = z0 + step*cc + cx = ca #reset direction cosines + cy = cb + cz = cc + vector_coordinates_x.append(x0) + vector_coordinates_y.append(y0) + vector_coordinates_z.append(z0) + point_counter += 1 + + points_per_trajectory.append(point_counter) + + return vector_coordinates_x, vector_coordinates_y, vector_coordinates_z, points_per_trajectory + + +if __name__ == '__main__': + start = time.time() + print('\nCalculating electron trajectories...') + random.seed() + x_axis, y_axis, z_axis, p= MCSA_Loop(E_i, minimum_energy, N, Z, A, p, material_thickness, dose) + print('\nPlotting electron trajectories...') + del p[0] + del x_axis[0] + del y_axis[0] + del z_axis[0] + p = List(map(int, p)) + + distance_from_centre = [] #for plotting lateral spread bar chart + + #suppress plotting to use savefig + + import matplotlib as mpl + #mpl.use('Agg') + import matplotlib.font_manager as fm + import matplotlib.pyplot as plt + # Rebuild the matplotlib font cache + fm._rebuild() + mpl.rcParams['font.family'] = 'Arial' + plt.rcParams['font.size'] = 12 + plt.rcParams['axes.linewidth'] = 2 + + #Plot 3D spread + fig = plt.figure(figsize=(12, 12), dpi= 100) #change resolution of plot, size of plot + ax = plt.axes(projection = '3d') #initialise axes + ax.view_init(elev = 185, azim = 135) #view down z axis #185, 135 fro diaganal view + plt.xlabel('x direction [$\mu$m]', fontsize = 24, labelpad= 40) #um because multiplied by 10000 + # later + plt.ylabel('y direction [$\mu$m]', fontsize = 24, labelpad= 40) + ax.set_zlabel('z direction [$\mu$m]', fontsize = 24, labelpad = 40) + #ax.w_zaxis.line.set_lw(0.) #make z linewidth zero and remove labels -> effectively make z axis invisible + #ax.set_zticks([]) + ax.xaxis.set_tick_params(which='major', size=22, width=2, direction='inout', pad = 15) + ax.xaxis.set_tick_params(which='minor', size=17, width=2, direction='inout', pad = 15) + ax.yaxis.set_tick_params(which='major', size=22, width=2, direction='inout', pad = 15) + ax.yaxis.set_tick_params(which='minor', size=17, width=2, direction='inout', pad = 15) + ax.zaxis.set_tick_params(which='major', size=22, width=2, direction='inout', pad = 15) + ax.zaxis.set_tick_params(which='minor', size=17, width=2, direction='inout', pad = 15) + #ax.xaxis.set_major_locator(mpl.ticker.MultipleLocator(10)) + #ax.yaxis.set_major_locator(mpl.ticker.MultipleLocator(10)) + ax.xaxis.pane.fill = False + ax.yaxis.pane.fill = False + ax.zaxis.pane.fill = False + ax.xaxis.pane.set_edgecolor('w') + ax.yaxis.pane.set_edgecolor('w') + ax.zaxis.pane.set_edgecolor('w') + num = len(p) + beginning = 0 + for i in range(0, num): + end = beginning + p[i] + x_coords = 10000*np.array(x_axis[beginning:end]) #multiply to change to um + y_coords = 10000*np.array(y_axis[beginning:end]) + z_coords = 10000*np.array(z_axis[beginning:end]) + + + #Get info. for distance from centre + distance = (x_coords[-1]**2 +y_coords[-1]**2)**0.5 + distance_from_centre.append(distance) + + #Plot 3D spread + ax.plot(x_coords, y_coords, z_coords, color=(random.uniform(0, 1), random.uniform(0, 1), random.uniform( + 0, 1))) + + beginning = end + + #Plot 3D spread + plt.tight_layout() + plt.autoscale() + lim_upper = np.max([abs(max(plt.xlim())), abs(max(plt.ylim())), abs(min(plt.xlim())), abs(min(plt.ylim()))]) + plt.xlim(-lim_upper, lim_upper) + plt.ylim(-lim_upper, lim_upper) #these limits ensure that x and y axes are the same size, ie. square box. Size is + #biggest distance away from centre + fig.show() + plt.pause(1e-30) + + + + #filename = r'I:\Monte Carlo stuff\ImagesForPaper\sideview60keV.svg' + plt.savefig(path_to_trajectory_plot, dpi = 300,transparent = True, bbox_inches = 'tight', pad_inches = 0) + plt.savefig(path_to_trajectory_plot_svg, dpi=300, transparent=True, bbox_inches='tight', pad_inches=0) + ax.view_init(elev=90, azim=0) + ax.zaxis.set_ticklabels([]) + ax.set_zlabel('') + plt.savefig(path_to_trajectory_plot_v2, dpi=300, transparent=True, bbox_inches='tight', pad_inches=0) + plt.savefig(path_to_trajectory_plot_v2_svg, dpi=300, transparent=True, bbox_inches='tight', pad_inches=0) + plt.close(fig) + #print('time elapsed: ', time.clock() - start) + + # Plot histogram + + def bins_labels(bins, **kwargs): + bin_w = ((max(bins) - min(bins)) / (len(bins) - 1)) + lbls = np.around(bins[1:] - bin_w / 2, decimals=2) + plt.xticks(np.arange(min(bins) + bin_w / 2, max(bins), bin_w), lbls, + **kwargs) + + + from matplotlib.ticker import PercentFormatter + + distance_from_centre = np.around(np.array(distance_from_centre), decimals=2) + distance_from_centre = distance_from_centre[~np.isnan(distance_from_centre)] + # Plot distance from centre + fig_hist = plt.figure(figsize=(14, 7), dpi=100) + plt.style.use('seaborn-whitegrid') + n, bins, patches = plt.hist(distance_from_centre, bins=10, facecolor='#2ab0ff', edgecolor='black', + linewidth=1.5, weights=np.ones(len(distance_from_centre)) / len(distance_from_centre)) + plt.gca().yaxis.set_major_formatter(PercentFormatter(1)) + # plt.title('Histogram of the final distance travelled by each electron relative to the centre of the pixel', + # fontsize=16) + plt.xlabel('Final distance of an electron from its point of incidence [$\mu$m]', fontsize=14, labelpad=25) + plt.ylabel('Counts', fontsize=14, labelpad=25) + for count, patch in enumerate(patches): + #patch.set_facecolor(colors[np.random.randint(100) % nbins]) + x = patch.get_x() + patch.get_width() / 2 + y = patch.get_height() + #print(y) + plt.annotate('{}%'.format(np.around(y*100, decimals = 2)), (x, y+0.0075), ha='center') + #plt.grid() + #plt.box(on=None) + bins_labels(bins, rotation=0, fontsize=10) + plt.ylim() + plt.pause(1e-30) + bottom, top = plt.ylim() + plt.ylim(top = 1.2*top) + + plt.savefig(path_to_trajectory_histogram_plot, dpi = 300,transparent = True, bbox_inches = 'tight', pad_inches = 0 ) + plt.savefig(path_to_trajectory_histogram_plot_svg, dpi = 300,transparent = True, bbox_inches = 'tight', pad_inches = 0 ) + plt.close(fig_hist) + print('\n\nRun time: ', time.time() - start) From 31cd504fee319119a299cdd91ba04caf6ab75e3a Mon Sep 17 00:00:00 2001 From: Bex Date: Sun, 27 Aug 2023 22:47:43 +0100 Subject: [PATCH 3/7] Committing all --- "Scripts/InFluence/\"OutputFile\".png" | Bin 0 -> 2396 bytes .../InFluence/ArrayMonteCarloScattering.py | 132 +++ Scripts/InFluence/CMakeLists.txt | 14 + Scripts/InFluence/CPP/.h | 67 ++ Scripts/InFluence/CPP/CMakeLists.txt | 43 + Scripts/InFluence/CPP/InFluence.so | Bin 0 -> 951144 bytes Scripts/InFluence/CPP/MCloop.cpp | 277 ++++++ Scripts/InFluence/CPP/MCloop.h | 11 + Scripts/InFluence/CPP/MCloop.o | Bin 0 -> 70080 bytes Scripts/InFluence/CPP/__init__.py | 0 .../CPP/__pycache__/__init__.cpython-38.pyc | Bin 0 -> 146 bytes Scripts/InFluence/CPP/build/CMakeCache.txt | 400 ++++++++ .../CMakeFiles/3.27.0/CMakeCCompiler.cmake | 74 ++ .../CMakeFiles/3.27.0/CMakeCXXCompiler.cmake | 85 ++ .../3.27.0/CMakeDetermineCompilerABI_C.bin | Bin 0 -> 9384 bytes .../3.27.0/CMakeDetermineCompilerABI_CXX.bin | Bin 0 -> 9408 bytes .../build/CMakeFiles/3.27.0/CMakeSystem.cmake | 15 + .../3.27.0/CompilerIdC/CMakeCCompilerId.c | 866 ++++++++++++++++++ .../build/CMakeFiles/3.27.0/CompilerIdC/a.out | Bin 0 -> 9528 bytes .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 855 +++++++++++++++++ .../CMakeFiles/3.27.0/CompilerIdCXX/a.out | Bin 0 -> 9536 bytes .../build/CMakeFiles/CMakeConfigureLog.yaml | 521 +++++++++++ .../CMakeDirectoryInformation.cmake | 16 + .../CMakeFiles/InFluence.dir/DependInfo.cmake | 24 + .../build/CMakeFiles/InFluence.dir/build.make | 191 ++++ .../InFluence.dir/cmake_clean.cmake | 21 + .../InFluence.dir/compiler_depend.make | 2 + .../InFluence.dir/compiler_depend.ts | 2 + .../CMakeFiles/InFluence.dir/depend.make | 2 + .../build/CMakeFiles/InFluence.dir/flags.make | 10 + .../build/CMakeFiles/InFluence.dir/link.txt | 1 + .../CMakeFiles/InFluence.dir/progress.make | 8 + .../CPP/build/CMakeFiles/Makefile.cmake | 132 +++ .../InFluence/CPP/build/CMakeFiles/Makefile2 | 112 +++ .../build/CMakeFiles/TargetDirectories.txt | 3 + .../CPP/build/CMakeFiles/cmake.check_cache | 1 + .../CPP/build/CMakeFiles/progress.marks | 1 + Scripts/InFluence/CPP/build/Makefile | 316 +++++++ .../InFluence/CPP/build/cmake_install.cmake | 54 ++ Scripts/InFluence/CPP/constants.cpp | 14 + Scripts/InFluence/CPP/constants.h | 15 + Scripts/InFluence/CPP/constants.o | Bin 0 -> 1600 bytes Scripts/InFluence/CPP/electron_generator.cpp | 38 + Scripts/InFluence/CPP/electron_generator.o | Bin 0 -> 79656 bytes Scripts/InFluence/CPP/electrons_generator.h | 11 + Scripts/InFluence/CPP/helper_functions.cpp | 277 ++++++ Scripts/InFluence/CPP/helper_functions.h | 58 ++ Scripts/InFluence/CPP/helper_functions.o | Bin 0 -> 183096 bytes Scripts/InFluence/CPP/influence | Bin 0 -> 159840 bytes Scripts/InFluence/CPP/main.cpp | 53 ++ Scripts/InFluence/CPP/main.o | Bin 0 -> 88888 bytes Scripts/InFluence/CPP/makefile | 26 + Scripts/InFluence/CPP/practice.py | 23 + Scripts/InFluence/CPP/temp.cpp | 82 ++ Scripts/InFluence/CPP/wrapper.cpp | 54 ++ Scripts/InFluence/CPP/wrapper.o | Bin 0 -> 1670008 bytes Scripts/InFluence/CUDA_FILE/MCLoop.cu | 608 ++++++++++++ Scripts/InFluence/CUDA_FILE/MCLoop.cuh | 0 Scripts/InFluence/CUDA_FILE/__init__.py | 6 + .../__pycache__/__init__.cpython-38.pyc | Bin 0 -> 152 bytes .../cuda_kernel_wrapper.cpython-38.pyc | Bin 0 -> 576 bytes .../CUDA_FILE/cuda_kernel_wrapper.py | 20 + Scripts/InFluence/CUDA_FILE/gpu_helpers.cu | 92 ++ Scripts/InFluence/CUDA_FILE/redundant.txt | 40 + .../InFluence/ElectronObjectConstructor.py | 95 ++ .../HelperFunctionOptimizationTest.py | 113 +++ .../HelperFunctionOptimizationTestOutput.txt | 32 + Scripts/InFluence/HelperFunctions.py | 122 +++ Scripts/InFluence/ImageObjectConstructor.py | 91 ++ .../InFluence/ImagePreProcessing/__init__.py | 0 Scripts/InFluence/InFluence.egg-info/PKG-INFO | 10 + .../InFluence/InFluence.egg-info/SOURCES.txt | 9 + .../InFluence.egg-info/dependency_links.txt | 1 + .../InFluence.egg-info/entry_points.txt | 3 + .../InFluence/InFluence.egg-info/requires.txt | 5 + .../InFluence.egg-info/top_level.txt | 2 + Scripts/InFluence/InFluenceSimulation.py | 118 +++ Scripts/InFluence/InFluence_CLI.py | 127 +++ Scripts/InFluence/LegacyHelperFunctions.py | 169 ++++ Scripts/InFluence/ListLookupTest.py | 31 + Scripts/InFluence/MCSS_PythonFunctions.py | 183 ++++ .../InFluence/MCSS_PythonFunctions_Plot.py | 204 +++++ .../InFluence/MCSS_PythonFunctions_Sparse.py | 284 ++++++ .../MonteCarloScatteringSimualtion_GPU.py | 77 ++ .../MonteCarloScatteringSimulation_CPP.py | 59 ++ .../MonteCarloScatteringSimulation_Python.py | 69 ++ .../.png | Bin 0 -> 115511 bytes .../__init__.py | 5 + .../ElectronObjectConstructor.cpython-38.pyc | Bin 0 -> 2009 bytes .../HelperFunctions.cpython-38.pyc | Bin 0 -> 4032 bytes .../MCSS_PythonFunctions.cpython-38.pyc | Bin 0 -> 4668 bytes .../MCSS_PythonFunctions_Plot.cpython-38.pyc | Bin 0 -> 5031 bytes ...MCSS_PythonFunctions_Sparse.cpython-38.pyc | Bin 0 -> 5395 bytes .../PlotTrajectoryFunctions.cpython-38.pyc | Bin 0 -> 3941 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 0 -> 186 bytes Scripts/InFluence/PerfectImage.py | 0 Scripts/InFluence/PixelObjectConstructor.py | 26 + Scripts/InFluence/PlotTrajectoryFunctions.py | 141 +++ Scripts/InFluence/VectorizedMCSimulation.py | 437 +++++++++ Scripts/InFluence/__init__.py | 1 + .../ArrayMonteCarloScattering.cpython-38.pyc | Bin 0 -> 3285 bytes .../CPP_MCScatteringLoop.cpython-38.pyc | Bin 0 -> 1760 bytes .../CuPyHelperFunctions.cpython-38.pyc | Bin 0 -> 3624 bytes ...teCarloScatteringSimylation.cpython-38.pyc | Bin 0 -> 7894 bytes .../ElectronArrayConstructor.cpython-38.pyc | Bin 0 -> 1614 bytes .../ElectronObjectConstructor.cpython-38.pyc | Bin 0 -> 2831 bytes ...rnel_MCScatteringSimulation.cpython-38.pyc | Bin 0 -> 2437 bytes .../HelperFunctions.cpython-38.pyc | Bin 0 -> 3986 bytes .../ImageObjectConstructor.cpython-38.pyc | Bin 0 -> 2921 bytes .../ImageObjectGenerator.cpython-38.pyc | Bin 0 -> 2913 bytes .../InFluenceSimulation.cpython-38.pyc | Bin 0 -> 2709 bytes .../LegacyHelperFunctions.cpython-38.pyc | Bin 0 -> 5549 bytes .../MCSS_PythonFunctions.cpython-38.pyc | Bin 0 -> 3731 bytes .../MCSS_PythonFunctions_Plot.cpython-38.pyc | Bin 0 -> 4058 bytes ...MCSS_PythonFunctions_Sparse.cpython-38.pyc | Bin 0 -> 4550 bytes ...MCScatteringHelperFunctions.cpython-38.pyc | Bin 0 -> 3633 bytes ...teCarloScatteringSimulation.cpython-38.pyc | Bin 0 -> 5486 bytes ...ScatteringSimulation_Python.cpython-38.pyc | Bin 0 -> 3019 bytes ...rizedMCScatteringSimulation.cpython-38.pyc | Bin 0 -> 6960 bytes .../__pycache__/Pixel.cpython-38.pyc | Bin 0 -> 3444 bytes .../PixelConstructor.cpython-38.pyc | Bin 0 -> 843 bytes .../PixelObjectConstructor.cpython-38.pyc | Bin 0 -> 849 bytes .../PlotTrajectoryFunctions.cpython-38.pyc | Bin 0 -> 3897 bytes .../SinglePixelMCLoop.cpython-38.pyc | Bin 0 -> 6137 bytes .../VectorizedMCSimulation.cpython-38.pyc | Bin 0 -> 7884 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 0 -> 151 bytes .../__pycache__/electron.cpython-38.pyc | Bin 0 -> 1769 bytes .../__pycache__/filepaths.cpython-38.pyc | Bin 0 -> 483 bytes .../InFluence/__pycache__/main.cpython-38.pyc | Bin 0 -> 1047 bytes .../__pycache__/parameters.cpython-38.pyc | Bin 0 -> 789 bytes ...elperFunctions.cpython-38-pytest-7.4.0.pyc | Bin 0 -> 10022 bytes Scripts/InFluence/backup.py | 317 +++++++ Scripts/InFluence/build/CMakeCache.txt | 358 ++++++++ .../CMakeFiles/3.27.0/CMakeCXXCompiler.cmake | 85 ++ .../3.27.0/CMakeDetermineCompilerABI_CXX.bin | Bin 0 -> 9408 bytes .../build/CMakeFiles/3.27.0/CMakeSystem.cmake | 15 + .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 855 +++++++++++++++++ .../CMakeFiles/3.27.0/CompilerIdCXX/a.out | Bin 0 -> 9536 bytes .../build/CMakeFiles/CMakeConfigureLog.yaml | 272 ++++++ .../build/CMakeFiles/cmake.check_cache | 1 + Scripts/InFluence/build/lib/InFluence_CLI.py | 127 +++ Scripts/InFluence/build/lib/main.py | 88 ++ Scripts/InFluence/config.ini | 20 + Scripts/InFluence/config_file_generator.py | 30 + .../dist/InFluence-1.0-py3-none-any.whl | Bin 0 -> 3846 bytes Scripts/InFluence/dist/InFluence-1.0.tar.gz | Bin 0 -> 3217 bytes Scripts/InFluence/filepaths.py | 11 + Scripts/InFluence/gputest.py | 26 + Scripts/InFluence/gui.py | 285 ++++++ Scripts/InFluence/main.py | 97 ++ Scripts/InFluence/parameters.py | 18 + Scripts/InFluence/plot.py | 22 + Scripts/InFluence/refactoring_checks.py | 108 +++ Scripts/InFluence/setup.py | 19 + Scripts/InFluence/test_HelperFunctions.py | 173 ++++ Scripts/InFluence/vdf | 0 156 files changed, 11014 insertions(+) create mode 100644 "Scripts/InFluence/\"OutputFile\".png" create mode 100644 Scripts/InFluence/ArrayMonteCarloScattering.py create mode 100644 Scripts/InFluence/CMakeLists.txt create mode 100644 Scripts/InFluence/CPP/.h create mode 100644 Scripts/InFluence/CPP/CMakeLists.txt create mode 100755 Scripts/InFluence/CPP/InFluence.so create mode 100644 Scripts/InFluence/CPP/MCloop.cpp create mode 100644 Scripts/InFluence/CPP/MCloop.h create mode 100644 Scripts/InFluence/CPP/MCloop.o create mode 100644 Scripts/InFluence/CPP/__init__.py create mode 100644 Scripts/InFluence/CPP/__pycache__/__init__.cpython-38.pyc create mode 100644 Scripts/InFluence/CPP/build/CMakeCache.txt create mode 100644 Scripts/InFluence/CPP/build/CMakeFiles/3.27.0/CMakeCCompiler.cmake create mode 100644 Scripts/InFluence/CPP/build/CMakeFiles/3.27.0/CMakeCXXCompiler.cmake create mode 100755 Scripts/InFluence/CPP/build/CMakeFiles/3.27.0/CMakeDetermineCompilerABI_C.bin create mode 100755 Scripts/InFluence/CPP/build/CMakeFiles/3.27.0/CMakeDetermineCompilerABI_CXX.bin create mode 100644 Scripts/InFluence/CPP/build/CMakeFiles/3.27.0/CMakeSystem.cmake create mode 100644 Scripts/InFluence/CPP/build/CMakeFiles/3.27.0/CompilerIdC/CMakeCCompilerId.c create mode 100755 Scripts/InFluence/CPP/build/CMakeFiles/3.27.0/CompilerIdC/a.out create mode 100644 Scripts/InFluence/CPP/build/CMakeFiles/3.27.0/CompilerIdCXX/CMakeCXXCompilerId.cpp create mode 100755 Scripts/InFluence/CPP/build/CMakeFiles/3.27.0/CompilerIdCXX/a.out create mode 100644 Scripts/InFluence/CPP/build/CMakeFiles/CMakeConfigureLog.yaml create mode 100644 Scripts/InFluence/CPP/build/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/DependInfo.cmake create mode 100644 Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/build.make create mode 100644 Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/cmake_clean.cmake create mode 100644 Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/compiler_depend.make create mode 100644 Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/compiler_depend.ts create mode 100644 Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/depend.make create mode 100644 Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/flags.make create mode 100644 Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/link.txt create mode 100644 Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/progress.make create mode 100644 Scripts/InFluence/CPP/build/CMakeFiles/Makefile.cmake create mode 100644 Scripts/InFluence/CPP/build/CMakeFiles/Makefile2 create mode 100644 Scripts/InFluence/CPP/build/CMakeFiles/TargetDirectories.txt create mode 100644 Scripts/InFluence/CPP/build/CMakeFiles/cmake.check_cache create mode 100644 Scripts/InFluence/CPP/build/CMakeFiles/progress.marks create mode 100644 Scripts/InFluence/CPP/build/Makefile create mode 100644 Scripts/InFluence/CPP/build/cmake_install.cmake create mode 100644 Scripts/InFluence/CPP/constants.cpp create mode 100644 Scripts/InFluence/CPP/constants.h create mode 100644 Scripts/InFluence/CPP/constants.o create mode 100644 Scripts/InFluence/CPP/electron_generator.cpp create mode 100644 Scripts/InFluence/CPP/electron_generator.o create mode 100644 Scripts/InFluence/CPP/electrons_generator.h create mode 100644 Scripts/InFluence/CPP/helper_functions.cpp create mode 100644 Scripts/InFluence/CPP/helper_functions.h create mode 100644 Scripts/InFluence/CPP/helper_functions.o create mode 100755 Scripts/InFluence/CPP/influence create mode 100644 Scripts/InFluence/CPP/main.cpp create mode 100644 Scripts/InFluence/CPP/main.o create mode 100644 Scripts/InFluence/CPP/makefile create mode 100644 Scripts/InFluence/CPP/practice.py create mode 100644 Scripts/InFluence/CPP/temp.cpp create mode 100644 Scripts/InFluence/CPP/wrapper.cpp create mode 100644 Scripts/InFluence/CPP/wrapper.o create mode 100644 Scripts/InFluence/CUDA_FILE/MCLoop.cu create mode 100644 Scripts/InFluence/CUDA_FILE/MCLoop.cuh create mode 100644 Scripts/InFluence/CUDA_FILE/__init__.py create mode 100644 Scripts/InFluence/CUDA_FILE/__pycache__/__init__.cpython-38.pyc create mode 100644 Scripts/InFluence/CUDA_FILE/__pycache__/cuda_kernel_wrapper.cpython-38.pyc create mode 100644 Scripts/InFluence/CUDA_FILE/cuda_kernel_wrapper.py create mode 100644 Scripts/InFluence/CUDA_FILE/gpu_helpers.cu create mode 100644 Scripts/InFluence/CUDA_FILE/redundant.txt create mode 100644 Scripts/InFluence/ElectronObjectConstructor.py create mode 100644 Scripts/InFluence/HelperFunctionOptimizationTest.py create mode 100644 Scripts/InFluence/HelperFunctionOptimizationTestOutput.txt create mode 100644 Scripts/InFluence/HelperFunctions.py create mode 100644 Scripts/InFluence/ImageObjectConstructor.py create mode 100644 Scripts/InFluence/ImagePreProcessing/__init__.py create mode 100644 Scripts/InFluence/InFluence.egg-info/PKG-INFO create mode 100644 Scripts/InFluence/InFluence.egg-info/SOURCES.txt create mode 100644 Scripts/InFluence/InFluence.egg-info/dependency_links.txt create mode 100644 Scripts/InFluence/InFluence.egg-info/entry_points.txt create mode 100644 Scripts/InFluence/InFluence.egg-info/requires.txt create mode 100644 Scripts/InFluence/InFluence.egg-info/top_level.txt create mode 100644 Scripts/InFluence/InFluenceSimulation.py create mode 100644 Scripts/InFluence/InFluence_CLI.py create mode 100644 Scripts/InFluence/LegacyHelperFunctions.py create mode 100644 Scripts/InFluence/ListLookupTest.py create mode 100644 Scripts/InFluence/MCSS_PythonFunctions.py create mode 100644 Scripts/InFluence/MCSS_PythonFunctions_Plot.py create mode 100644 Scripts/InFluence/MCSS_PythonFunctions_Sparse.py create mode 100644 Scripts/InFluence/MonteCarloScatteringSimualtion_GPU.py create mode 100644 Scripts/InFluence/MonteCarloScatteringSimulation_CPP.py create mode 100644 Scripts/InFluence/MonteCarloScatteringSimulation_Python.py create mode 100644 Scripts/InFluence/MonteCarloScatteringSimulation_Python_Files/.png create mode 100644 Scripts/InFluence/MonteCarloScatteringSimulation_Python_Files/__init__.py create mode 100644 Scripts/InFluence/MonteCarloScatteringSimulation_Python_Files/__pycache__/ElectronObjectConstructor.cpython-38.pyc create mode 100644 Scripts/InFluence/MonteCarloScatteringSimulation_Python_Files/__pycache__/HelperFunctions.cpython-38.pyc create mode 100644 Scripts/InFluence/MonteCarloScatteringSimulation_Python_Files/__pycache__/MCSS_PythonFunctions.cpython-38.pyc create mode 100644 Scripts/InFluence/MonteCarloScatteringSimulation_Python_Files/__pycache__/MCSS_PythonFunctions_Plot.cpython-38.pyc create mode 100644 Scripts/InFluence/MonteCarloScatteringSimulation_Python_Files/__pycache__/MCSS_PythonFunctions_Sparse.cpython-38.pyc create mode 100644 Scripts/InFluence/MonteCarloScatteringSimulation_Python_Files/__pycache__/PlotTrajectoryFunctions.cpython-38.pyc create mode 100644 Scripts/InFluence/MonteCarloScatteringSimulation_Python_Files/__pycache__/__init__.cpython-38.pyc create mode 100644 Scripts/InFluence/PerfectImage.py create mode 100644 Scripts/InFluence/PixelObjectConstructor.py create mode 100644 Scripts/InFluence/PlotTrajectoryFunctions.py create mode 100644 Scripts/InFluence/VectorizedMCSimulation.py create mode 100644 Scripts/InFluence/__init__.py create mode 100644 Scripts/InFluence/__pycache__/ArrayMonteCarloScattering.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/CPP_MCScatteringLoop.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/CuPyHelperFunctions.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/CuPyMonteCarloScatteringSimylation.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/ElectronArrayConstructor.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/ElectronObjectConstructor.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/GPU_Kernel_MCScatteringSimulation.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/HelperFunctions.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/ImageObjectConstructor.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/ImageObjectGenerator.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/InFluenceSimulation.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/LegacyHelperFunctions.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/MCSS_PythonFunctions.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/MCSS_PythonFunctions_Plot.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/MCSS_PythonFunctions_Sparse.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/MCScatteringHelperFunctions.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/MonteCarloScatteringSimulation.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/MonteCarloScatteringSimulation_Python.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/PartiallyVectorizedMCScatteringSimulation.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/Pixel.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/PixelConstructor.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/PixelObjectConstructor.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/PlotTrajectoryFunctions.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/SinglePixelMCLoop.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/VectorizedMCSimulation.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/__init__.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/electron.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/filepaths.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/main.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/parameters.cpython-38.pyc create mode 100644 Scripts/InFluence/__pycache__/test_HelperFunctions.cpython-38-pytest-7.4.0.pyc create mode 100644 Scripts/InFluence/backup.py create mode 100644 Scripts/InFluence/build/CMakeCache.txt create mode 100644 Scripts/InFluence/build/CMakeFiles/3.27.0/CMakeCXXCompiler.cmake create mode 100755 Scripts/InFluence/build/CMakeFiles/3.27.0/CMakeDetermineCompilerABI_CXX.bin create mode 100644 Scripts/InFluence/build/CMakeFiles/3.27.0/CMakeSystem.cmake create mode 100644 Scripts/InFluence/build/CMakeFiles/3.27.0/CompilerIdCXX/CMakeCXXCompilerId.cpp create mode 100755 Scripts/InFluence/build/CMakeFiles/3.27.0/CompilerIdCXX/a.out create mode 100644 Scripts/InFluence/build/CMakeFiles/CMakeConfigureLog.yaml create mode 100644 Scripts/InFluence/build/CMakeFiles/cmake.check_cache create mode 100644 Scripts/InFluence/build/lib/InFluence_CLI.py create mode 100644 Scripts/InFluence/build/lib/main.py create mode 100644 Scripts/InFluence/config.ini create mode 100644 Scripts/InFluence/config_file_generator.py create mode 100644 Scripts/InFluence/dist/InFluence-1.0-py3-none-any.whl create mode 100644 Scripts/InFluence/dist/InFluence-1.0.tar.gz create mode 100644 Scripts/InFluence/filepaths.py create mode 100644 Scripts/InFluence/gputest.py create mode 100644 Scripts/InFluence/gui.py create mode 100644 Scripts/InFluence/main.py create mode 100644 Scripts/InFluence/parameters.py create mode 100644 Scripts/InFluence/plot.py create mode 100644 Scripts/InFluence/refactoring_checks.py create mode 100644 Scripts/InFluence/setup.py create mode 100644 Scripts/InFluence/test_HelperFunctions.py create mode 100644 Scripts/InFluence/vdf diff --git "a/Scripts/InFluence/\"OutputFile\".png" "b/Scripts/InFluence/\"OutputFile\".png" new file mode 100644 index 0000000000000000000000000000000000000000..72354204692aa86cfb0bce31acc22fdbb378fc2f GIT binary patch literal 2396 zcmeAS@N?(olHy`uVBq!ia0y~yU}|7sV0^&A1{5*9c;^X_vMh0pC<)F_D=AMbN@eg( zEGfvzFUiSFQYcF;D$dN$GuAWLGtyDWC@Co@w$j(ng)7j@FG| +#include + + +int custom_round_down(double x, int decimals = 0); +std::vector custom_round_down_vector(const std::vector& input_vec, int decimals = 0); + +double evaluate_alpha(double E, double AlphaMultiplier); +std::vector evaluate_alpha_vector(const std::vector& energies, double AlphaMultiplier); + +double evaluate_cross_section_opt(double E, double CrossSectionLogArgMultiplier, double CrossSectionNumorator, double CrossSectionDenominatorA, double CrossSectionDenominatorB); +std::vector evaluate_cross_section_opt_vector(const std::vector& energies, double CrossSectionLogArgMultiplier, double CrossSectionNumorator, double CrossSectionDenominatorA, double CrossSectionDenominatorB); + +double evaluate_path_length(double CrossSection, double PathLengthMultiplier); +std::vector evaluate_path_length_vector(const std::vector& cross_sections, double PathLengthMultiplier); + +double evaluate_step(double path_length, double RandomStep); +std::vector evaluate_step(const std::vector& path_lengths, const std::vector& RandomSteps); + + +double evaluate_phi(double RandomNum, double alpha); +std::vector evaluate_phi(const std::vector& RandomNums, double alpha); + +double evaluate_pho(double RandomNum, double pi); +std::vector evaluate_pho(const std::vector& RandomNums, double pi); + +double evaluate_direction_cosine_a(double phi, double psi, double cosineY, double cosineZ); + + +std::vector evaluate_direction_cosine_a(const std::vector& phis, + const std::vector& psis, + const std::vector& cosineYs, + const std::vector& cosineZs); + +double evaluate_direction_cosine_b(double phi, double psi, double cosineX, double cosineY, double cosineZ); +std::vector evaluate_direction_cosine_b(const std::vector& phis, + const std::vector& psis, + const std::vector& cosineXs, + const std::vector& cosineYs, + const std::vector& cosineZs); + + +double evaluate_direction_cosine_c(double phi, double psi, double cosineZ); +std::vector evaluate_direction_cosine_c(const std::vector& phis, + const std::vector& psis, + const std::vector& cosineZs); + + +double evaluate_energy_loss_rate(double E, double EnergyLossMultiplierA, double EnergyLossMultiplier); +std::vector evaluate_energy_loss_rate(const std::vector& energies, + double EnergyLossMultiplierA, + double EnergyLossMultiplier); + +double get_random_uniform(double a, double b); + +std::vector initialize_positions(double step, double ProbeDiameter); +std::vector> initialize_positions(const std::vector& steps, double ProbeDiameter); + + + +#endif // HELPER_FUNCTIONS_H + + + diff --git a/Scripts/InFluence/CPP/CMakeLists.txt b/Scripts/InFluence/CPP/CMakeLists.txt new file mode 100644 index 0000000..fb19a79 --- /dev/null +++ b/Scripts/InFluence/CPP/CMakeLists.txt @@ -0,0 +1,43 @@ +cmake_minimum_required(VERSION 3.5) +project(InFluence) + +# Set the C++ standard to C++11 or higher +set(CMAKE_CXX_STANDARD 11) + +# Set the name of the Python module +set(PYTHON_MODULE_NAME "InFluence") + +# Add your source files here +set(SRCS + main.cpp + helper_functions.cpp + electron_generator.cpp + constants.cpp + MCloop.cpp + wrapper.cpp +) + +# Find the Python library and include directories +find_package(Python3 REQUIRED COMPONENTS Development) + +# Add the include directories for Python headers +include_directories(${Python3_INCLUDE_DIRS}) + +# Create the target for your shared library (Python module) +add_library(${PYTHON_MODULE_NAME} MODULE ${SRCS}) + +# Link against Python library +target_link_libraries(${PYTHON_MODULE_NAME} PRIVATE Python3::Python) + +# Set output name of the shared library (Python module) +set_target_properties(${PYTHON_MODULE_NAME} PROPERTIES OUTPUT_NAME ${PYTHON_MODULE_NAME}) + +# If you need to add additional compile options, you can add them here +# For example, to add specific compiler flags: +# target_compile_options(${PYTHON_MODULE_NAME} PRIVATE -Wall -Wextra -fPIC) + +# If you need to link against additional libraries, you can add them here +# For example, to link against some external library: + + +# target_link_libraries(${PYTHON_MODULE_NAME} PRIVATE YourExternalLibrary) diff --git a/Scripts/InFluence/CPP/InFluence.so b/Scripts/InFluence/CPP/InFluence.so new file mode 100755 index 0000000000000000000000000000000000000000..79223b1897a0f27ff00c9cf20c7da186fed39913 GIT binary patch literal 951144 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∓3HygJnG^PPfT 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
    #ZNA8PoZ#n zy+_j-ibc*{=761o%{h5CLeu=9SG;@fokMfFvDVQG_=(RfV3tsaaxKs&^7+ULu7!U| z&z9{Y@$1ZS)+q+o5IUNMj*e_;Jj5?e9U8h1obp>`rX;6DHrr`?3(m<(IAA;HZzw#_ z_zLzzox)0{`da=B7a|5~=xHY{=YwlYE6mP6S6Aa(V>IWZgpp<(fM$9^OlWZYtUt2B zBhE!F-M@(oTcMp}*y_Z!>RUXyTwcnk5^;~ThvUe@o;U|21uX41lm8X#_sncAg$s*c6*c6hZ!W9jwnNTKXV(EDn( zW})G59on*|Ron^nkB6j-UiDxFpCdrarqa#j1)H?S^@i*V?KkDUNE=J|ZdweE7pOI$ z2tx)c@&9{aybMmBMNa|lM>+l#J!9aFVF=f70@dItFc<6974G>dC@|;Jb~6vaLMzU9 zpliBhr;oj=H9c{S@1lsX%*{U0J_QDq+^PyoOK#wDTIy;!bgjD*?n9i};>>PzEu7ii zX9-jj`vUi%iZ(oPT=On+9h+f+N|nUg1|9B2jFSt!(}5Q*o4#uYhfNvx7@uJ)kb1gY zema`Z2VMukvRvY5Ez!uMud@-pK~#xN55MIx_>D+BViw4}jC@7+dd9&xTyg^F;t0nE z$nT+`K77YR`L6P!_-e*G77N3~xp{ybF!*}!#nj4m$sbA?^yPQx(u-!3otueNcgTzcrAV(L0A6@Y&Yd9=4HjL{~N5196R@B7Qm;dP)N}0^ z7^TdP?sx1V@pG?vb(8FxtcwjZ>?$U+W?>^*o?yj|3Z9C%2th5b+DG9FTLAC@d*R@V zV@}i=H)!AR*v2FC+;L)@G}xn&Vwx{<<_|B%i<$W=A!hzP&hmxCjMZg^j_|7iP?;*! zK(f*+kS=FbWpBaK)nZgNK!CMmz~1XrM10I+d7!<}0q-v`B=d;lU{7MfF^0l&!-6}- z!6n=?yep#OlD%uV&kR6GB!S=JdKO9qDV7^OD?WlXIvuT7D;j`s)uJ&gUOE)`5BAe; zf8TPG_GeX8ig_%C{EFfq$8yW2*Bo2b%Q9r;jWv(#{m9$=$_a3`!G|3+yUKe0wE(NF^+5`w4b4cO-->$N&JiH=DS9!fM_1Fur{z%pWG#N z9oDO=bMVxT;n5K*&iaBLj$TVVOr?dvKdvh%kHL2G(MviLcFa;GKzG29kam3nh}PRHfBOI^+y* zPk=HqX*aS|P06mOpHlR3z)I|lYo<6Q<2+=K+9~=^n35yd3@~xQb8WTcpJ3-OAn`o= z-krn^K>c*;#0XPhp#4vDIwp>2vn_oMkf%eVM>XleDqfIB>$Fh~@5&8`aE`>bl z1SmxWP&`z>jQPlNS4|4vU1+i=DtJ~3%1*~Q7aWLN+wEkU zqGWBmtAsk<6b_iP(x8<<-IJ4=j7V2Sfc<{P_8_B=^Xcr$04fMvuxn-R1yx&zk}oL0 z$9VTV4fl;^yA3G3iiwSta_*3;gFNIm%0rb zT%P_Gqs%0Y<;AxB zcA${<_xFO2kj)lzm=1*8?zX9`tmP?Qq>0S*+?==_q{H2KB>(^oJAH)ZAJU;NVy*Ck zdSvBz@nwXjYCk`x(m;pV9-c;~V*z$~p8~GL<50aFcv5sgwo{-2)eLsQb!`EKKHpwb zM>x>1CQ3w5X8Ke)k+>-g@uvKVU{4HHo@6tt87+&;6 zKI*a6hj!G@NF@}6k`LbG8+pJ|q6!ntAQYyT@$PC^RBk|mWhC1z!=~SxKFixM)0IX4 z<$1{-@39zarw*3;M(zSKCB)yIr6QKFJ*~(%wTOvZ?(H|YQGeMoQgK+Zas_Lqhe?WOVQ3V=<$85cS|O0dOpls z!Q#a9dpR|G>#*{QjZZ+{3+)E@8p@1wIAOhCUcQ6dt)7V~iTw1N1BMHGmMD}f@DBWI zo((M9Uqz9y!C}@Bu_O+CQ@gl_l%OLmjA#~P#MuTrNN8UIL}XW%(@@Yw{uFAjn!*=7 zQ=I&2vvrl49lX6Vo=AskJ6}J<94@;Wr=zr#{A#jG`}#qY1-ZqDlY(l(u&x8F!* z7LDl+k@1j)z^uN_xyHcNW}ZDZF2Wh)0%Q0gZ6(bb-+j~lP2qy#ousy65vfbUXy zpxGI>0kvSG5^Ep;!YyhJ8jqDn4pvN1$>f+3HjHo&ZOD#IuwJjpOdPz1xrSfdyPVG^ zGwE<6bO27e9<8&a6iy5>G)J#PeyR}ej)$cv^FhTK+TFci^LMqMjSwWA35(XSg0{u* z+g(K$`35Mlo;Uag;=V_H?^+VKC`GUoLW~AQPuDN7tf~-YYEvwuh_Nr`1B4p}>XLSx zVcKa7!;i5e<|^}eWly6sj2)(lFcc6YIs=}^bHd}%_&~6^;?!fKibMNaZCR}`3qCv# zfdY_-fK4r%6ZDQdo^Y_ga&08Zj3!l_yByef>f;1Ldloj3yFj2^YcdS{+vnWNz!(>= z=1M0OG$d{0%C;C{EQ|wovOZrCDCkW-j<1Xh4$cAGjNSo|ICRZhV&c?nyf~ULxs60d z;eUl=?sFyaIM5%)!9#qEr;O+IM@_xiL>oA$R4A0bL2;P;bBE(nB*&6LP3L~dC;|&7 zr2XJBCAh(Jweczx;RI2*_>}j^#MW@x;~-HFC^hiHP&#=JyL~ZP)F!{?3I(qCIVcmM zmnO1)&(>=YOs$i_wsvDlMxuI!X5vFL>oIW6#weXR$F4Vct$jDZjUg!HIOkYz?j?`5Q^fG%NMemb6-5$W*w|bn?e3SkvytJT+%v*&*z}XpbQ#lX0AGD9 zj$L>x4A3jsTJej_ID(R0&F)v{An8E90LtFYwk1U zrji>#K_m=ec;c28@BUwQ&Q9L|Z;+c=$`UgX zNo?!G+V=W0Fv`Xt)38+f=rtM&4Q@>KsIsnR+P*k8Wukf8LYvBq+YeN`6(1ZDZ~ey+ zM{RcRLx>YCv&jOY2eVB{k&CvBPvj|!Cd*C}6z);uBU}f$&^AKdRTp%C3vsDu5oc09 ze9Mu1;Aj`Vb1ND+xxLw-jCXY)=s7TdQdRfC%k6Ir5v7k`E#1ukDOTW7eV(&IhKy+CM196SS_fpsFP9 zwmnHz7FxgQBTpG}^^vW@K5g-k+n)mObbhQX*FO3vi@SaZm>9ejw`P0^7lulJ`M|uRC))k z*?G@9(gP3hjvYbIre}Q^huE+Sf>*=Tr*%x-pXB|bV5bT)%&~Kn_h@{1IYY0eMLpd+ zK2q4LW(d7Y;U-8ys8Y4mQ)YhQMovS?6#m#%?J@*anr3zrmXJmOm&f4=ur=XmQsUYQ z65!IPh}c^b$Q$(iCTD)!>ddQ403pdbHE^Zkpw%L(E6;I5)aeE5Wu=$Lql+0vA52r9 zSughYAM&a2ak+MUW1dkuwJ=oiO#Q^$-iS8>I@nZ@VDcdj&GC+&6Pm@0*%f6q+pEJ# zS~t;l!DDXv%g$wl;={XmDvsFlq`MMS^;qf5E!TSN5X?9PT{+l_xyb*e%}VG2*Lys< zzCwezbrKzbOb)t|*tXp-S>(R77Q;a^7m;f^NYPlkYi>ZU>cG8AH5PLk5w(0VPbnsk z%ZG84(FVd#DG)|*+q=^Vvw%NssM(U=8SC@3E@B#Ul@F@MeaLfwj zD&ph&C_JRX%+nte0YXbKCJ8{^0zcl(kC8oZearwNqZL4t{wqA#U3!$c7G)pNx9xle zasY)y>rS4Gw7tU?+9&n5XTAKTNAVrH*A#M8P-VglLOfuBcmoR0tiA}FG^&{XI2%<& zaR#*X4cwkQLXJ#OvBiEbqr*|q93l!MxCwM;vy#hj67^h?5)reuyRxYlP38N>Ko-i1 zsUVeH>2i4-DyHzKxgpq_EI_)&Jl)aNGbBRtX2M$M3Pv)#Wm6*tJ7HZ)k1BsM-gg9$ zb2lk^Nk6?byI1@^Rb1f13ui?_F;o>?#Twb48=X;rm$UvI)SxYWb35Gs4Q$HfPzGjX4+7HC;u$Xs$dRP zPZds0R3JZU{zh8SjjM#%KX^ldt~Hw8qJIYHE|c+U?cGd0q<6Hk4Q1CdBegCC>9@)K z3Jw*5Ow$4zcnet^YI-uiYFf7-3exRB;sNNgo6tzM;XGH2f^#ul>xq54BDJ@ku#9Ng zX2T|#o8bya2|Jjkw2$EGAo#z$rB7b!U#8(0k|8;SP(&Gx=u~9f7HQ3d6vyW|e(q@E2r5 z*GtLM&sM9WZN%##R$QvzAU8;HjEUK@DzZ; zVl_{?vrRd?7X%Z3e;47M-Q?qY9Zv`{g?CSiYDwm3cmTO*nHa(_LCw4o+T!=?;YsX2mf&JwV0y z>aGTv;$ntG9I>x_5Eeaf?-bk@?1^Gq8jr>%52guWE;iY!1KM|3RH*NT9IbubisR_M zQx%#=>}4N>C>=OnU4t8)6CI}4U9vmu+1WYjZwg}w9ZoLH_}kg2p}H+O3+`%d3E4FZ z-Z%Ct7}dMF**>k2M|Swj$>nHvx&({#98GAC-p*kF#z#T(lOKWL0d(jveuNgyx9-3L zsE-`(Su7Z$zGIC%1p)7kzP^ULunSiO-iG$}I$4uM0R>WZD{`kGio!-Y+VkLIe==yt zR9KCak@e2afRy8tuRvsY6<}_7-lZy3FFewT;cgwRXMrf6$0k4T+<P|~#UW}Guif;F_Rv=dQ~S=!M=!d!{bLEnW(-Ba_qILT?H zZX^+NuxLLXrN(1dTKza3WIcS~U6ap}^MkR&w1EY+oYLTO7f|et>Y_q(#A6unGvVIr z#f>Wz4}9`SuoF=UA^?ErA;iF-B>gQE&hf%(qpt2bb&tx;Uh%=tSnQwpw>ETy!X^=<4o_PsF9l z6p5zz4-O*RadNd>fe!-$JsKd7mY3@dEeWPJ5htFkIy^)Dd9hRiu(=$71~wNm1f|fV z@<+o$WfC}Q%P0?B7X>C6+=uz@E;GywUYMRGV^x#m|nL@iSdHI@<*gNoI;dupgr_rOyGQv|%IP2;0N%4(&n zmCoO=I1P>2SSC8Cv@C*VFJ=p#+9F!ORcvj;JaXItyGER&Hdg8@Df)RO)#7xsxsa#W zd*&4qe7yW!6Rh4E)(o=CzXr}Mn!FC z;9KeK7KuvORcg=fQC>yik&0iO9dn1;r464Qtz_`z#Y*m%ab)ddsNr@Az4!qe9e@p} zSvs3(v4`|(u-aT@`^XX>D+&|Q{6F=Taixg@YBojOkpe}O-DlTLLQyXg6qQwsP*xuT zGzB?&0omciVsz8Enx9_NDjiMPCu58b*P?;p8F)K8qKSt~-cTfvm&7Du%XTT1U z&?7Kqld~LDimAE=niD}p(LAj$lhvuI-h7cMy;2-m^<5i5)ZACy`lM{TO{2T9Gd!UE zPV&ONcD<3xnjw%Vy|ZLXDtYLx)KIgGu<5W`x3Iez!|H2lKgeW`>ibg6Rti@2@DMCY zw98EY;*(C+ckLgJM}LCyeb9S&sd44=EzoBYO0aKi)I`R=q)X=w2B{$w9Z8pH${cGpM>S&vsYAfgBM zj54sN!28H~}z1M?-tcj~#6$jnKWJ#ztvMD9)` z*L6jw#yEukcLm-5sgibqhv7JkmA028UwE7_Ydat=UsSiF@u(+rgK(~97vodZD$LK0 zWGWCcSDXrTI$ukxoDg5}C8#O78H8zA9N-ve63`m@uNxGLPpfh31rxT()v@79vJMs2 z_g=9cKE9RgvX7iX8V3xv%>h91S>V7l(`L}eqve@4QFCcC+!8^5;`@q!4Cj(w%6~gK zpRQ51r9B?t$6^^ZMS!=B*`*j|UHhsi@~Q`uybp#k@{=Qq*kU<7TD)Bx_MaX;ee}5h z^wEF?ksPH&A5Z)|n7zsPd}94t>O@y8bo4$m_cq#gIpH{@seuQZOdz~OFBQvhbk)RI z{WPc~N0Ffa0F*Wo9X}kZkwH=zL3MpN?zS zOW7Jc1!I72E4uQ{`4?w7Y5`PSXLrC9RueE&S^+0y02!5`;t=|wY43j678}&&1dR(Q z1`FB@ykRPuEwDgK`8*jNYZnIe+*(?{tt#Sy2)`Edv+xfx7~_6!Xf@>@d1$_y%!I~= zJID$`bo0YcTvTfK8mjGmTf8Q&Jj{8eXh6dMiy8d1cOTQ+OxP zOYVa5b|WBWEs*d$3t!C1mAZ4QAAHiz&aw}5lje9u%|WeUc|w^1lm$q+CLKaGz!W14 zPt*Te?4y&6)IfHD`Ak>fp7UF?EFewC1YsD+87p|I;}7U(Y(}qeVw+=K zoGQWUny&HjPAg#GZmfwp?y1cAETMOrsPvQdV$PFP>!1(~h~4!z^#|D_OzmaQ-WmY@ z_$M%h7UR#bx5sb9nSf@O6YHWzELW7=%*(dhXleY}L~vm%$O8*|mM+@LkV?LT+cMlD zWmJH8`uF1F3l~bf;=54{&};ebEnS(n$O*KPOSz~_8(PqmV&xAR?qLtqSAZa-)zRvJ z9Jfyk6Z@BlSBq(`mOANbzmRLiwQBfMa`QMi+jhNTdzmXs8wJ3N`y^-En!Z+Szm3*D zGIhJ9#}YiMcW?+rN@FjQ9DCg~-8g~@asfgSwVfitdAgWNlOma2AzLHf1TH`U?(QJq z#<9RSuFNykpo>0{s; z{fnr6O}jMFl_!(&<#;k*-W07GBC|LaSU*A!5?Tc#Cd4JzsIYYD`G)9%Jw&+q^@|g<@&-_Y`21wP zxIP~QcvV|`QB5R0G8U}ao%j7|~&hpAR6G#(FVhmKktOXvUPtw`|{PjYJ>x1ov5$U&98 zkaA_YD<8!bE`|1S12kcLg6N>NMRV~C#rcyM=ZdumU7O!?nbq#+1FM3)zZsvGV%k96 ziqzT`*R1Ht0ncm;sy0u!Ir4&m^SS#X%fPcB@9wxpIjQn2jMjytW-kod)nk~riL7Y$ z=S@tH(OPzHD!w$Z>bPpbeT?2&g=#Cs-{n}EnE z<4&X5h9(W+SU9i-Wuua&H`C%Ii22_k6N}?ZCoDP&S)A2qbw(izDQ?WxvBM=~__)e7 zG~@f~k10*gg8SqZXrTq>mAZX@SoW|Ti0Ta0`H4jgWVf@?pBUg zaw`=ouq%fL#5rXcWWi9J1yfOF1`E6}SfJ|c7DhS?^HTd5L}zddzQe5EE2*qMnuHMs zKzqdL9!?_rBbxOeW9K2T-E6vDTIpVK{*&L)jI{#%2M^fFo{1rBiC!l+r{SFBI6mLH zp#}LtP8Uq(BFVi)*;31E4bTt;c|VLBM1hGK2=1SB*fgATj=^?^Tfv%wW6-N^gF74V zI3OfZAaVSQ1IvvShJ9QG(-`>+`8u*G3m^*#ID50B~)_dx0 z$AjN7VON*yCivYxG`)R~(n$%@;F$zaqyaq2>Ib}C_+cp7F`;aGXH^88$!t?Ou0P{c zli=X`Lz8$-9paONR4V-zhLeA^j=O}bX1<)=YR!MkOrA6aohtW_nJ0pF2xDzLS&u;f zch~5-zP?IkrBAbhbntM3TlVy~i}ea~dU{Vme>;Z|;(ZZuBk?Lw-=uopcL++d*_tZp z@_^!?#?%Rn%EqElzv|$Nd_(3;UJ)6Ub2)|5(OyscTdm!#!oUc?-bQ z^e$9Ru~3=7`NylKx2jjPIA;eat%cg47@FzwVhSg2sw=7`Mv}S|`&qJnEB@7fc^o<* zZ*-iE>o3GJyYuOid{BF5A&oN#l2PC5A+QPne2$&lpkh3gczAn)6g=utU@vD26yU;@`Xq0Nb5;9I+;$r;VDX$|(Qe>k}Y=LDr)m_s#{Nfzx@#6_;s$+kNVOe`d0XE!cj9`iId%IR` zJq-zV1dJG}?kN7!NM7C*h5f4+qhDUUzrtiFJ}(wyyXck5(QdG&5TgSI-$WMG*{%~r zDutFP4t(pql#7@w5(Dgj-{akzD;04=R-Jg)O>|q)S}l>U+ZN9Hu`iK$VkHuIBwOvE z=MwT!XvDZg7Ez|ZQxwws?1BMCwS}u?+(LBlYY1H@P1mzEP_v$tVEbt3;jJNaB>Op+oVkN(`E&Bu6 z3_Z4-r-Vi9x+h4pLz1}qkFI8t8%%K+b)7j!Qf5)meIHMj3)J$$`oEdLm>LB!cq^GF z9H&2t7Abj+4XLF}igjk-oMKLBy@+LYJdviut1*mWK5i+G4SN zsB@ej4R;(xCZ7YHdY`=m+4}ux_-Z~xlz>4`5IY3fBXn7j9zKHwjQ8(?nM%vm$nNa( z$+nztAR}-anll}O5I};u&u|d06V4=@&d-?AFo}mZK15rl*={S}<4yYF*qvzN2 z^EF_Za*4KG9p`%YC{OE+vpZ+$C@uNlYW;B97TcDMB z+!-ti7ZuD4_S%S_?45mJ6-D_Z;S1nLE7Zr0QLcwO!?OsOgj+#t6CrT0$1(4n6dPGL zq8{(B!Tr(<2n+7wAm`dvF`oB6x4G+5kUl9r6CiWSw73g57hf zqws^0*yH?%MD5uUl^&0O$g7h@nNDEaY4aN*CMq+;2dOv}0_bdm_|AlxOSikw=<1B;}?A%N&JV#QoRiP6bwQWfNLw7oX9k>CzukM_~0wuKhWeJ*GcLT$>Fd`JDP6_tsIwjqo2=>Qvy3%+8@;CO78w^$!c--KbKb<>53S2cwm%*Q;q*!s)~_zkYk6ynQE z0oz5Z9Iif%FQErYlpM?96Io1S5xfK#hT-P?7VYvt?hrBoypy%K8t3zG+0%hlA^jeH zE0I=g_%>(92byZU>xumpeMROUq+f()hAk&{6ErGI_e1ur{SYoJw834QGI!`t6Mpk; zG;ueN*)8wG6|%%~vtx{&KNa^JON4>TPi5dTRewBYs&7)qkVXU-N|?RFQFVoq=5(CK z_zXcE$J!^Fwr29~nZuyF$Htg^zM5U#0QJtC1|>=3nJdg}`K{0F3ei~#XL!eed(lp6 zIlYGW`9cc#`c$HLSK%FL1BjiyBh&_{bA)U=bSgaE$!va}@uaj=|JC*S`fB#;@zn(? zCq&F+ngxt*kyU9_z5x_KTpnWHj7X`a9N}rUbW3#Y=4{-T5U8~$P?FT(c2v2J`;?v!k>jY`3t z(G?(|gBHfeQz|i;9!A1bAq+)iiqTnCgKwkAFFq}X6d?>ZV63i1%(F`zi)f)NN4IZX z3mShwaj&H~tJ-Hx4ti+stp;nZ(If85fq?s!G;h$IFjo;TbVrC3QCQ{p{7^MK$W%DH zFhgzDP?YsO86z!KCQSyHcmQcCfi(TZlEQ|i-Uistr?CNgqd8ONojm|OC_*qB{IkQ% zKbw7rW)p4^`SArn1SJJ;YVwijkOPNKBQ~_DDJirxpNa2|{aB#5Ekqh1;Z4~WQ3^^* zYKa87!6ze2x4v55!he2pd3%b6P`%!x&|LK(Dq%oZ=h$Ob56Qq;X>OXSt%}3lZ+E!y z*3LG=rG34p?UczzdGh@pGIg(HBR>t*5V+{YmF6|kHT|dWN3~*Q9s`pds8;0tw(z0@ zAn16}Ub}bhf+7CH@b;G%a}NDR|A@f_zhMQcIb^uugh#M<95jP4KN?}juI=L>wW@U( zG04ApH<)d-XK6l;m|d~xcN3Y2%m!W*{=DQBmT1$NYVR3S@v!~bF3bu(*Lh0f(;{%w&m^IjHpj9&D&UkV*l>4v2ztWM8mU7?viW2J~Lz zlK_uFN)A2VpQ)tsL^;q}XK6F&YzAX}7mUF=q!nspq;P|o+i3JEn8j!#OLvfZSzJg3 zBO(Zgm^$R5U{3irq=c8~=QY0gFdLCq#TIY)eG7R?v^fsQ*P&1bcsxp=P<((1BC%t@ z-FjFCajY!KTDnDwWPaf#DSGtWX^FU~+c{*+fY~4xE?!eU+@Rh_sbp@(YE%a8TuF;u zf!{z?CbpzyUGAo{CFBuyAXs7O#<-qf%v2fy9~7a-661+To}52HKkC_~DVQ)bouY(B zdg&0W&67tQCUpn;aZK&NgRm+?B9#}&JaL~~*jktrzdu<9Ebe6>WEliNEgA_YdPc`b zr-+&g#LJRI8}yx5`ljpXecA>LgBS_g)vDiM=D(nRdl>XvGb}4RnS|0=c}^?}+?N%6 zX7o%%zii-zZ~daf1}rDvVhYFkd~!QLuK*L8v@wf0f+0BbDG!zw!X;q_^01X0nAXen z9!}?Hp@oO$f#KUe8-=Dz>C+lDW3KOSzbw+xyHz*n)eLIj9&qN*pGO$kwpw0{&(Ymw zbn{@FZg6m>Z8o4mx7om8aioN3$ZtRzE`-w?H>b&2A7+{y-^;MBy0v@WX72c&R<1B+ ze{I+ER*a^;zFX+ZR_#f>m!2CyA;bZV#|pRo4Sni7j|gWcEV4gj>0oJcG{VSo#&N=1 zLI=f@RS^WWUjT*)_>O;&#FN5iI3B!T45O6}+Cbqn$sm0`Z;lZKQW9EF_Xh)IURdiC z&IjC~Ns53dxG20qooA+=?jiyn(pxan90Efdrv=`Y1#DGno*i9ih^{f`!`b4JoscSC zzYZ%@_iV&bZ~%!=+Ew zK!93fqthWe(rt>W;7-BqvCI`eIm({ybredo?QWS0GbkK-*?gEzKLs*PGpbv?3i(p@ z1&koD1TmEg$>eKH{rHHq$5bd+?Ke^S_IbhO5UNpKZz#uRAc*JhDvt0N&8jnKNw)(ahevFX-U3#t?PLmML%5(8!Oo0gBUV05iyLjR zol{6MHqpp!8EpW2UX4|Mrlmk}6b%;R+4<$i@z>YjP+p$TXKek=sNN-PqU#J>QfNwM zsfc<$R+Irz8{RIuKO2T!QT{-jkZeZ<%2XOFD@SgQ>9~89hh-lSTl8l;ypKYOUI(5N z_-ZFNPIv$Tv%vR1m>Z|qjbQr&g_lCf^6B;DTd42T*@rpxpWIMZ>h)BLSA%=fd-7p+ z!4V2@#l{y)Af4m$qv_kl!vm5ZejM{0VNU~h%i&NPQSJ?6yY`Wfgt^ypDY&A!IEk!b z?pFGnxj%g-x~67j@Mfk$?!dKdvI$1HFYwEY3GLx*3KDg&H6H!gXF-1Q2S&nvof5z_ z5Xkp!emwec>Y~Na1@9gBxyU|Lu@JEX9^gVkT(~v|`6c<#&!Kt|vp5M1joxmLRweh|m9?>;{Z6v!LnyDVPfVHr_6m-(Ft^DSSH0 zCM^o{*F3wspY*gXE=w-wH+@FBQ+2&FPmgB6vqTb1Tlx-D6UROsHm&MLs1Q+#Dy20 zm;jen1evayEP_d0dmsh+pD@0y%sBIFa0kCno~tCxLXBI)qiHK%w-nE#z+zb@E&$_% zJ7gjAnD!Vk?U33yD6&Ey#sFSa=H>EJa9h!gwEvWEX%~Sz-J~1WgPVJe|43E<(J2tu zhPSWIm*{9(Ap$j7VLNAN*`L*o2{%{BYBd7`Eq^f8wjFy=!{hr}h{6IK#w`xqv$odt zwNev}Tzt2lEU*Z>+FJUX2S@I#H@G9IyvKqHM!L}Y=0Ksf1an~c#FG36r|@R6ePSWj z6S(2ch86Rg zT;ICRL; zKxjLifq`Lc@yw}-f=MS>-EF^+KkCeTI1aPVm!)~{4r!Bap_Kf=aa(8kA|n(EC`GpK z=-gOjx2?voar&@pSzlCabX)%1kz?*Cnt8koL#pkT_7c@S$S_-CaI);uvD~Z(@Y2q? z4>L1RlyxY8b3=l{%iU5_VFlp<^J2ow5nF9W2vn2%2aGdOAN3D64?`7~3+Wb+$mi41 z`04{}$3=5Kce0p5ENEj{>%KLre>ac`FfDg;OJ2Zeu}T2nqeejHT!yuIlAsC>s+Ebe zJA24*ZdjCAgFE!{NQPIqe^Pc$f=c+CfP_arc&H`mYlXlA%%2EU!51SSNi7?`7lFP& zk&q$?SFf7eh6-s+X=MB@%ioyMXda0PvT&6p(>F(|T+@94Ruv@d!}a(IqBi;NdVU2z zC8L0;s}c)|Q8&qPsW3tC2bgJM!*$%rF>z%7pe@cNsh#pM!Z3t^6G{{in} z4)OjSx@s<0_Qx-*Sr1M%*bEb~D8x>;5@WP^`WHCx8FO@ZjR6AEOx)z%NG{{;6 z(0uw_n#ReJLozIFOXpPJI{u;k!J8s($j>(Wx}k(W5aV9X&eb}B;e4lAaC ztki1fka`HBWbbQ69neN;R+f~?Qgn%*l!g5iUoZ-h;KzZ9?9JTl#N{(MwFWsRj(1gS zc#{+SN2ztkJ#C~5;S9qylFpqWKrL|`C(3xfze-7EDjrxlkSDLV4)--w5ZJY zHx?6&Pqy&wQY8med?8xBWACZrpWoMy3B=`c%emmT=@ zTrdTcBr#1p%mj>{hATMO3-W^92)#T<<1@BYYx5(_?A|dFFiqvF!5AHsAvq4@k0UpH zut1VqxvYG2+i#OY%P!z--+3zxePsPg_()#$1Ga}3TV)lU;mB4XMo)c3KY*Ap#Hi_Qnf15`;>YCc$l6NbixlXY*k&U?W)3a|-SR^$U- z^bT{G;{e&-qYD%pf^i)SE_)BcZwyDr@zNr<=u)D2t2O%Kh|kzPDfop&W7VV>)0wzi znl4)CxB^j2;^5H_h{`p^zjbah4&~W47s?-3DHwys=^QJECZ*~*_wQ8pQ?x|eGI<0~ z`0^s`OyLbxM%6G)V-O5Z;+AW3nSC&G{{R6>s!;sp`&Un%T})FVvPf|U&4`1aW?|w( zt8Q149n+`f5oKW&;O=5KE6F4i7S!@)*`j9ETWAp`XP0ZCHF2TS+!5@b31GOV1O0^6;9&kegx=Zx|yr$S#2q7lN9Psf+_pjD-AP5A!N>z;Y1D zSY?h1&cHH&I1n34)%T^Zg}QcG_s$~fC?3kp4_%_W>H6NmB(&F3 z4yBb!WsVj}&9CD3WrecGZkf`{TG2v8NkDO zl*kQ$uespzug6#GkwJL5?FtGv8I-(+x(kS@+8`ipz;I%6s7kUi7{}xni3qP$a(@FGNS`4SS$dPz1%jgvlJ;%&*qhW3B$S4j!&% zvnl!)=*l|}1V)3(G_9S!WM9pOYgId>VJYokZ!id1`-cGNIN2=y>q*uNu_wI{CE?>J zrHnINctX9=N43{@et{8GCx%NWd*b zd8Q`L6bTXq<%ILu^@g=W1YD|Gh3|$lJvTs@hc;E2;`vjnkN}-fC$>LGI=aD0%vodhZv-FzA$ z@UCOMRdnlj#tDJ1s_imElZe6C)10O(q?zZp>)8rD^Yqj@OnPr26zf+LLny0Isz2GG zJYRt&+=V?!@P*R|2zn+(H0v78G^?XS%m#3xn17T?M5@4sAckjEeM4dJ`X^Yy*^q(Cf(b*Lcm(j;5-fKVMqLWF;kBuY*!MjgaE4`A2YkDR7o>${X_}_iG3;jg73}#`Ge|YZ;{PS<&8vh*r`={+%_D%TuckK7!>t8Q^zK@^(zrXm4 zrM>Ns!Z-Hyzy5di4Sy}X@1HN;{{%n(i}=sp|7ZWczQDfz`QO){`MJD?z5n0TU*G%V z@OyjzpZu@-2mAW)fBC1vEA>nM)4hAYz_0(p-Ty!MFZ4?G^*{KR^nG^!_BrU;p?2D82vRz_;c5KjU}2#eY^`hC>!UDSZ9c?Dyd-@74da!Vmuae;D3p zU;p&IfAzh4;c?6*X!8*+g1OQ;{BKZy*`P3wa>HHm-qjl zhWFe0|Gn^j`}*JgJN8cfT3+wJD&GHh{!BmLzWyJ-$lqUn{(oD%|K8u^X~aL_>*v26 z1W11y_b>c-?|;BIe1+Zr=fA5fWMBXBzizM8ujS|ePxv+8@z=s1{@@pXLtgj?ztHRG z|Mk86fBEzOjNkps_|JB!e80&l-^+jO{r2@A;CKHD{E6Bn3*T_Z>}7xUMxX!B-smg;Ff6RCo4w!U;QzsU{pbIq zul4=^=M&+ztm|MvcWQoMioJAMD~clwIIXKxH& z?S1y^zmA*d@9g>iJiPzU!~6flUfA;fzk&Dj`5zRov-kgd#qarA{^P$EOQbLO5A{y} z^l#~3|2BU6pFvRU{!OmiEr{(=wJS~-%+aX O-TPOIHxxhK`~LyL`Ytj6 literal 0 HcmV?d00001 diff --git a/Scripts/InFluence/CPP/MCloop.cpp b/Scripts/InFluence/CPP/MCloop.cpp new file mode 100644 index 0000000..1013d4a --- /dev/null +++ b/Scripts/InFluence/CPP/MCloop.cpp @@ -0,0 +1,277 @@ +#include +#include +#include +#include +#include +#include + +#include "MCloop.h" +#include "helper_functions.h" +#include "electrons_generator.h" +#include "constants.h" +#include +#include + +std::vector> RunMCScatteringSimulation(const std::vector>& pixels, double E_i, double ProbeDiameter, double MinimumEnergy, + double dE_threshold, int perfect_image_0, int perfect_image_1, double Density, double t_counting) { + + // Initialize 2D arrays as vectors of vectors + + Eigen::SparseMatrix eh_charge_counter(perfect_image_0, perfect_image_1); + std::vector> new_image_MCS(perfect_image_0, std::vector(perfect_image_1, 0.0)); + + int number_stopped = 0; + int number_backscattered = 0; + int number_transmitted = 0; + int number_eh_pairs = 0; + + int pixel_counter = 0; + int electron_per_pixel = 0; + + + + #pragma omp parallel + for (const std::vector& pixel : pixels) { + int count = static_cast(pixel[0]); + double i_coordinate = pixel[1]; + double j_coordinate = pixel[2]; + double x_dimension = pixel[3]; + double y_dimension = pixel[4]; + double z_dimension = pixel[5]; + + //std::cout<::InnerIterator it(eh_charge_counter, k); it; ++it) { + it.valueRef() = 0.0; // Set the non-zero element to zero + } + } + + //std::cout<> eh_charge_counter(perfect_image_0, std::vector(perfect_image_1, 0.0)); + double alpha = evaluate_alpha(E_i, AlphaMultiplier); + double CrossSection = evaluate_cross_section_opt(E_i, CrossSectionLogArgMultiplier, CrossSectionNumorator, CrossSectionDenominatorA, CrossSectionDenominatorB); + double PathLength = evaluate_path_length(CrossSection, PathLengthMultiplier); + double RND_step = get_random_uniform(0.000001, 0.999999); + double step = evaluate_step(PathLength, RND_step); + std::vector ip = initialize_positions(step, ProbeDiameter); + double cosineX = ip[0]; + double cosineY = ip[1]; + double cosineZ = ip[2]; + double z0 = ip[3]; + double y0 = ip[4]; + double x0 = ip[5]; + double E = E_i; + bool condition = true; + + pixel_counter +=1; + + //std::cout<<'Electron within pixel ' << electron_per_pixel< z_dimension) { + number_transmitted++; + condition = false; + } + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // Scenario 4 : Electron deposits sufficient energy. // + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + if (-dE >= dE_threshold) { + int new_eh_pairs = std::floor(-dE / dE_threshold); + number_eh_pairs += new_eh_pairs; + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // Scenario 5 : Electron deposits sufficient energy and stays within pixel boundary. // + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + if ((x0 <= x_dimension) && (x0 >= -x_dimension) && (y0 <= y_dimension) && (y0 >= -y_dimension)) { + #pragma omp critical + eh_charge_counter.coeffRef(i_coordinate, j_coordinate) += new_eh_pairs; + + } + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // Scenario 6 : Electron deposits sufficient energy and moves positively in x and y. // + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + else if ((x0 > x_dimension) && (y0 > y_dimension)) { + int translation_x = custom_round_down(x0 / (2 * x_dimension)); + int translation_y = custom_round_down(y0 / (2 * y_dimension)); + if ((i_coordinate + translation_x <= perfect_image_0 - 1) && (j_coordinate + translation_y <= perfect_image_1 - 1)) { + #pragma omp critical + eh_charge_counter.coeffRef(i_coordinate + translation_x, j_coordinate + translation_y) += new_eh_pairs; + } + } + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // Scenario 7 : Electron deposits sufficient energy and moves negatively in x and y. // + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + else if ((x0 < -x_dimension) && (y0 < -y_dimension)) { + int translation_x = custom_round_down(x0 / (2 * x_dimension)); + int translation_y = custom_round_down(y0 / (2 * y_dimension)); + if ((i_coordinate - translation_x >= 0) && (j_coordinate - translation_y >= 0)) { + + #pragma omp critical + eh_charge_counter.coeffRef(i_coordinate - translation_x, j_coordinate - translation_y) += new_eh_pairs; + } + } + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // Scenario 8 : Electron deposits sufficient energy and moves positively in x only. // + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + else if (x0 > x_dimension) { + int translation_x = custom_round_down(x0 / (2 * x_dimension)); + if (i_coordinate + translation_x <= perfect_image_0 - 1) { + + #pragma omp critical + eh_charge_counter.coeffRef(i_coordinate + translation_x, j_coordinate) += new_eh_pairs; + } + } + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // Scenario 9 : Electron deposits sufficient energy and moves negatively in x only. // + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + else if (x0 < -x_dimension) { + int translation_x = custom_round_down(x0 / (2 * x_dimension)); + if (i_coordinate - translation_x >= 0) { + + #pragma omp critical + eh_charge_counter.coeffRef(i_coordinate - translation_x, j_coordinate) += new_eh_pairs; + + } + } + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // Scenario 10 : Electron deposits sufficient energy and moves positively in y only. // + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + else if (y0 > y_dimension) { + int translation_y = custom_round_down(y0 / (2 * y_dimension)); + if (j_coordinate + translation_y <= perfect_image_0 - 1) { + + #pragma omp critical + eh_charge_counter.coeffRef(i_coordinate, j_coordinate + translation_y) += new_eh_pairs; + } + } + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // Scenario 11 : Electron deposits sufficient energy and moves negatively in y only. // + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + else if (y0 < -y_dimension) { + int translation_y = custom_round_down(y0 / (2 * y_dimension)); + if (j_coordinate - translation_y >= 0) { + + #pragma omp critical + eh_charge_counter.coeffRef(i_coordinate, j_coordinate - translation_y) += new_eh_pairs; + + } + } + + + +//--------------------------------------------------------------------------------------------------------------------------------------------------------------- + + + } // Sufficient energy loop + } // While loop + // Add updated eh_charge_counter to new_image_MCS + + for (int k = 0; k < eh_charge_counter.outerSize(); ++k) { + for (Eigen::SparseMatrix::InnerIterator it(eh_charge_counter, k); it; ++it) { + new_image_MCS[it.row()][it.col()] += it.value(); + it.valueRef() = 0.0; // Reset the non-zero elements for the next iteration + } + } + + + + } //electron level loop + } + + } //pixels + +return new_image_MCS; +} diff --git a/Scripts/InFluence/CPP/MCloop.h b/Scripts/InFluence/CPP/MCloop.h new file mode 100644 index 0000000..e090f92 --- /dev/null +++ b/Scripts/InFluence/CPP/MCloop.h @@ -0,0 +1,11 @@ + +#ifndef MCLOOP_H +#define MCLOOP_H + +#include + +std::vector> RunMCScatteringSimulation(const std::vector>& pixels, double E_i, double ProbeDiameter, double MinimumEnergy, + double dE_threshold, int perfect_image_0, + int perfect_image_1, double Density, double t_counting); + +#endif MCLOOP_H \ No newline at end of file diff --git a/Scripts/InFluence/CPP/MCloop.o b/Scripts/InFluence/CPP/MCloop.o new file mode 100644 index 0000000000000000000000000000000000000000..922e73fbd1d20614b35395cce3e124f89dd19100 GIT binary patch literal 70080 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 N>Xf0xfcEn1zX8+(Cl3Gs literal 0 HcmV?d00001 diff --git a/Scripts/InFluence/CPP/__init__.py b/Scripts/InFluence/CPP/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/Scripts/InFluence/CPP/__pycache__/__init__.cpython-38.pyc b/Scripts/InFluence/CPP/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..96e31f6b97fe747d182dc3598ea82d8c91a9eae8 GIT binary patch literal 146 zcmWIL<>g`kg1)@W?p7Ve7s&kuqnb1&A}!I@cC4$Wg#E)GbOou}GBiz{I!z2(inf)7s_mGlwxF&BuLSR$d(Uy6 zpB*}>nzTQ9;rZPAJ0JJl&v);6dAxbkMz6;Mk_>nms8lsoBLQX%-N_jw0jP&t@OKd` z1QM%InC1sGL9R~M*tF2;j2lQvuimQxH(khbLd8R(Qz7{kU#N^jZ6Y47O+;5F;>m39O3O+|y4SApXHxz;-R|4a zK8Mh!M}7W*|^bz8i6$TbRn&uMz6UwP1x) zX&X#4(rcNW@uZcA?~Y-S1k8+WrERmviYFnosWsSWuJ+e`1T=)sLGv>k4UZepe-FUG_?}-6jTq)R z!p9Kr1L&*%Lnv1j{#w7!yX4#wpYet~igyNi`!!FM&tdrmNBK`!KIJH1!1CL=d?)NZ zvlyRu4LEwy2;|;g2L11$AA7M*xE9Jifi&{3Q0@TI1Mh@#m-6|;|HMb}$3nRP!12H3 z^Yh7H@(J-{5P<%DNNbR80JuDY+ai|xYA%Ix7Rrwqo}+;6ARV`S4Zv$luRngaVdlQ? z=cnzvTywqQ5b5tn{owUbF0Ayu1^w|ozf}G9!3@Y9!a6&Gfpq~7d>QTb!TX^c(&MU* zia_oq^!q$MKG?gpBM9q0m=Va0?>VLV`U18g{{;MTv=UBUG$5B>0w)1&csgqOM=ST9 z^mTXCBYw~5k^thK8KcaHk(&OC$cJ95w=6%f^rn2z$kIveQ(fp&KlRi2o>z1`w|RyK z(652u+Wrr>dxxLK{7XyM_78Y(f9)gm?`p&tzKZ>O&F~)Gfo;uK4qWc=K>NUr#zS*) zoPWAIbM0+o!O_fA=)Y*pKRRm6yQc#-ocpnN?&X?%zWsx34Z|O94-Q|AG!BpN`Hkuu z8dvRuo}ERutwQb{;^%>l;Qk`aWr=8xus{R|;f6&&tWn*}~y~~WHQ?cmwbZgKI zwKcakwKag^E4}b8J7%WRxRY())Y{&@so899Yiez1LkY#V!tw2RZXpHFLgU^hq_lR9 zjOX)@Aw7+BC(^1L`8>{3cm(MX(#MdFAiak4Jks8LK0nig8BA50fM@qssOVknSvYfv z!WJNYAKF{Re3Dy%&m)Kh81o^e`~k#TkV3<3-*Xku8^J@~whM2aolOwE52N@Dp-cq< zoCyC8J_Cq9OBm|LP=o5jafJowEAbHzJU9LMX~9EN2c|SWUGa?3eAqka*>>TrH_yLu z?(FMS3HkOaK2g+h)`8Gx>9ZdAtOx#&dqB=haz5g1Nu9aK?V0SmoNM_y0{8KuA3FhC*`umyEIhPXcmy~YTr0^?e zu!C~mVNM5A+6O7g8EC#PLOnYocnfcA;`bQK@wKl||6;~P?&G{}ANH$)aEny!y_@af zt3Z{d-^aK-hxs`!OFyvr|2a9v?VpUwJyg!mlQ|^kXgN2#<>cHPYHVEZyZfPVHfd*l z>-=l{t5()!RjKZ~t5^9~t?}1=QR8k4rDX$WZ#~Z!C)dC;g4~CTaRcO@S&UZ{=4CNH z1!O)J<5NNAZ81I#WIT)U=^*o<7{3K%z7^xQ7UpF!KH0r_ww zSHc4_p&bkZ-~19MaKL!)sfOvYFdPg6Z=|wMIAD~Y3$i~Hv;mD z`&Q{aoA?IIhbq_oTjR28Ojx1XD&R_f0@1lZ63(Jplb!V!SeE+68ttCFppz=WwvNLrSoc;k}t)-jyU-#??bV#?Uc^jhn1aD zT+3I(BG>%ac%f$b5|CH{-_oAISIN#*`Dfg!P z5%(#J#XqkrymWu-LcGc`|3xc{cr{GSA2}C2iTF|xa?oM6v%s}a{zT#PO7_oY#OHWR z_nDzd>>MX~M}3k#!}i_r(Z3?@6Cnrv2jbP<(*5D%N$k(UaiM;Y_m}kZBE+fxW!|d0 zF4l7e=L7YpyC2Rg`=$H*3ba#BehuU9_fCN8m361?-dJxl;?yp;{DX-59PKY;YqOcO z3Wj$@BDEX`=cssBGF!W@*6-*4rOa)Sv|Z;3P{c|k%x}l69cE|p z)7ndty|kUNvz?v(2uy^PO}od8P+&QOLFH)5>`J7F+hsdUD)vb_*V_3TW<>{!&l zuC9Jvc_E5u$4x7pwlEZww9~twGi~+6%xJc!XBVnCN+wF$MWT(HtsSw(Myw{Dh@~5X zt>|Ao*_kpY0!L;z-i3yvaVuHEO2lnD5i8hEe{* zgg>*Z$F{=Y&)8{AyCoM-;`ff7;7_LPm><`jKb(!@*Qt1vA)F&CZL13uuiMIWgFm_} ziS{(L)0*?GSUM9=C5s9s^3t({MGBnTnXtjHn&h`*y_l!TjJ%ZUYJaSor*C%@b)}>= z^gPxYl1IZdX#<^CpgISDzE?C%1t#f($GmkkN^i6B$AeiPy!;T>G+ALNWsiDyh~5V-S70hZZOci~k}g zbO-V&W+7#{uL||CKKV~|yW77TG3ry%mwT;HiK9sUqA%?~!1_U?lq4=Av_ql#+dQ3d z-1>BXBERICA#p6Ba-U)|%2&w~eF`6^zTBsUc94)GQ7oL2&;iUl^{dzsp(~_gl-7j* zT!bIG^d;^lRO%6V_xwG=`cjRYgM=nUk*V~bz(X#5x$g_5_2EqJ`hS5;YQNMkaRH%! zaVlfpUH=GTbZ4QpK}pW(@^=Gnc_|D1J?d2ABl>bL=;J`9$dPSIQWi?Tm^fgsmzdIwSgDa^a%yq%!tS(SSJ4_dSXex8NiG$oeO?_+F&Xf#)4A ZrqnC4^!F4l5ykpBZ`}VDL8fl~{{ZIAL3;oI literal 0 HcmV?d00001 diff --git a/Scripts/InFluence/CPP/build/CMakeFiles/3.27.0/CMakeDetermineCompilerABI_CXX.bin b/Scripts/InFluence/CPP/build/CMakeFiles/3.27.0/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 0000000000000000000000000000000000000000..7162c240807d1f46c7946ea2c11392b3e3477846 GIT binary patch literal 9408 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 literal 0 HcmV?d00001 diff --git a/Scripts/InFluence/CPP/build/CMakeFiles/3.27.0/CMakeSystem.cmake b/Scripts/InFluence/CPP/build/CMakeFiles/3.27.0/CMakeSystem.cmake new file mode 100644 index 0000000..8844eec --- /dev/null +++ b/Scripts/InFluence/CPP/build/CMakeFiles/3.27.0/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Linux-5.15.49-linuxkit") +set(CMAKE_HOST_SYSTEM_NAME "Linux") +set(CMAKE_HOST_SYSTEM_VERSION "5.15.49-linuxkit") +set(CMAKE_HOST_SYSTEM_PROCESSOR "aarch64") + + + +set(CMAKE_SYSTEM "Linux-5.15.49-linuxkit") +set(CMAKE_SYSTEM_NAME "Linux") +set(CMAKE_SYSTEM_VERSION "5.15.49-linuxkit") +set(CMAKE_SYSTEM_PROCESSOR "aarch64") + +set(CMAKE_CROSSCOMPILING "FALSE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/Scripts/InFluence/CPP/build/CMakeFiles/3.27.0/CompilerIdC/CMakeCCompilerId.c b/Scripts/InFluence/CPP/build/CMakeFiles/3.27.0/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 0000000..66be365 --- /dev/null +++ b/Scripts/InFluence/CPP/build/CMakeFiles/3.27.0/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,866 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100) +# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100) +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif __STDC_VERSION__ > 201710L +# define C_VERSION "23" +#elif __STDC_VERSION__ >= 201710L +# define C_VERSION "17" +#elif __STDC_VERSION__ >= 201000L +# define C_VERSION "11" +#elif __STDC_VERSION__ >= 199901L +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/Scripts/InFluence/CPP/build/CMakeFiles/3.27.0/CompilerIdC/a.out b/Scripts/InFluence/CPP/build/CMakeFiles/3.27.0/CompilerIdC/a.out new file mode 100755 index 0000000000000000000000000000000000000000..12da6d183917f9225c2073edf3af7d5b1e982fca GIT binary patch literal 9528 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 literal 0 HcmV?d00001 diff --git a/Scripts/InFluence/CPP/build/CMakeFiles/3.27.0/CompilerIdCXX/CMakeCXXCompilerId.cpp b/Scripts/InFluence/CPP/build/CMakeFiles/3.27.0/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 0000000..52d56e2 --- /dev/null +++ b/Scripts/InFluence/CPP/build/CMakeFiles/3.27.0/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,855 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + /* __COMO_VERSION__ = VRR */ +# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) +# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100) +# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100) +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L +# if defined(__INTEL_CXX11_MODE__) +# if defined(__cpp_aggregate_nsdmi) +# define CXX_STD 201402L +# else +# define CXX_STD 201103L +# endif +# else +# define CXX_STD 199711L +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# define CXX_STD _MSVC_LANG +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_standard_default = "INFO" ":" "standard_default[" +#if CXX_STD > 202002L + "23" +#elif CXX_STD > 201703L + "20" +#elif CXX_STD >= 201703L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} diff --git a/Scripts/InFluence/CPP/build/CMakeFiles/3.27.0/CompilerIdCXX/a.out b/Scripts/InFluence/CPP/build/CMakeFiles/3.27.0/CompilerIdCXX/a.out new file mode 100755 index 0000000000000000000000000000000000000000..504e0f0be3532fd93931ad94f1da40d38a177ce2 GIT binary patch literal 9536 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 BjD-LI literal 0 HcmV?d00001 diff --git a/Scripts/InFluence/CPP/build/CMakeFiles/CMakeConfigureLog.yaml b/Scripts/InFluence/CPP/build/CMakeFiles/CMakeConfigureLog.yaml new file mode 100644 index 0000000..7477ea2 --- /dev/null +++ b/Scripts/InFluence/CPP/build/CMakeFiles/CMakeConfigureLog.yaml @@ -0,0 +1,521 @@ + +--- +events: + - + kind: "message-v1" + backtrace: + - "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeDetermineSystem.cmake:211 (message)" + - "CMakeLists.txt:2 (project)" + message: | + The system is: Linux - 5.15.49-linuxkit - aarch64 + - + kind: "message-v1" + backtrace: + - "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. + Compiler: /usr/bin/cc + Build flags: + Id flags: + + The output was: + 0 + + + Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + + The C compiler identification is GNU, found in: + /workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles/3.27.0/CompilerIdC/a.out + + - + kind: "message-v1" + backtrace: + - "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. + Compiler: /usr/bin/c++ + Build flags: + Id flags: + + The output was: + 0 + + + Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + + The CXX compiler identification is GNU, found in: + /workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles/3.27.0/CompilerIdCXX/a.out + + - + kind: "try_compile-v1" + backtrace: + - "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeDetermineCompilerABI.cmake:57 (try_compile)" + - "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + checks: + - "Detecting C compiler ABI info" + directories: + source: "/workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles/CMakeScratch/TryCompile-c3mMli" + binary: "/workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles/CMakeScratch/TryCompile-c3mMli" + cmakeVariables: + CMAKE_C_FLAGS: "" + CMAKE_EXE_LINKER_FLAGS: "" + buildResult: + variable: "CMAKE_C_ABI_COMPILED" + cached: true + stdout: | + Change Dir: '/workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles/CMakeScratch/TryCompile-c3mMli' + + Run Build Command(s): /usr/local/lib/python3.8/dist-packages/cmake/data/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_eca57/fast + /usr/bin/make -f CMakeFiles/cmTC_eca57.dir/build.make CMakeFiles/cmTC_eca57.dir/build + make[1]: Entering directory '/workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles/CMakeScratch/TryCompile-c3mMli' + Building C object CMakeFiles/cmTC_eca57.dir/CMakeCCompilerABI.c.o + /usr/bin/cc -v -o CMakeFiles/cmTC_eca57.dir/CMakeCCompilerABI.c.o -c /usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeCCompilerABI.c + Using built-in specs. + COLLECT_GCC=/usr/bin/cc + Target: aarch64-linux-gnu + Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu + Thread model: posix + gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_eca57.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64' + /usr/lib/gcc/aarch64-linux-gnu/9/cc1 -quiet -v -imultiarch aarch64-linux-gnu /usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mlittle-endian -mabi=lp64 -auxbase-strip CMakeFiles/cmTC_eca57.dir/CMakeCCompilerABI.c.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -o /tmp/ccUCcDaB.s + GNU C17 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (aarch64-linux-gnu) + compiled by GNU C version 9.4.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP + + GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 + ignoring nonexistent directory "/usr/local/include/aarch64-linux-gnu" + ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/9/include-fixed" + ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/include" + #include "..." search starts here: + #include <...> search starts here: + /usr/lib/gcc/aarch64-linux-gnu/9/include + /usr/local/include + /usr/include/aarch64-linux-gnu + /usr/include + End of search list. + GNU C17 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (aarch64-linux-gnu) + compiled by GNU C version 9.4.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP + + GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 + Compiler executable checksum: 6a3864a8c3fe8bbb972fb5dbcb1f67d4 + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_eca57.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64' + as -v -EL -mabi=lp64 -o CMakeFiles/cmTC_eca57.dir/CMakeCCompilerABI.c.o /tmp/ccUCcDaB.s + GNU assembler version 2.34 (aarch64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34 + COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/9/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/9/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_eca57.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64' + Linking C executable cmTC_eca57 + /usr/local/lib/python3.8/dist-packages/cmake/data/bin/cmake -E cmake_link_script CMakeFiles/cmTC_eca57.dir/link.txt --verbose=1 + /usr/bin/cc -v CMakeFiles/cmTC_eca57.dir/CMakeCCompilerABI.c.o -o cmTC_eca57 + Using built-in specs. + COLLECT_GCC=/usr/bin/cc + COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/9/lto-wrapper + Target: aarch64-linux-gnu + Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu + Thread model: posix + gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) + COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/9/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/9/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_eca57' '-mlittle-endian' '-mabi=lp64' + /usr/lib/gcc/aarch64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/aarch64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/aarch64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccYwKZh4.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu --as-needed -dynamic-linker /lib/ld-linux-aarch64.so.1 -X -EL -maarch64linux --fix-cortex-a53-843419 -pie -z now -z relro -o cmTC_eca57 /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/Scrt1.o /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/crti.o /usr/lib/gcc/aarch64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/aarch64-linux-gnu/9 -L/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu -L/usr/lib/gcc/aarch64-linux-gnu/9/../../../../lib -L/lib/aarch64-linux-gnu -L/lib/../lib -L/usr/lib/aarch64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/aarch64-linux-gnu/9/../../.. CMakeFiles/cmTC_eca57.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/aarch64-linux-gnu/9/crtendS.o /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/crtn.o + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_eca57' '-mlittle-endian' '-mabi=lp64' + make[1]: Leaving directory '/workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles/CMakeScratch/TryCompile-c3mMli' + + exitCode: 0 + - + kind: "message-v1" + backtrace: + - "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeDetermineCompilerABI.cmake:127 (message)" + - "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Parsed C implicit include dir info: rv=done + found start of include info + found start of implicit include info + add: [/usr/lib/gcc/aarch64-linux-gnu/9/include] + add: [/usr/local/include] + add: [/usr/include/aarch64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/lib/gcc/aarch64-linux-gnu/9/include] ==> [/usr/lib/gcc/aarch64-linux-gnu/9/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/aarch64-linux-gnu] ==> [/usr/include/aarch64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/lib/gcc/aarch64-linux-gnu/9/include;/usr/local/include;/usr/include/aarch64-linux-gnu;/usr/include] + + + - + kind: "message-v1" + backtrace: + - "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeDetermineCompilerABI.cmake:152 (message)" + - "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Parsed C implicit link information: + link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] + ignore line: [Change Dir: '/workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles/CMakeScratch/TryCompile-c3mMli'] + ignore line: [] + ignore line: [Run Build Command(s): /usr/local/lib/python3.8/dist-packages/cmake/data/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_eca57/fast] + ignore line: [/usr/bin/make -f CMakeFiles/cmTC_eca57.dir/build.make CMakeFiles/cmTC_eca57.dir/build] + ignore line: [make[1]: Entering directory '/workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles/CMakeScratch/TryCompile-c3mMli'] + ignore line: [Building C object CMakeFiles/cmTC_eca57.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_eca57.dir/CMakeCCompilerABI.c.o -c /usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeCCompilerABI.c] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [Target: aarch64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_eca57.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64'] + ignore line: [ /usr/lib/gcc/aarch64-linux-gnu/9/cc1 -quiet -v -imultiarch aarch64-linux-gnu /usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mlittle-endian -mabi=lp64 -auxbase-strip CMakeFiles/cmTC_eca57.dir/CMakeCCompilerABI.c.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -o /tmp/ccUCcDaB.s] + ignore line: [GNU C17 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (aarch64-linux-gnu)] + ignore line: [ compiled by GNU C version 9.4.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "/usr/local/include/aarch64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/9/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/lib/gcc/aarch64-linux-gnu/9/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/aarch64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C17 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (aarch64-linux-gnu)] + ignore line: [ compiled by GNU C version 9.4.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: 6a3864a8c3fe8bbb972fb5dbcb1f67d4] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_eca57.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64'] + ignore line: [ as -v -EL -mabi=lp64 -o CMakeFiles/cmTC_eca57.dir/CMakeCCompilerABI.c.o /tmp/ccUCcDaB.s] + ignore line: [GNU assembler version 2.34 (aarch64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34] + ignore line: [COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/9/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/9/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_eca57.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64'] + ignore line: [Linking C executable cmTC_eca57] + ignore line: [/usr/local/lib/python3.8/dist-packages/cmake/data/bin/cmake -E cmake_link_script CMakeFiles/cmTC_eca57.dir/link.txt --verbose=1] + ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_eca57.dir/CMakeCCompilerABI.c.o -o cmTC_eca57 ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/9/lto-wrapper] + ignore line: [Target: aarch64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/9/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/9/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_eca57' '-mlittle-endian' '-mabi=lp64'] + link line: [ /usr/lib/gcc/aarch64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/aarch64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/aarch64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccYwKZh4.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu --as-needed -dynamic-linker /lib/ld-linux-aarch64.so.1 -X -EL -maarch64linux --fix-cortex-a53-843419 -pie -z now -z relro -o cmTC_eca57 /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/Scrt1.o /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/crti.o /usr/lib/gcc/aarch64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/aarch64-linux-gnu/9 -L/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu -L/usr/lib/gcc/aarch64-linux-gnu/9/../../../../lib -L/lib/aarch64-linux-gnu -L/lib/../lib -L/usr/lib/aarch64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/aarch64-linux-gnu/9/../../.. CMakeFiles/cmTC_eca57.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/aarch64-linux-gnu/9/crtendS.o /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/crtn.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/9/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/aarch64-linux-gnu/9/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/aarch64-linux-gnu/9/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccYwKZh4.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib/ld-linux-aarch64.so.1] ==> ignore + arg [-X] ==> ignore + arg [-EL] ==> ignore + arg [-maarch64linux] ==> ignore + arg [--fix-cortex-a53-843419] ==> ignore + arg [-pie] ==> ignore + arg [-znow] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTC_eca57] ==> ignore + arg [/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/Scrt1.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/crti.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/9/crtbeginS.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/9/crtbeginS.o] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/9] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/9] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/9/../../../../lib] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/9/../../../../lib] + arg [-L/lib/aarch64-linux-gnu] ==> dir [/lib/aarch64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/aarch64-linux-gnu] ==> dir [/usr/lib/aarch64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/9/../../..] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/9/../../..] + arg [CMakeFiles/cmTC_eca57.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [/usr/lib/gcc/aarch64-linux-gnu/9/crtendS.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/9/crtendS.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/crtn.o] + collapse obj [/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/Scrt1.o] ==> [/usr/lib/aarch64-linux-gnu/Scrt1.o] + collapse obj [/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/crti.o] ==> [/usr/lib/aarch64-linux-gnu/crti.o] + collapse obj [/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/crtn.o] ==> [/usr/lib/aarch64-linux-gnu/crtn.o] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/9] ==> [/usr/lib/gcc/aarch64-linux-gnu/9] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu] ==> [/usr/lib/aarch64-linux-gnu] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/9/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/aarch64-linux-gnu] ==> [/lib/aarch64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/aarch64-linux-gnu] ==> [/usr/lib/aarch64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/9/../../..] ==> [/usr/lib] + implicit libs: [gcc;gcc_s;c;gcc;gcc_s] + implicit objs: [/usr/lib/aarch64-linux-gnu/Scrt1.o;/usr/lib/aarch64-linux-gnu/crti.o;/usr/lib/gcc/aarch64-linux-gnu/9/crtbeginS.o;/usr/lib/gcc/aarch64-linux-gnu/9/crtendS.o;/usr/lib/aarch64-linux-gnu/crtn.o] + implicit dirs: [/usr/lib/gcc/aarch64-linux-gnu/9;/usr/lib/aarch64-linux-gnu;/usr/lib;/lib/aarch64-linux-gnu;/lib] + implicit fwks: [] + + + - + kind: "try_compile-v1" + backtrace: + - "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeDetermineCompilerABI.cmake:57 (try_compile)" + - "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + checks: + - "Detecting CXX compiler ABI info" + directories: + source: "/workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles/CMakeScratch/TryCompile-msCr7f" + binary: "/workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles/CMakeScratch/TryCompile-msCr7f" + cmakeVariables: + CMAKE_CXX_FLAGS: "" + CMAKE_EXE_LINKER_FLAGS: "" + buildResult: + variable: "CMAKE_CXX_ABI_COMPILED" + cached: true + stdout: | + Change Dir: '/workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles/CMakeScratch/TryCompile-msCr7f' + + Run Build Command(s): /usr/local/lib/python3.8/dist-packages/cmake/data/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_dc749/fast + /usr/bin/make -f CMakeFiles/cmTC_dc749.dir/build.make CMakeFiles/cmTC_dc749.dir/build + make[1]: Entering directory '/workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles/CMakeScratch/TryCompile-msCr7f' + Building CXX object CMakeFiles/cmTC_dc749.dir/CMakeCXXCompilerABI.cpp.o + /usr/bin/c++ -v -o CMakeFiles/cmTC_dc749.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeCXXCompilerABI.cpp + Using built-in specs. + COLLECT_GCC=/usr/bin/c++ + Target: aarch64-linux-gnu + Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu + Thread model: posix + gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_dc749.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' + /usr/lib/gcc/aarch64-linux-gnu/9/cc1plus -quiet -v -imultiarch aarch64-linux-gnu -D_GNU_SOURCE /usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mlittle-endian -mabi=lp64 -auxbase-strip CMakeFiles/cmTC_dc749.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -o /tmp/cclNUc6Y.s + GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (aarch64-linux-gnu) + compiled by GNU C version 9.4.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP + + GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 + ignoring duplicate directory "/usr/include/aarch64-linux-gnu/c++/9" + ignoring nonexistent directory "/usr/local/include/aarch64-linux-gnu" + ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/9/include-fixed" + ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/include" + #include "..." search starts here: + #include <...> search starts here: + /usr/include/c++/9 + /usr/include/aarch64-linux-gnu/c++/9 + /usr/include/c++/9/backward + /usr/lib/gcc/aarch64-linux-gnu/9/include + /usr/local/include + /usr/include/aarch64-linux-gnu + /usr/include + End of search list. + GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (aarch64-linux-gnu) + compiled by GNU C version 9.4.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP + + GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 + Compiler executable checksum: 4d0ffd0faaba59e19a04d931506edddd + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_dc749.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' + as -v -EL -mabi=lp64 -o CMakeFiles/cmTC_dc749.dir/CMakeCXXCompilerABI.cpp.o /tmp/cclNUc6Y.s + GNU assembler version 2.34 (aarch64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34 + COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/9/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/9/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_dc749.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' + Linking CXX executable cmTC_dc749 + /usr/local/lib/python3.8/dist-packages/cmake/data/bin/cmake -E cmake_link_script CMakeFiles/cmTC_dc749.dir/link.txt --verbose=1 + /usr/bin/c++ -v CMakeFiles/cmTC_dc749.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_dc749 + Using built-in specs. + COLLECT_GCC=/usr/bin/c++ + COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/9/lto-wrapper + Target: aarch64-linux-gnu + Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu + Thread model: posix + gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) + COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/9/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/9/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_dc749' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' + /usr/lib/gcc/aarch64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/aarch64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/aarch64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccDkgNgt.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu --as-needed -dynamic-linker /lib/ld-linux-aarch64.so.1 -X -EL -maarch64linux --fix-cortex-a53-843419 -pie -z now -z relro -o cmTC_dc749 /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/Scrt1.o /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/crti.o /usr/lib/gcc/aarch64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/aarch64-linux-gnu/9 -L/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu -L/usr/lib/gcc/aarch64-linux-gnu/9/../../../../lib -L/lib/aarch64-linux-gnu -L/lib/../lib -L/usr/lib/aarch64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/aarch64-linux-gnu/9/../../.. CMakeFiles/cmTC_dc749.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/aarch64-linux-gnu/9/crtendS.o /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/crtn.o + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_dc749' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' + make[1]: Leaving directory '/workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles/CMakeScratch/TryCompile-msCr7f' + + exitCode: 0 + - + kind: "message-v1" + backtrace: + - "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeDetermineCompilerABI.cmake:127 (message)" + - "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Parsed CXX implicit include dir info: rv=done + found start of include info + found start of implicit include info + add: [/usr/include/c++/9] + add: [/usr/include/aarch64-linux-gnu/c++/9] + add: [/usr/include/c++/9/backward] + add: [/usr/lib/gcc/aarch64-linux-gnu/9/include] + add: [/usr/local/include] + add: [/usr/include/aarch64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/include/c++/9] ==> [/usr/include/c++/9] + collapse include dir [/usr/include/aarch64-linux-gnu/c++/9] ==> [/usr/include/aarch64-linux-gnu/c++/9] + collapse include dir [/usr/include/c++/9/backward] ==> [/usr/include/c++/9/backward] + collapse include dir [/usr/lib/gcc/aarch64-linux-gnu/9/include] ==> [/usr/lib/gcc/aarch64-linux-gnu/9/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/aarch64-linux-gnu] ==> [/usr/include/aarch64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/include/c++/9;/usr/include/aarch64-linux-gnu/c++/9;/usr/include/c++/9/backward;/usr/lib/gcc/aarch64-linux-gnu/9/include;/usr/local/include;/usr/include/aarch64-linux-gnu;/usr/include] + + + - + kind: "message-v1" + backtrace: + - "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeDetermineCompilerABI.cmake:152 (message)" + - "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Parsed CXX implicit link information: + link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] + ignore line: [Change Dir: '/workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles/CMakeScratch/TryCompile-msCr7f'] + ignore line: [] + ignore line: [Run Build Command(s): /usr/local/lib/python3.8/dist-packages/cmake/data/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_dc749/fast] + ignore line: [/usr/bin/make -f CMakeFiles/cmTC_dc749.dir/build.make CMakeFiles/cmTC_dc749.dir/build] + ignore line: [make[1]: Entering directory '/workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles/CMakeScratch/TryCompile-msCr7f'] + ignore line: [Building CXX object CMakeFiles/cmTC_dc749.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_dc749.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [Target: aarch64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_dc749.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64'] + ignore line: [ /usr/lib/gcc/aarch64-linux-gnu/9/cc1plus -quiet -v -imultiarch aarch64-linux-gnu -D_GNU_SOURCE /usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mlittle-endian -mabi=lp64 -auxbase-strip CMakeFiles/cmTC_dc749.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -o /tmp/cclNUc6Y.s] + ignore line: [GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (aarch64-linux-gnu)] + ignore line: [ compiled by GNU C version 9.4.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring duplicate directory "/usr/include/aarch64-linux-gnu/c++/9"] + ignore line: [ignoring nonexistent directory "/usr/local/include/aarch64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/9/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/include/c++/9] + ignore line: [ /usr/include/aarch64-linux-gnu/c++/9] + ignore line: [ /usr/include/c++/9/backward] + ignore line: [ /usr/lib/gcc/aarch64-linux-gnu/9/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/aarch64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (aarch64-linux-gnu)] + ignore line: [ compiled by GNU C version 9.4.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: 4d0ffd0faaba59e19a04d931506edddd] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_dc749.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64'] + ignore line: [ as -v -EL -mabi=lp64 -o CMakeFiles/cmTC_dc749.dir/CMakeCXXCompilerABI.cpp.o /tmp/cclNUc6Y.s] + ignore line: [GNU assembler version 2.34 (aarch64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34] + ignore line: [COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/9/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/9/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_dc749.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64'] + ignore line: [Linking CXX executable cmTC_dc749] + ignore line: [/usr/local/lib/python3.8/dist-packages/cmake/data/bin/cmake -E cmake_link_script CMakeFiles/cmTC_dc749.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_dc749.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_dc749 ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/9/lto-wrapper] + ignore line: [Target: aarch64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/9/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/9/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_dc749' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64'] + link line: [ /usr/lib/gcc/aarch64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/aarch64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/aarch64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccDkgNgt.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu --as-needed -dynamic-linker /lib/ld-linux-aarch64.so.1 -X -EL -maarch64linux --fix-cortex-a53-843419 -pie -z now -z relro -o cmTC_dc749 /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/Scrt1.o /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/crti.o /usr/lib/gcc/aarch64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/aarch64-linux-gnu/9 -L/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu -L/usr/lib/gcc/aarch64-linux-gnu/9/../../../../lib -L/lib/aarch64-linux-gnu -L/lib/../lib -L/usr/lib/aarch64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/aarch64-linux-gnu/9/../../.. CMakeFiles/cmTC_dc749.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/aarch64-linux-gnu/9/crtendS.o /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/crtn.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/9/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/aarch64-linux-gnu/9/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/aarch64-linux-gnu/9/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccDkgNgt.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib/ld-linux-aarch64.so.1] ==> ignore + arg [-X] ==> ignore + arg [-EL] ==> ignore + arg [-maarch64linux] ==> ignore + arg [--fix-cortex-a53-843419] ==> ignore + arg [-pie] ==> ignore + arg [-znow] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTC_dc749] ==> ignore + arg [/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/Scrt1.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/crti.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/9/crtbeginS.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/9/crtbeginS.o] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/9] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/9] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/9/../../../../lib] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/9/../../../../lib] + arg [-L/lib/aarch64-linux-gnu] ==> dir [/lib/aarch64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/aarch64-linux-gnu] ==> dir [/usr/lib/aarch64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/9/../../..] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/9/../../..] + arg [CMakeFiles/cmTC_dc749.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/gcc/aarch64-linux-gnu/9/crtendS.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/9/crtendS.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/crtn.o] + collapse obj [/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/Scrt1.o] ==> [/usr/lib/aarch64-linux-gnu/Scrt1.o] + collapse obj [/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/crti.o] ==> [/usr/lib/aarch64-linux-gnu/crti.o] + collapse obj [/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/crtn.o] ==> [/usr/lib/aarch64-linux-gnu/crtn.o] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/9] ==> [/usr/lib/gcc/aarch64-linux-gnu/9] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu] ==> [/usr/lib/aarch64-linux-gnu] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/9/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/aarch64-linux-gnu] ==> [/lib/aarch64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/aarch64-linux-gnu] ==> [/usr/lib/aarch64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/9/../../..] ==> [/usr/lib] + implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc] + implicit objs: [/usr/lib/aarch64-linux-gnu/Scrt1.o;/usr/lib/aarch64-linux-gnu/crti.o;/usr/lib/gcc/aarch64-linux-gnu/9/crtbeginS.o;/usr/lib/gcc/aarch64-linux-gnu/9/crtendS.o;/usr/lib/aarch64-linux-gnu/crtn.o] + implicit dirs: [/usr/lib/gcc/aarch64-linux-gnu/9;/usr/lib/aarch64-linux-gnu;/usr/lib;/lib/aarch64-linux-gnu;/lib] + implicit fwks: [] + + +... diff --git a/Scripts/InFluence/CPP/build/CMakeFiles/CMakeDirectoryInformation.cmake b/Scripts/InFluence/CPP/build/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..9253551 --- /dev/null +++ b/Scripts/InFluence/CPP/build/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.27 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/workspaces/InFluence/Scripts/InFluence/CPP") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/workspaces/InFluence/Scripts/InFluence/CPP/build") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/DependInfo.cmake b/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/DependInfo.cmake new file mode 100644 index 0000000..ed6c90f --- /dev/null +++ b/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/DependInfo.cmake @@ -0,0 +1,24 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "/workspaces/InFluence/Scripts/InFluence/CPP/MCloop.cpp" "CMakeFiles/InFluence.dir/MCloop.cpp.o" "gcc" "CMakeFiles/InFluence.dir/MCloop.cpp.o.d" + "/workspaces/InFluence/Scripts/InFluence/CPP/constants.cpp" "CMakeFiles/InFluence.dir/constants.cpp.o" "gcc" "CMakeFiles/InFluence.dir/constants.cpp.o.d" + "/workspaces/InFluence/Scripts/InFluence/CPP/electron_generator.cpp" "CMakeFiles/InFluence.dir/electron_generator.cpp.o" "gcc" "CMakeFiles/InFluence.dir/electron_generator.cpp.o.d" + "/workspaces/InFluence/Scripts/InFluence/CPP/helper_functions.cpp" "CMakeFiles/InFluence.dir/helper_functions.cpp.o" "gcc" "CMakeFiles/InFluence.dir/helper_functions.cpp.o.d" + "/workspaces/InFluence/Scripts/InFluence/CPP/main.cpp" "CMakeFiles/InFluence.dir/main.cpp.o" "gcc" "CMakeFiles/InFluence.dir/main.cpp.o.d" + "/workspaces/InFluence/Scripts/InFluence/CPP/wrapper.cpp" "CMakeFiles/InFluence.dir/wrapper.cpp.o" "gcc" "CMakeFiles/InFluence.dir/wrapper.cpp.o.d" + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/build.make b/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/build.make new file mode 100644 index 0000000..afdefd4 --- /dev/null +++ b/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/build.make @@ -0,0 +1,191 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.27 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/local/lib/python3.8/dist-packages/cmake/data/bin/cmake + +# The command to remove a file. +RM = /usr/local/lib/python3.8/dist-packages/cmake/data/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /workspaces/InFluence/Scripts/InFluence/CPP + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /workspaces/InFluence/Scripts/InFluence/CPP/build + +# Include any dependencies generated for this target. +include CMakeFiles/InFluence.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include CMakeFiles/InFluence.dir/compiler_depend.make + +# Include the progress variables for this target. +include CMakeFiles/InFluence.dir/progress.make + +# Include the compile flags for this target's objects. +include CMakeFiles/InFluence.dir/flags.make + +CMakeFiles/InFluence.dir/main.cpp.o: CMakeFiles/InFluence.dir/flags.make +CMakeFiles/InFluence.dir/main.cpp.o: /workspaces/InFluence/Scripts/InFluence/CPP/main.cpp +CMakeFiles/InFluence.dir/main.cpp.o: CMakeFiles/InFluence.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/InFluence.dir/main.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/InFluence.dir/main.cpp.o -MF CMakeFiles/InFluence.dir/main.cpp.o.d -o CMakeFiles/InFluence.dir/main.cpp.o -c /workspaces/InFluence/Scripts/InFluence/CPP/main.cpp + +CMakeFiles/InFluence.dir/main.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/InFluence.dir/main.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /workspaces/InFluence/Scripts/InFluence/CPP/main.cpp > CMakeFiles/InFluence.dir/main.cpp.i + +CMakeFiles/InFluence.dir/main.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/InFluence.dir/main.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /workspaces/InFluence/Scripts/InFluence/CPP/main.cpp -o CMakeFiles/InFluence.dir/main.cpp.s + +CMakeFiles/InFluence.dir/helper_functions.cpp.o: CMakeFiles/InFluence.dir/flags.make +CMakeFiles/InFluence.dir/helper_functions.cpp.o: /workspaces/InFluence/Scripts/InFluence/CPP/helper_functions.cpp +CMakeFiles/InFluence.dir/helper_functions.cpp.o: CMakeFiles/InFluence.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object CMakeFiles/InFluence.dir/helper_functions.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/InFluence.dir/helper_functions.cpp.o -MF CMakeFiles/InFluence.dir/helper_functions.cpp.o.d -o CMakeFiles/InFluence.dir/helper_functions.cpp.o -c /workspaces/InFluence/Scripts/InFluence/CPP/helper_functions.cpp + +CMakeFiles/InFluence.dir/helper_functions.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/InFluence.dir/helper_functions.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /workspaces/InFluence/Scripts/InFluence/CPP/helper_functions.cpp > CMakeFiles/InFluence.dir/helper_functions.cpp.i + +CMakeFiles/InFluence.dir/helper_functions.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/InFluence.dir/helper_functions.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /workspaces/InFluence/Scripts/InFluence/CPP/helper_functions.cpp -o CMakeFiles/InFluence.dir/helper_functions.cpp.s + +CMakeFiles/InFluence.dir/electron_generator.cpp.o: CMakeFiles/InFluence.dir/flags.make +CMakeFiles/InFluence.dir/electron_generator.cpp.o: /workspaces/InFluence/Scripts/InFluence/CPP/electron_generator.cpp +CMakeFiles/InFluence.dir/electron_generator.cpp.o: CMakeFiles/InFluence.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object CMakeFiles/InFluence.dir/electron_generator.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/InFluence.dir/electron_generator.cpp.o -MF CMakeFiles/InFluence.dir/electron_generator.cpp.o.d -o CMakeFiles/InFluence.dir/electron_generator.cpp.o -c /workspaces/InFluence/Scripts/InFluence/CPP/electron_generator.cpp + +CMakeFiles/InFluence.dir/electron_generator.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/InFluence.dir/electron_generator.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /workspaces/InFluence/Scripts/InFluence/CPP/electron_generator.cpp > CMakeFiles/InFluence.dir/electron_generator.cpp.i + +CMakeFiles/InFluence.dir/electron_generator.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/InFluence.dir/electron_generator.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /workspaces/InFluence/Scripts/InFluence/CPP/electron_generator.cpp -o CMakeFiles/InFluence.dir/electron_generator.cpp.s + +CMakeFiles/InFluence.dir/constants.cpp.o: CMakeFiles/InFluence.dir/flags.make +CMakeFiles/InFluence.dir/constants.cpp.o: /workspaces/InFluence/Scripts/InFluence/CPP/constants.cpp +CMakeFiles/InFluence.dir/constants.cpp.o: CMakeFiles/InFluence.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object CMakeFiles/InFluence.dir/constants.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/InFluence.dir/constants.cpp.o -MF CMakeFiles/InFluence.dir/constants.cpp.o.d -o CMakeFiles/InFluence.dir/constants.cpp.o -c /workspaces/InFluence/Scripts/InFluence/CPP/constants.cpp + +CMakeFiles/InFluence.dir/constants.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/InFluence.dir/constants.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /workspaces/InFluence/Scripts/InFluence/CPP/constants.cpp > CMakeFiles/InFluence.dir/constants.cpp.i + +CMakeFiles/InFluence.dir/constants.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/InFluence.dir/constants.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /workspaces/InFluence/Scripts/InFluence/CPP/constants.cpp -o CMakeFiles/InFluence.dir/constants.cpp.s + +CMakeFiles/InFluence.dir/MCloop.cpp.o: CMakeFiles/InFluence.dir/flags.make +CMakeFiles/InFluence.dir/MCloop.cpp.o: /workspaces/InFluence/Scripts/InFluence/CPP/MCloop.cpp +CMakeFiles/InFluence.dir/MCloop.cpp.o: CMakeFiles/InFluence.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building CXX object CMakeFiles/InFluence.dir/MCloop.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/InFluence.dir/MCloop.cpp.o -MF CMakeFiles/InFluence.dir/MCloop.cpp.o.d -o CMakeFiles/InFluence.dir/MCloop.cpp.o -c /workspaces/InFluence/Scripts/InFluence/CPP/MCloop.cpp + +CMakeFiles/InFluence.dir/MCloop.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/InFluence.dir/MCloop.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /workspaces/InFluence/Scripts/InFluence/CPP/MCloop.cpp > CMakeFiles/InFluence.dir/MCloop.cpp.i + +CMakeFiles/InFluence.dir/MCloop.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/InFluence.dir/MCloop.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /workspaces/InFluence/Scripts/InFluence/CPP/MCloop.cpp -o CMakeFiles/InFluence.dir/MCloop.cpp.s + +CMakeFiles/InFluence.dir/wrapper.cpp.o: CMakeFiles/InFluence.dir/flags.make +CMakeFiles/InFluence.dir/wrapper.cpp.o: /workspaces/InFluence/Scripts/InFluence/CPP/wrapper.cpp +CMakeFiles/InFluence.dir/wrapper.cpp.o: CMakeFiles/InFluence.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building CXX object CMakeFiles/InFluence.dir/wrapper.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/InFluence.dir/wrapper.cpp.o -MF CMakeFiles/InFluence.dir/wrapper.cpp.o.d -o CMakeFiles/InFluence.dir/wrapper.cpp.o -c /workspaces/InFluence/Scripts/InFluence/CPP/wrapper.cpp + +CMakeFiles/InFluence.dir/wrapper.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/InFluence.dir/wrapper.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /workspaces/InFluence/Scripts/InFluence/CPP/wrapper.cpp > CMakeFiles/InFluence.dir/wrapper.cpp.i + +CMakeFiles/InFluence.dir/wrapper.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/InFluence.dir/wrapper.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /workspaces/InFluence/Scripts/InFluence/CPP/wrapper.cpp -o CMakeFiles/InFluence.dir/wrapper.cpp.s + +# Object files for target InFluence +InFluence_OBJECTS = \ +"CMakeFiles/InFluence.dir/main.cpp.o" \ +"CMakeFiles/InFluence.dir/helper_functions.cpp.o" \ +"CMakeFiles/InFluence.dir/electron_generator.cpp.o" \ +"CMakeFiles/InFluence.dir/constants.cpp.o" \ +"CMakeFiles/InFluence.dir/MCloop.cpp.o" \ +"CMakeFiles/InFluence.dir/wrapper.cpp.o" + +# External object files for target InFluence +InFluence_EXTERNAL_OBJECTS = + +libInFluence.so: CMakeFiles/InFluence.dir/main.cpp.o +libInFluence.so: CMakeFiles/InFluence.dir/helper_functions.cpp.o +libInFluence.so: CMakeFiles/InFluence.dir/electron_generator.cpp.o +libInFluence.so: CMakeFiles/InFluence.dir/constants.cpp.o +libInFluence.so: CMakeFiles/InFluence.dir/MCloop.cpp.o +libInFluence.so: CMakeFiles/InFluence.dir/wrapper.cpp.o +libInFluence.so: CMakeFiles/InFluence.dir/build.make +libInFluence.so: /usr/lib/aarch64-linux-gnu/libpython3.8.so +libInFluence.so: CMakeFiles/InFluence.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Linking CXX shared module libInFluence.so" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/InFluence.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/InFluence.dir/build: libInFluence.so +.PHONY : CMakeFiles/InFluence.dir/build + +CMakeFiles/InFluence.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/InFluence.dir/cmake_clean.cmake +.PHONY : CMakeFiles/InFluence.dir/clean + +CMakeFiles/InFluence.dir/depend: + cd /workspaces/InFluence/Scripts/InFluence/CPP/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /workspaces/InFluence/Scripts/InFluence/CPP /workspaces/InFluence/Scripts/InFluence/CPP /workspaces/InFluence/Scripts/InFluence/CPP/build /workspaces/InFluence/Scripts/InFluence/CPP/build /workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : CMakeFiles/InFluence.dir/depend + diff --git a/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/cmake_clean.cmake b/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/cmake_clean.cmake new file mode 100644 index 0000000..1ac5415 --- /dev/null +++ b/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/cmake_clean.cmake @@ -0,0 +1,21 @@ +file(REMOVE_RECURSE + "CMakeFiles/InFluence.dir/MCloop.cpp.o" + "CMakeFiles/InFluence.dir/MCloop.cpp.o.d" + "CMakeFiles/InFluence.dir/constants.cpp.o" + "CMakeFiles/InFluence.dir/constants.cpp.o.d" + "CMakeFiles/InFluence.dir/electron_generator.cpp.o" + "CMakeFiles/InFluence.dir/electron_generator.cpp.o.d" + "CMakeFiles/InFluence.dir/helper_functions.cpp.o" + "CMakeFiles/InFluence.dir/helper_functions.cpp.o.d" + "CMakeFiles/InFluence.dir/main.cpp.o" + "CMakeFiles/InFluence.dir/main.cpp.o.d" + "CMakeFiles/InFluence.dir/wrapper.cpp.o" + "CMakeFiles/InFluence.dir/wrapper.cpp.o.d" + "libInFluence.pdb" + "libInFluence.so" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/InFluence.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/compiler_depend.make b/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/compiler_depend.make new file mode 100644 index 0000000..adec939 --- /dev/null +++ b/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty compiler generated dependencies file for InFluence. +# This may be replaced when dependencies are built. diff --git a/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/compiler_depend.ts b/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/compiler_depend.ts new file mode 100644 index 0000000..e87ca0f --- /dev/null +++ b/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for InFluence. diff --git a/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/depend.make b/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/depend.make new file mode 100644 index 0000000..7920760 --- /dev/null +++ b/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for InFluence. +# This may be replaced when dependencies are built. diff --git a/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/flags.make b/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/flags.make new file mode 100644 index 0000000..89ddd63 --- /dev/null +++ b/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.27 + +# compile CXX with /usr/bin/c++ +CXX_DEFINES = -DInFluence_EXPORTS + +CXX_INCLUDES = -isystem /usr/include/python3.8 + +CXX_FLAGS = -std=gnu++11 -fPIC + diff --git a/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/link.txt b/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/link.txt new file mode 100644 index 0000000..fb227ee --- /dev/null +++ b/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/c++ -fPIC -shared -o libInFluence.so CMakeFiles/InFluence.dir/main.cpp.o CMakeFiles/InFluence.dir/helper_functions.cpp.o CMakeFiles/InFluence.dir/electron_generator.cpp.o CMakeFiles/InFluence.dir/constants.cpp.o CMakeFiles/InFluence.dir/MCloop.cpp.o CMakeFiles/InFluence.dir/wrapper.cpp.o /usr/lib/aarch64-linux-gnu/libpython3.8.so diff --git a/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/progress.make b/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/progress.make new file mode 100644 index 0000000..2f82315 --- /dev/null +++ b/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir/progress.make @@ -0,0 +1,8 @@ +CMAKE_PROGRESS_1 = 1 +CMAKE_PROGRESS_2 = 2 +CMAKE_PROGRESS_3 = 3 +CMAKE_PROGRESS_4 = 4 +CMAKE_PROGRESS_5 = 5 +CMAKE_PROGRESS_6 = 6 +CMAKE_PROGRESS_7 = 7 + diff --git a/Scripts/InFluence/CPP/build/CMakeFiles/Makefile.cmake b/Scripts/InFluence/CPP/build/CMakeFiles/Makefile.cmake new file mode 100644 index 0000000..e5faf3b --- /dev/null +++ b/Scripts/InFluence/CPP/build/CMakeFiles/Makefile.cmake @@ -0,0 +1,132 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.27 + +# The generator used is: +set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") + +# The top level Makefile was generated from the following files: +set(CMAKE_MAKEFILE_DEPENDS + "CMakeCache.txt" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeCCompiler.cmake.in" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeCCompilerABI.c" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeCInformation.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeCXXCompiler.cmake.in" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeCXXCompilerABI.cpp" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeCXXInformation.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeCommonLanguageInclude.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeCompilerIdDetection.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeDetermineCCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeDetermineCXXCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeDetermineCompileFeatures.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeDetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeDetermineCompilerABI.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeDetermineCompilerId.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeDetermineSystem.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeFindBinUtils.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeGenericSystem.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeInitializeConfigs.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeLanguageInformation.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeParseImplicitIncludeInfo.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeParseImplicitLinkInfo.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeParseLibraryArchitecture.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeSystem.cmake.in" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeSystemSpecificInformation.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeSystemSpecificInitialize.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeTestCCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeTestCXXCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeTestCompilerCommon.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/CMakeUnixFindMake.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/ADSP-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/Borland-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/Clang-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/Cray-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/GHS-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/GNU-C-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/GNU-C.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/GNU-CXX.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/GNU-FindBinUtils.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/GNU.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/HP-C-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/IAR-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/Intel-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/LCC-C-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/MSVC-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/PGI-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/PathScale-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/SCO-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/TI-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/Tasking-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/Watcom-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/XL-C-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/XLClang-C-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/zOS-C-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/FindPackageHandleStandardArgs.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/FindPackageMessage.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/FindPython/Support.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/FindPython3.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Internal/FeatureTesting.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Platform/Linux-Determine-CXX.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Platform/Linux-GNU-C.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Platform/Linux-GNU-CXX.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Platform/Linux-GNU.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Platform/Linux-Initialize.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Platform/Linux.cmake" + "/usr/local/lib/python3.8/dist-packages/cmake/data/share/cmake-3.27/Modules/Platform/UnixPaths.cmake" + "/workspaces/InFluence/Scripts/InFluence/CPP/CMakeLists.txt" + "CMakeFiles/3.27.0/CMakeCCompiler.cmake" + "CMakeFiles/3.27.0/CMakeCXXCompiler.cmake" + "CMakeFiles/3.27.0/CMakeSystem.cmake" + ) + +# The corresponding makefile is: +set(CMAKE_MAKEFILE_OUTPUTS + "Makefile" + "CMakeFiles/cmake.check_cache" + ) + +# Byproducts of CMake generate step: +set(CMAKE_MAKEFILE_PRODUCTS + "CMakeFiles/3.27.0/CMakeSystem.cmake" + "CMakeFiles/3.27.0/CMakeCCompiler.cmake" + "CMakeFiles/3.27.0/CMakeCXXCompiler.cmake" + "CMakeFiles/3.27.0/CMakeCCompiler.cmake" + "CMakeFiles/3.27.0/CMakeCXXCompiler.cmake" + "CMakeFiles/CMakeDirectoryInformation.cmake" + ) + +# Dependency information for all targets: +set(CMAKE_DEPEND_INFO_FILES + "CMakeFiles/InFluence.dir/DependInfo.cmake" + ) diff --git a/Scripts/InFluence/CPP/build/CMakeFiles/Makefile2 b/Scripts/InFluence/CPP/build/CMakeFiles/Makefile2 new file mode 100644 index 0000000..da4b307 --- /dev/null +++ b/Scripts/InFluence/CPP/build/CMakeFiles/Makefile2 @@ -0,0 +1,112 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.27 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/local/lib/python3.8/dist-packages/cmake/data/bin/cmake + +# The command to remove a file. +RM = /usr/local/lib/python3.8/dist-packages/cmake/data/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /workspaces/InFluence/Scripts/InFluence/CPP + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /workspaces/InFluence/Scripts/InFluence/CPP/build + +#============================================================================= +# Directory level rules for the build root directory + +# The main recursive "all" target. +all: CMakeFiles/InFluence.dir/all +.PHONY : all + +# The main recursive "preinstall" target. +preinstall: +.PHONY : preinstall + +# The main recursive "clean" target. +clean: CMakeFiles/InFluence.dir/clean +.PHONY : clean + +#============================================================================= +# Target rules for target CMakeFiles/InFluence.dir + +# All Build rule for target. +CMakeFiles/InFluence.dir/all: + $(MAKE) $(MAKESILENT) -f CMakeFiles/InFluence.dir/build.make CMakeFiles/InFluence.dir/depend + $(MAKE) $(MAKESILENT) -f CMakeFiles/InFluence.dir/build.make CMakeFiles/InFluence.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles --progress-num=1,2,3,4,5,6,7 "Built target InFluence" +.PHONY : CMakeFiles/InFluence.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/InFluence.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles 7 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/InFluence.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles 0 +.PHONY : CMakeFiles/InFluence.dir/rule + +# Convenience name for target. +InFluence: CMakeFiles/InFluence.dir/rule +.PHONY : InFluence + +# clean rule for target. +CMakeFiles/InFluence.dir/clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/InFluence.dir/build.make CMakeFiles/InFluence.dir/clean +.PHONY : CMakeFiles/InFluence.dir/clean + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/Scripts/InFluence/CPP/build/CMakeFiles/TargetDirectories.txt b/Scripts/InFluence/CPP/build/CMakeFiles/TargetDirectories.txt new file mode 100644 index 0000000..ab07f2c --- /dev/null +++ b/Scripts/InFluence/CPP/build/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,3 @@ +/workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles/InFluence.dir +/workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles/edit_cache.dir +/workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles/rebuild_cache.dir diff --git a/Scripts/InFluence/CPP/build/CMakeFiles/cmake.check_cache b/Scripts/InFluence/CPP/build/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000..3dccd73 --- /dev/null +++ b/Scripts/InFluence/CPP/build/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/Scripts/InFluence/CPP/build/CMakeFiles/progress.marks b/Scripts/InFluence/CPP/build/CMakeFiles/progress.marks new file mode 100644 index 0000000..7f8f011 --- /dev/null +++ b/Scripts/InFluence/CPP/build/CMakeFiles/progress.marks @@ -0,0 +1 @@ +7 diff --git a/Scripts/InFluence/CPP/build/Makefile b/Scripts/InFluence/CPP/build/Makefile new file mode 100644 index 0000000..f834822 --- /dev/null +++ b/Scripts/InFluence/CPP/build/Makefile @@ -0,0 +1,316 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.27 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/local/lib/python3.8/dist-packages/cmake/data/bin/cmake + +# The command to remove a file. +RM = /usr/local/lib/python3.8/dist-packages/cmake/data/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /workspaces/InFluence/Scripts/InFluence/CPP + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /workspaces/InFluence/Scripts/InFluence/CPP/build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "No interactive CMake dialog available..." + /usr/local/lib/python3.8/dist-packages/cmake/data/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..." + /usr/local/lib/python3.8/dist-packages/cmake/data/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# The main all target +all: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles /workspaces/InFluence/Scripts/InFluence/CPP/build//CMakeFiles/progress.marks + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all + $(CMAKE_COMMAND) -E cmake_progress_start /workspaces/InFluence/Scripts/InFluence/CPP/build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +#============================================================================= +# Target rules for targets named InFluence + +# Build rule for target. +InFluence: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 InFluence +.PHONY : InFluence + +# fast build rule for target. +InFluence/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/InFluence.dir/build.make CMakeFiles/InFluence.dir/build +.PHONY : InFluence/fast + +MCloop.o: MCloop.cpp.o +.PHONY : MCloop.o + +# target to build an object file +MCloop.cpp.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/InFluence.dir/build.make CMakeFiles/InFluence.dir/MCloop.cpp.o +.PHONY : MCloop.cpp.o + +MCloop.i: MCloop.cpp.i +.PHONY : MCloop.i + +# target to preprocess a source file +MCloop.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/InFluence.dir/build.make CMakeFiles/InFluence.dir/MCloop.cpp.i +.PHONY : MCloop.cpp.i + +MCloop.s: MCloop.cpp.s +.PHONY : MCloop.s + +# target to generate assembly for a file +MCloop.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/InFluence.dir/build.make CMakeFiles/InFluence.dir/MCloop.cpp.s +.PHONY : MCloop.cpp.s + +constants.o: constants.cpp.o +.PHONY : constants.o + +# target to build an object file +constants.cpp.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/InFluence.dir/build.make CMakeFiles/InFluence.dir/constants.cpp.o +.PHONY : constants.cpp.o + +constants.i: constants.cpp.i +.PHONY : constants.i + +# target to preprocess a source file +constants.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/InFluence.dir/build.make CMakeFiles/InFluence.dir/constants.cpp.i +.PHONY : constants.cpp.i + +constants.s: constants.cpp.s +.PHONY : constants.s + +# target to generate assembly for a file +constants.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/InFluence.dir/build.make CMakeFiles/InFluence.dir/constants.cpp.s +.PHONY : constants.cpp.s + +electron_generator.o: electron_generator.cpp.o +.PHONY : electron_generator.o + +# target to build an object file +electron_generator.cpp.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/InFluence.dir/build.make CMakeFiles/InFluence.dir/electron_generator.cpp.o +.PHONY : electron_generator.cpp.o + +electron_generator.i: electron_generator.cpp.i +.PHONY : electron_generator.i + +# target to preprocess a source file +electron_generator.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/InFluence.dir/build.make CMakeFiles/InFluence.dir/electron_generator.cpp.i +.PHONY : electron_generator.cpp.i + +electron_generator.s: electron_generator.cpp.s +.PHONY : electron_generator.s + +# target to generate assembly for a file +electron_generator.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/InFluence.dir/build.make CMakeFiles/InFluence.dir/electron_generator.cpp.s +.PHONY : electron_generator.cpp.s + +helper_functions.o: helper_functions.cpp.o +.PHONY : helper_functions.o + +# target to build an object file +helper_functions.cpp.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/InFluence.dir/build.make CMakeFiles/InFluence.dir/helper_functions.cpp.o +.PHONY : helper_functions.cpp.o + +helper_functions.i: helper_functions.cpp.i +.PHONY : helper_functions.i + +# target to preprocess a source file +helper_functions.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/InFluence.dir/build.make CMakeFiles/InFluence.dir/helper_functions.cpp.i +.PHONY : helper_functions.cpp.i + +helper_functions.s: helper_functions.cpp.s +.PHONY : helper_functions.s + +# target to generate assembly for a file +helper_functions.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/InFluence.dir/build.make CMakeFiles/InFluence.dir/helper_functions.cpp.s +.PHONY : helper_functions.cpp.s + +main.o: main.cpp.o +.PHONY : main.o + +# target to build an object file +main.cpp.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/InFluence.dir/build.make CMakeFiles/InFluence.dir/main.cpp.o +.PHONY : main.cpp.o + +main.i: main.cpp.i +.PHONY : main.i + +# target to preprocess a source file +main.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/InFluence.dir/build.make CMakeFiles/InFluence.dir/main.cpp.i +.PHONY : main.cpp.i + +main.s: main.cpp.s +.PHONY : main.s + +# target to generate assembly for a file +main.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/InFluence.dir/build.make CMakeFiles/InFluence.dir/main.cpp.s +.PHONY : main.cpp.s + +wrapper.o: wrapper.cpp.o +.PHONY : wrapper.o + +# target to build an object file +wrapper.cpp.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/InFluence.dir/build.make CMakeFiles/InFluence.dir/wrapper.cpp.o +.PHONY : wrapper.cpp.o + +wrapper.i: wrapper.cpp.i +.PHONY : wrapper.i + +# target to preprocess a source file +wrapper.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/InFluence.dir/build.make CMakeFiles/InFluence.dir/wrapper.cpp.i +.PHONY : wrapper.cpp.i + +wrapper.s: wrapper.cpp.s +.PHONY : wrapper.s + +# target to generate assembly for a file +wrapper.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/InFluence.dir/build.make CMakeFiles/InFluence.dir/wrapper.cpp.s +.PHONY : wrapper.cpp.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... rebuild_cache" + @echo "... InFluence" + @echo "... MCloop.o" + @echo "... MCloop.i" + @echo "... MCloop.s" + @echo "... constants.o" + @echo "... constants.i" + @echo "... constants.s" + @echo "... electron_generator.o" + @echo "... electron_generator.i" + @echo "... electron_generator.s" + @echo "... helper_functions.o" + @echo "... helper_functions.i" + @echo "... helper_functions.s" + @echo "... main.o" + @echo "... main.i" + @echo "... main.s" + @echo "... wrapper.o" + @echo "... wrapper.i" + @echo "... wrapper.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/Scripts/InFluence/CPP/build/cmake_install.cmake b/Scripts/InFluence/CPP/build/cmake_install.cmake new file mode 100644 index 0000000..1416097 --- /dev/null +++ b/Scripts/InFluence/CPP/build/cmake_install.cmake @@ -0,0 +1,54 @@ +# Install script for directory: /workspaces/InFluence/Scripts/InFluence/CPP + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + +if(CMAKE_INSTALL_COMPONENT) + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +file(WRITE "/workspaces/InFluence/Scripts/InFluence/CPP/build/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/Scripts/InFluence/CPP/constants.cpp b/Scripts/InFluence/CPP/constants.cpp new file mode 100644 index 0000000..d2c84f8 --- /dev/null +++ b/Scripts/InFluence/CPP/constants.cpp @@ -0,0 +1,14 @@ +#include "helper_functions.h" +#include "constants.h" +#include + +// Define the constants here +const double AlphaMultiplier = 0.0199243747192385; +const double CrossSectionNumorator = 1.8667680868962075e-16; +const double CrossSectionLogArgMultiplier = 0.23918817189962177; +const double CrossSectionDenominatorA = 0.5184202839764088; +const double CrossSectionDenominatorB = 0.07483314773547883; +const double PathLengthMultiplier = 2.0026243685658836e-23; +const double EnergyLossMultiplierA = -39110.320284697504; +const double EnergyLossMultiplierB = 0.17207166322008674; +const double pi = M_PI; diff --git a/Scripts/InFluence/CPP/constants.h b/Scripts/InFluence/CPP/constants.h new file mode 100644 index 0000000..ab09613 --- /dev/null +++ b/Scripts/InFluence/CPP/constants.h @@ -0,0 +1,15 @@ +#ifndef CONSTANTS_H +#define CONSTANTS_H + +// Constants defined as extern to be accessible in other source files +extern const double AlphaMultiplier; +extern const double CrossSectionNumorator; +extern const double CrossSectionLogArgMultiplier; +extern const double CrossSectionDenominatorA; +extern const double CrossSectionDenominatorB; +extern const double PathLengthMultiplier; +extern const double EnergyLossMultiplierA; +extern const double EnergyLossMultiplierB; +extern const double pi; + +#endif // CONSTANTS_H \ No newline at end of file diff --git a/Scripts/InFluence/CPP/constants.o b/Scripts/InFluence/CPP/constants.o new file mode 100644 index 0000000000000000000000000000000000000000..969b531eff1c151e55e0cafaea05619be4db91c6 GIT binary patch literal 1600 zcmbu9L2DC16vtn>T5J((Jq5g^A~XdvBod|7%5Iw0df1ji?8QsiY=>kqnO%2h(H_*R z-aLpGQNe?VH}Q~z9&%AcP{B`7E!Kl4@u;9P$xJexZZGYF-S^&a-v7<)FtfK8?2ALG z6i7=!8wQ!A03BlxTiwutQ5fmNsSR`TNd3NPMBg7~f4rDIJNEl?`_U)!XZ87stp^+C z-&ypnoPA|Ju}e3D>I~KNBMsESAgXGTGHyOlX{$ zK}D3$72hb>ENdfg#ZQ&C6zO-e7sU&uo-k4>w=y9 z7~?6WUfp8@hV?ex+<=2Sc#e^A*5{BIk^X|Sp%JgxCS@QlXq3ZB*YQ^E5ZZwo%H z@sEOA8s8NBlE%UHNkkn&Bjg4FoLqzIl?t^BGl7R)eBFz1wObL!E`?GvXgEu8lX^kZ z!y%MIKZ+{YrJhfguz; zecfi$4`2zB=o|zd0E*UI)TuE~!=7)*h~gU*(3(RXK(#0W6#Biy^;<1W*ckCCMvKd< zIkr*mRk4BlbjO*VpGExyTD$aB&n+*RU=L^d4Y3$YGF?B(iuf7ctNs+z@}Bz5wHV{J z(sTW{ye|?IS-|!3TuXjW1iZg$a{bctdnaSH?v0u#v0lq_eeJxw!(Yta3jtsED0}4k i<$dOVV14fxf;*z=7Ect@=O1TdNqQpSlA`6IuKy4GoU#f4 literal 0 HcmV?d00001 diff --git a/Scripts/InFluence/CPP/electron_generator.cpp b/Scripts/InFluence/CPP/electron_generator.cpp new file mode 100644 index 0000000..0f34acf --- /dev/null +++ b/Scripts/InFluence/CPP/electron_generator.cpp @@ -0,0 +1,38 @@ +#include "electrons_generator.h" +#include "helper_functions.h" // Include any necessary custom functions +#include "constants.h" + +std::vector> generate_electrons(int electron_count, double E_i, double ProbeDiameter) { + std::vector> electrons(electron_count, std::vector(16)); + + // Pre-calculate some common values + double alpha = evaluate_alpha(E_i, AlphaMultiplier); + double crossSection = evaluate_cross_section_opt(E_i, CrossSectionLogArgMultiplier, CrossSectionNumorator, CrossSectionDenominatorA, CrossSectionDenominatorB); + double pathLength = evaluate_path_length(crossSection, PathLengthMultiplier); + + std::random_device rd; + std::mt19937 gen(rd()); + std::uniform_real_distribution dis(0.000001, 0.999999); + + for (int i = 0; i < electron_count; ++i) { + electrons[i][0] = E_i; // E_i + electrons[i][1] = E_i; // E + electrons[i][2] = alpha; // Alpha + electrons[i][3] = crossSection; // CrossSection + electrons[i][4] = pathLength; // PathLength + electrons[i][5] = dis(gen); // RND_step + electrons[i][6] = evaluate_step(pathLength, electrons[i][5]); // step + electrons[i][7] = ProbeDiameter; // ProbeDiameter + + std::vector initialPositions = initialize_positions(electrons[i][6], ProbeDiameter); // InitialPosition + electrons[i][9] = initialPositions[0]; // cosineX + electrons[i][10] = initialPositions[1]; // cosineY + electrons[i][11] = initialPositions[2]; // cosineZ + electrons[i][12] = initialPositions[3]; // z0 + electrons[i][13] = initialPositions[4]; // y0 + electrons[i][14] = initialPositions[5]; // x0 + electrons[i][15] = 0; // dE + } + + return electrons; +} diff --git a/Scripts/InFluence/CPP/electron_generator.o b/Scripts/InFluence/CPP/electron_generator.o new file mode 100644 index 0000000000000000000000000000000000000000..b558306fd729a053f5817ef115a9eadbdf8aa941 GIT binary patch literal 79656 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 UR9yU-M>WM4lT4{gv{zpL4-$tZUH||9 literal 0 HcmV?d00001 diff --git a/Scripts/InFluence/CPP/electrons_generator.h b/Scripts/InFluence/CPP/electrons_generator.h new file mode 100644 index 0000000..10b9727 --- /dev/null +++ b/Scripts/InFluence/CPP/electrons_generator.h @@ -0,0 +1,11 @@ +#ifndef ELECTRONS_GENERATOR_H +#define ELECTRONS_GENERATOR_H + +#include +#include +#include +#include + +std::vector> generate_electrons(int electron_count, double E_i, double ProbeDiameter); + +#endif // ELECTRONS_GENERATOR_H diff --git a/Scripts/InFluence/CPP/helper_functions.cpp b/Scripts/InFluence/CPP/helper_functions.cpp new file mode 100644 index 0000000..0929cf4 --- /dev/null +++ b/Scripts/InFluence/CPP/helper_functions.cpp @@ -0,0 +1,277 @@ +#include "helper_functions.h" +#include +#include + + + + +int custom_round_down(double x, int decimals) { + double multiplier = pow(10, decimals); + double rounded_value = ceil(fabs(x) * multiplier - 0.5); + rounded_value /= multiplier; + return static_cast(rounded_value); +} + +std::vector custom_round_down_vector(const std::vector& input_vec, int decimals) { + std::vector result_vec; + + for (const double& value : input_vec) { + int result = custom_round_down(value, decimals); + result_vec.push_back(result); + } + + return result_vec; +} + +double evaluate_alpha(double E, double AlphaMultiplier) { + return AlphaMultiplier / E; +} + +std::vector evaluate_alpha_vector(const std::vector& energies, double AlphaMultiplier) { + std::vector alpha_values; + + for (const double& E : energies) { + double alpha = evaluate_alpha(E, AlphaMultiplier); + alpha_values.push_back(alpha); + } + + return alpha_values; +} + +double evaluate_cross_section_opt(double E, double CrossSectionLogArgMultiplier, double CrossSectionNumorator, double CrossSectionDenominatorA, double CrossSectionDenominatorB) { + double LogArg = log10(E * CrossSectionLogArgMultiplier); + double CrossSection = CrossSectionNumorator / ((E + sqrt(E) * CrossSectionDenominatorA) * (1 - exp(-1 * LogArg * LogArg) * CrossSectionDenominatorB)); + return CrossSection; +} + +std::vector evaluate_cross_section_opt_vector(const std::vector& energies, double CrossSectionLogArgMultiplier, double CrossSectionNumorator, double CrossSectionDenominatorA, double CrossSectionDenominatorB) { + std::vector cross_section_values; + + for (const double& E : energies) { + double cross_section = evaluate_cross_section_opt(E, CrossSectionLogArgMultiplier, CrossSectionNumorator, CrossSectionDenominatorA, CrossSectionDenominatorB); + cross_section_values.push_back(cross_section); + } + + return cross_section_values; +} + +double evaluate_path_length(double CrossSection, double PathLengthMultiplier) { + double PathLength = PathLengthMultiplier * (1 / CrossSection); + return PathLength; +} + +std::vector evaluate_path_length_vector(const std::vector& cross_sections, double PathLengthMultiplier) { + std::vector path_length_values; + + for (const double& cross_section : cross_sections) { + double path_length = evaluate_path_length(cross_section, PathLengthMultiplier); + path_length_values.push_back(path_length); + } + + return path_length_values; +} + + +double evaluate_step(double path_length, double RandomStep) { + return -path_length * std::log(RandomStep); +} + + +std::vector evaluate_step(const std::vector& path_lengths, const std::vector& RandomSteps) { + std::vector results; + results.reserve(path_lengths.size()); + + for (size_t i = 0; i < path_lengths.size(); ++i) { + results.push_back(-path_lengths[i] * std::log(RandomSteps[i])); + } + + return results; +} + +double evaluate_phi(double RandomNum, double alpha) { + double cosPhi = 1.0 - (2.0 * alpha * std::pow(RandomNum, 2)) / (1.0 + alpha - RandomNum); + return std::acos(cosPhi); +} + +std::vector evaluate_phi(const std::vector& RandomNums, double alpha) { + std::vector cosPhis; + cosPhis.reserve(RandomNums.size()); + + for (double RandomNum : RandomNums) { + double cosPhi = 1.0 - (2.0 * alpha * std::pow(RandomNum, 2)) / (1.0 + alpha - RandomNum); + cosPhis.push_back(cosPhi); + } + + std::vector phis; + phis.reserve(cosPhis.size()); + + for (double cosPhi : cosPhis) { + phis.push_back(std::acos(cosPhi)); + } + + return phis; +} + +double evaluate_pho(double RandomNum, double pi) { + return 2.0 * pi * RandomNum; +} + +std::vector evaluate_pho(const std::vector& RandomNums, double pi) { + std::vector phos; + phos.reserve(RandomNums.size()); + + for (double RandomNum : RandomNums) { + phos.push_back(2.0 * pi * RandomNum); + } + + return phos; +} + +double evaluate_direction_cosine_a(double phi, double psi, double cosineY, double cosineZ) { + double alpha = std::sin(psi) * std::sin(phi); + double beta = std::sin(phi) * std::cos(psi); + double gamma = std::cos(phi); + double cos_1 = cosineZ; + double sin_1 = std::sqrt(1.0 - cosineZ * cosineZ); + double cos_2 = cosineY / sin_1; + double sin_2 = cosineY / sin_1; + return alpha * cos_2 + sin_2 * (beta * cos_1 + gamma * sin_1); +} + +std::vector evaluate_direction_cosine_a(const std::vector& phis, + const std::vector& psis, + const std::vector& cosineYs, + const std::vector& cosineZs) { + std::vector results; + results.reserve(phis.size()); + + for (size_t i = 0; i < phis.size(); ++i) { + double phi = phis[i]; + double psi = psis[i]; + double cosineY = cosineYs[i]; + double cosineZ = cosineZs[i]; + + double alpha = std::sin(psi) * std::sin(phi); + double beta = std::sin(phi) * std::cos(psi); + double gamma = std::cos(phi); + double sin_1 = std::sqrt(1.0 - cosineZ * cosineZ); + double cos_2 = cosineY / sin_1; + double sin_2 = cosineY / sin_1; + + results.push_back(alpha * cos_2 + sin_2 * (beta * cosineZ + gamma * sin_1)); + } + + return results; +} + +double evaluate_direction_cosine_b(double phi, double psi, double cosineX, double cosineY, double cosineZ) { + double alpha = std::sin(phi) * std::sin(psi); + double beta = std::sin(phi) * std::cos(psi); + double gamma = std::cos(phi); + double sin_1 = std::sqrt(1.0 - cosineZ * cosineZ); + double cos_2 = cosineY / sin_1; + double sin_2 = cosineX / sin_1; + + return -alpha * sin_2 + cos_2 * (beta * cosineZ + gamma * sin_1); +} + +std::vector evaluate_direction_cosine_b(const std::vector& phis, + const std::vector& psis, + const std::vector& cosineXs, + const std::vector& cosineYs, + const std::vector& cosineZs) { + std::vector results; + results.reserve(phis.size()); + + for (size_t i = 0; i < phis.size(); ++i) { + double alpha = std::sin(phis[i]) * std::sin(psis[i]); + double beta = std::sin(phis[i]) * std::cos(psis[i]); + double gamma = std::cos(phis[i]); + double sin_1 = std::sqrt(1.0 - cosineZs[i] * cosineZs[i]); + double cos_2 = cosineYs[i] / sin_1; + double sin_2 = cosineXs[i] / sin_1; + + results.push_back(-alpha * sin_2 + cos_2 * (beta * cosineZs[i] + gamma * sin_1)); + } + + return results; +} + +double evaluate_direction_cosine_c(double phi, double psi, double cosineZ) { + double beta = std::sin(phi) * std::cos(psi); + double gamma = std::cos(phi); + double sin_1 = std::sqrt(1.0 - cosineZ * cosineZ); + double cos_1 = cosineZ; + + return -beta * sin_1 + gamma * cos_1; +} + + +std::vector evaluate_direction_cosine_c(const std::vector& phis, + const std::vector& psis, + const std::vector& cosineZs) { + std::vector results; + results.reserve(phis.size()); + + for (size_t i = 0; i < phis.size(); ++i) { + double beta = std::sin(phis[i]) * std::cos(psis[i]); + double gamma = std::cos(phis[i]); + double sin_1 = std::sqrt(1.0 - cosineZs[i] * cosineZs[i]); + double cos_1 = cosineZs[i]; + + results.push_back(-beta * sin_1 + gamma * cos_1); + } + + return results; +} + + +double evaluate_energy_loss_rate(double E, double EnergyLossMultiplierA, double EnergyLossMultiplier) { + return EnergyLossMultiplierA * (1.0 / E) * std::log(1.166 * (E + 0.85 * EnergyLossMultiplier) / EnergyLossMultiplier); +} + +std::vector evaluate_energy_loss_rate(const std::vector& energies, + double EnergyLossMultiplierA, + double EnergyLossMultiplier) { + std::vector results; + results.reserve(energies.size()); + + for (size_t i = 0; i < energies.size(); ++i) { + results.push_back(evaluate_energy_loss_rate(energies[i], EnergyLossMultiplierA, EnergyLossMultiplier)); + } + + return results; +} + +double get_random_uniform(double a, double b) { + std::random_device rd; + std::mt19937 gen(rd()); + std::uniform_real_distribution dis(a, b); + return dis(gen); +} + +std::vector initialize_positions(double step, double ProbeDiameter) { + double z0 = 1e-2 + step; + double x0 = ProbeDiameter * get_random_uniform(-1.0, 1.0); + double y0 = ProbeDiameter * get_random_uniform(-1.0, 1.0); + double vector_length = std::sqrt(x0 * x0 + y0 * y0 + z0 * z0); + double cosineX = x0 / vector_length; + double cosineY = y0 / vector_length; + double cosineZ = z0 / vector_length; + + return {cosineX, cosineY, cosineZ, z0, y0, x0, vector_length}; +} + +std::vector> initialize_positions(const std::vector& steps, double ProbeDiameter) { + std::vector> results; + results.reserve(steps.size()); + + for (double step : steps) { + results.push_back(initialize_positions(step, ProbeDiameter)); + } + + return results; +} + + + diff --git a/Scripts/InFluence/CPP/helper_functions.h b/Scripts/InFluence/CPP/helper_functions.h new file mode 100644 index 0000000..03197d2 --- /dev/null +++ b/Scripts/InFluence/CPP/helper_functions.h @@ -0,0 +1,58 @@ +#ifndef HELPER_FUNCTIONS_H +#define HELPER_FUNCTIONS_H + +#include +#include +#include + +int custom_round_down(double x, int decimals = 0); + +std::vector custom_round_down_vector(const std::vector& input_vec, int decimals); + +double evaluate_alpha(double E, double AlphaMultiplier); + +std::vector evaluate_alpha_vector(const std::vector& energies, double AlphaMultiplier); + +double evaluate_cross_section_opt(double E, double CrossSectionLogArgMultiplier, double CrossSectionNumorator, double CrossSectionDenominatorA, double CrossSectionDenominatorB); + +std::vector evaluate_cross_section_opt_vector(const std::vector& energies, double CrossSectionLogArgMultiplier, double CrossSectionNumorator, double CrossSectionDenominatorA, double CrossSectionDenominatorB); + +double evaluate_path_length(double CrossSection, double PathLengthMultiplier); + +std::vector evaluate_path_length_vector(const std::vector& cross_sections, double PathLengthMultiplier); + +double evaluate_step(double path_length, double RandomStep); + +std::vector evaluate_step(const std::vector& path_lengths, const std::vector& RandomSteps); + +double evaluate_phi(double RandomNum, double alpha); + +std::vector evaluate_phi(const std::vector& RandomNums, double alpha); + +double evaluate_pho(double RandomNum, double pi); + +std::vector evaluate_pho(const std::vector& RandomNums, double pi); + +double evaluate_direction_cosine_a(double phi, double psi, double cosineY, double cosineZ); + +std::vector evaluate_direction_cosine_a(const std::vector& phis, const std::vector& psis, const std::vector& cosineYs, const std::vector& cosineZs); + +double evaluate_direction_cosine_b(double phi, double psi, double cosineX, double cosineY, double cosineZ); + +std::vector evaluate_direction_cosine_b(const std::vector& phis, const std::vector& psis, const std::vector& cosineXs, const std::vector& cosineYs, const std::vector& cosineZs); + +double evaluate_direction_cosine_c(double phi, double psi, double cosineZ); + +std::vector evaluate_direction_cosine_c(const std::vector& phis, const std::vector& psis, const std::vector& cosineZs); + +double evaluate_energy_loss_rate(double E, double EnergyLossMultiplierA, double EnergyLossMultiplier); + +std::vector evaluate_energy_loss_rate(const std::vector& energies, double EnergyLossMultiplierA, double EnergyLossMultiplier); + +double get_random_uniform(double a, double b); + +std::vector initialize_positions(double step, double ProbeDiameter); + +std::vector> initialize_positions(const std::vector& steps, double ProbeDiameter); + +#endif // HELPER_FUNCTIONS_H diff --git a/Scripts/InFluence/CPP/helper_functions.o b/Scripts/InFluence/CPP/helper_functions.o new file mode 100644 index 0000000000000000000000000000000000000000..aba3b8b6fe03be9c18ce65e2e41f93018933cdd8 GIT binary patch literal 183096 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

    -7@Z-o2s{hgjeEkog-poHS48HiC4|=ZtJJEj= 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 literal 0 HcmV?d00001 diff --git a/Scripts/InFluence/CPP/influence b/Scripts/InFluence/CPP/influence new file mode 100755 index 0000000000000000000000000000000000000000..94fa64b8a0bb4ced3314959a4582c9e7fdf5bb25 GIT binary patch literal 159840 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