<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://www.rudytriplett.com/about</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2024-06-20</lastmod>
  </url>
  <url>
    <loc>https://www.rudytriplett.com/721597922929-1</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2020-08-26</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/1598452430385-0F5AT4RQC6HWEQD9NI5K/PProject.gif</image:loc>
      <image:title>Passion Project</image:title>
      <image:caption>This is my passion project at the moment. It has a system that allows for the user to create a technically infinite number of custom die. The overall concept is a rogue-like party game. Some current features: No health - The player will take damage to their dice Customizable dice - The player gets to choose what each side of every die should be so as to build the character to suit their play style (each die starts blank) Character stats - The stats are determined by the size and percentage completed (non-blank faces) of the first 5 dice in your “bag“. Each stat will modify your overall dice in different ways Ability tests - There are challenges in the game that will base your changes of success based on your character stats Abilities - There are abilities to be collected that will allow for unique interaction in and out of combat Weapons/Armor/Items - There also weapons to find and modify. These too tie into the dice system and will have their own Unique mods available Path finding system - The path finding system takes the number that is rolled and finds all qualifying spaces. From there it allows the user to simply select the space they want and it will walk them to it. The fun part here is that it cannot simply take the shortest path. It needs move the exact number of spaces rolled to get to the path (per the rules of the game(Example: If you roll a 6, you must move 6 spaces)). You are not allowed to move back and forth. However you can loop around connected areas. The system handles this with out any knowledge of direction or distance. This makes it perfect for me as a develop because I do not have to do anything extra to have it adapt to the levels I am building Path creation tool - On the developer side. I have created a simple tool that allows me to place down a parent space (that can be assigned additional functionality later depending on space type) where ever I like. From there I only need to tell it what it is connected to and it will handle the rest. It will even create the lines you see between spaces for me. This in tandem with the path finding system make creating new boards/level extremely quick and easy. Dynamic spinner - The spinner will automatically adjust to any number it’s given up to 99. It will adjust the logic as well as the visuals to accommodate the new range Combat system - Takes into account the abilities, dice, weapon mods, ect. and spits out the end result.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.rudytriplett.com/3d-mesh-drawn-in-umg</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2020-08-26</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/1598457177567-8ARB39LGYDFOUVS7HRCF/3DMeshUMG2.gif</image:loc>
      <image:title>3D Mesh Drawn in UMG</image:title>
      <image:caption>And for your amusement, here is ol’ yellow (Character in the UE4 Engine content). You will have to excuse the “camera“ angle for this shot. I found it to be more interesting but it may be a little to close.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/1598456598893-BBL9HJAMSMH1Q268XYK2/3DMeshUMG.gif</image:loc>
      <image:title>3D Mesh Drawn in UMG</image:title>
      <image:caption>This was a fun challenge posed by a co-worker. What you are seeing is a widget that takes in a static mesh and uses its paint function to draw the shape in UMG. The rotation and translation could all be modified. This particular rotation was good for showing off the mesh. While admittedly not the most useful tool, I did learn a lot more about how 3D object are projected onto a 2D plane. Later additions of this also incorporated back face culling.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.rudytriplett.com/texturelayeringsystem</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2020-08-26</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/1598450469668-646DD3PR3MNOSN7TREJ5/TLSystem.gif</image:loc>
      <image:title>TextureLayeringSystem</image:title>
      <image:caption>This is the “Texture layering system“ that I created as an in editor tool for modifying available textures on the fly. It allows the user to quickly select any textures in the project from a dropdown list that is automatically populated. Features: Layer - It allows the user to quickly stack textures together in a similar fashion to Photoshop Modify - Each layer can be Translated, Scaled, Rotated, and Tiled Color - Each layer can be colored using the custom color wheel I created for this tool Painted/Erased - The Texture can be painted on or erased using the mouse directly in the painting area provided in the tool Copied - Each layer can be “Copied down“ to the next layer. This is useful for matching up the changes made to textures and applying them to a Normal Map UV space - This is done in UV space, meaning the user can import a picture of their UVs and know exactly where each modification/ addition will show up on the model Bake - The system can take the complex layered image and back it down into a single texture asset. The file location and name can all be setup with in the tool itself. Runtime - This tool can also be used at runtime to allow players to create their own textures. This could be useful in allow players to make custom badges or even modify the end result of the textures on their models.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.rudytriplett.com/721597922929</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2020-08-26</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/1598451468412-ULSHS3CLTR4O45U1G165/3D2DPlaneVR.gif</image:loc>
      <image:title>3D Minimap on 2D Plane VR</image:title>
      <image:caption>This tool was made as a request to mimic a tool in Unity that creates a miniature version of the scene that the developer to make changes to their levels. What you are seeing here is a faked 3D miniature scene of the current level. This is done with a single plane that rotates to face the developer. From there I did some math to project the location and angle of the VR pointer on the 2D plane to match up with were the developer would be clicking in the actual scene. The end result is that you can select actors in the scene via the faked miniature. This 3D minimap can be taken with you around the level so that you can edit pieces of your scene without having to actually move around in VR. You can bring the area you want to modify to you.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.rudytriplett.com/home</loc>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
    <lastmod>2024-05-13</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/1598390625604-DAGS2QN8OK77YEHT5K8G/CDCSS3.png</image:loc>
      <image:title>Home</image:title>
      <image:caption>Dynamic spinner that updates automatically to handle any number up to 99 (One Spinner to Rule them all).</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/1598390533259-546N5343YI8RSHNXZIVS/CDCSS1.png</image:loc>
      <image:title>Home - Smart path finding for any space that is the exact rolled number away</image:title>
      <image:caption>No need to count with this smart path finding system. It will automatically find every available space that is the exact number rolled away as well as walk you to it (Guaranteed to get you were you need to go).</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/1598390653248-GZM43QS8FMC486YJRMAT/CDCSS5.png</image:loc>
      <image:title>Home - Fun combat system</image:title>
      <image:caption>Fun combat system with various abilities, items and stats.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/1598390599686-3PD1YCN6A0L7HZ8CJLLJ/CDCSS2.png</image:loc>
      <image:title>Home - Infinite dice system</image:title>
      <image:caption>Customize every die face and size. Everything plays an important role for determining how your character will play</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/1598390673840-N8S8CWPI9QXY7XCHO5TE/CDCSS4.png</image:loc>
      <image:title>Home</image:title>
      <image:caption>There is not enough room on this space for the two of us.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/1598396535722-0V444MHHWCVZCC6ZA8SB/MMShowCase.png</image:loc>
      <image:title>Home - Minimap</image:title>
      <image:caption>At the time I made this all other minimaps on the Unreal Marketplace took nearly 20 min. on average to setup. I saw a need for a product that is plug and play. It sets up a series of recycled widgets to increase performance. The end user need only tag their actors and choose the images they would like to represent them. It can be setup in under a minute.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/1598395313638-OYU3IJTSGNUA3XVKQDPQ/LayeringSystemShowcase.png</image:loc>
      <image:title>Home - Texture layering system</image:title>
      <image:caption>This system automatically pulls in textures and allows the user to edit them at design time or runtime. At design time, the texture can be compressed down to a single texture.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.rudytriplett.com/721597922929-2</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2020-08-26</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/1598454300625-63SRWARDTL6SQLRTXL93/VCTool.gif</image:loc>
      <image:title>Voxel Coloring Tool</image:title>
      <image:caption>This is my “Voxel Coloring Tool“. It was made to assist a streamer that I watch. He uses MagicaVoxel to create the static meshes in his game. However, the UVs that are produces align all the colors for the texture in a single line one pixel high blocks. So instead of making new palette textures manually each time he wanted an instance of a different color (or in his case a new static mesh exported from MagicaVoxel OOF), I was able to make a tool that allows the streamer to quickly swap out the colors on the palette, generate and instance material, create a new texture, and assign everything as it should be instantly. The new workflow is: Open the Utility Widget, Assign the parent Instance material (this is later replaced automatically) Select the a color from the color wheel Click anywhere on the mesh that has the color he wants swapped Name the new texture Save</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.rudytriplett.com/snap-to-surface-tool</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2020-08-26</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/1598459629521-Z65C8GKVSJ9XQN61AR7G/SnapTo2.gif</image:loc>
      <image:title>Snap to Surface Tool</image:title>
      <image:caption>This is my “Snap To Surface Tool“. I had a request from an artist who was using a lot of decals, paintings, posters ect. in their project. They wanted a way to quickly place objects in the scene without having to worry about them being flush with a surface and then to just have his objects snap in place when they were done. This tool allows the user to tag any object that needs to be snapped and then click a button. The tool handles the rest. It will maintain any previous rotation that does not need to be modified in order to get the object to become flush with the closest surface.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.rudytriplett.com/texture-pixel-reader</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2022-04-14</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/1598455061988-3IC5WXC9I3P1IFX4FNTD/CPPPixelReader.gif</image:loc>
      <image:title>C++ Texture Pixel Reader</image:title>
      <image:caption>Older C++ Version: This is my “Pixel Reader“. It takes in a texture variable and reads the individual pixel data. From there that information can be used for multiple tasks. In this example, it was used as height data to generate the location of a grid of blocks.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/1649948789652-JGTH35GF0S28WEM28NYU/PerfectSightTest.gif</image:loc>
      <image:title>C++ Texture Pixel Reader - Make it stand out</image:title>
      <image:caption>Update (Blueprint only): I was able to create a Blueprint only version of the pixel reader. Along with this I was able to make large improvements to performance for the user of determining if an object can be seen. In this updated version you can see the mannequin is looking for the pink cube. Look closely and you will see that it in this example the “Can See“ result shows up only when the camera can see the object (this could be changed in needed/wanted). The result being that even the body of the player can obscure the object. This makes for a nearly perfect test on if the object can be seen. This would be great in something like a stealth game. This method does not use Line traces, collision testing, or the perception system. This is a wonderful solution to the “hole in the fence“ problem for detecting if something can be seen.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/1598455615708-KS5S12RH5PJEVCG1C5ZQ/CPPPixelReader2.gif</image:loc>
      <image:title>C++ Texture Pixel Reader</image:title>
      <image:caption>Older C++ Version: Another use case I created with this system was to check and see if any piece of an object can be seen by the player. This means the check could be done without using line traces and did not need special coding to handle things like a random hole in fence or incomplete coverage by bushes. In this example I have it run the check on the click of a button.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.rudytriplett.com/voxel-coloring-tool-1</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2020-08-26</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/1598461260948-YIQ347W6IARGH43EM5OL/RailGrind.gif</image:loc>
      <image:title>Dynamic Rail Grind</image:title>
      <image:caption>This is a “Dynamic Rail Grinding Asset”. A streamer working on their game ran into issues with physics in the engine tossing their character unpredictably when it came to multiple connected meshes. I created an asset that would allow them to fake the collision for any mesh regardless of shape. Now they can just assign a spline mesh and use it how they see fit. This opened up more possibilities than they previously had for level design.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.rudytriplett.com/3d-mesh-drawn-in-umg-1</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2020-08-26</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/1598458615645-SOXVC7LDT428USQW0OFM/DnDOWTool.gif</image:loc>
      <image:title>D&amp;D Overworld DM Tool</image:title>
      <image:caption>This tool is my DM Tool that I am working on as a shareable world creation tool for D&amp;D. It allows users to create towns, encounters and notes on a world map. All of this can be saved and then used by another DM. This application/tool allows multiple users to layer up a world from multiple campaign experiences and thus creating a richer world for their players each time someone runs a campaign.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/1598458913563-HH9449ZWNIU12KZI42CM/DnDOWTool2.gif</image:loc>
      <image:title>D&amp;D Overworld DM Tool</image:title>
      <image:caption>The tool allows for adding custom town maps and placement.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/1598459127760-IOL4GP6P9Y9PIDRDJ8XW/DnDOWTool3.gif</image:loc>
      <image:title>D&amp;D Overworld DM Tool</image:title>
      <image:caption>Future tools for the custom maps will include the ability to chroma key out certain colors to quickly modify an image to better fit the over world map</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.rudytriplett.com/contact</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2020-08-26</lastmod>
  </url>
  <url>
    <loc>https://www.rudytriplett.com/wall-spline-tool</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2022-04-14</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/1649947380268-K723FJYSF3JFPPNXSMJT/WallSplineTool.gif</image:loc>
      <image:title>Wall Spline Tool</image:title>
      <image:caption>This is a 2D “Wall Spline Tool“, it allows the user to quickly create walls by auto populating the space desired with a selection of meshes that the tool can be provided from an array. When using the tool the user can specify how they want each mesh to appear when added. These options include a range of scales and rotations on a per mesh bases. Once this information is input the tool handles the rest. Simply add the number of “handles you want“ to get the shapes you need and the tool will automatically fill in the gaps with random meshes while following the restrictions the user has placed. The tool will also automatically take into account the varying sizes of each mesh (with an option to manually add or subtract padding between each mesh)to places them as close together as possible without overlapping (unless adjusted to do so by the user). Finally, once the wall in looking the way the user would like. They can click a single button to have it convert the end result into a single mesh to save on performance.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.rudytriplett.com/tafl-ptk</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2024-09-20</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/d99a0462-c6cc-438d-92a3-2f634b851a54/WebsiteLogo2.png</image:loc>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/d1466d66-0973-4c60-9a87-649a990bc8de/SteamPageBGPlaceHolder.png</image:loc>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/72f34286-5d20-4cc7-bafc-954713ccc548/UnlockSystemExample.png</image:loc>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/a1a8d7f2-bffd-4ea4-b860-1df19d6c2c13/CharacterSelect.png</image:loc>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/46c97dc0-d7e1-434a-87d7-2ec5ae7d1145/DepartingShipExample.jpg</image:loc>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/5868a1a6-e280-4fc2-83e2-2051401ef830/EliteFightExample.png</image:loc>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/78278d52-13ca-4334-be26-75bc76b02ca2/TroopAsign.png</image:loc>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/8bf7257f-794c-4ce4-a9d9-a3af8ed2cb77/SteamMainCapPlaceHolder.png</image:loc>
    </image:image>
  </url>
  <url>
    <loc>https://www.rudytriplett.com/tafl-ptk-1</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2024-09-20</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/506de1db-ec7d-4dc4-b7fe-1dcd8dad879d/PEMtitle2.png</image:loc>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/a01c29f2-59a3-4424-85c7-0a24ca556f55/SS_gameplayB.png</image:loc>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/4419b2bd-3b21-4d9f-b131-b6b17812c462/SS_recordB.png</image:loc>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/236161f3-a4ac-4053-96a0-8573fab5961f/SS_dailyB.png</image:loc>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/b4fc724d-2f4c-471a-83fd-ba2b443b4700/PEMlogo.png</image:loc>
    </image:image>
  </url>
  <url>
    <loc>https://www.rudytriplett.com/yaku-slap</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2025-01-18</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/9da18cd6-e945-47f3-a05e-9e4e22d214e7/YakuSlapLogo.png</image:loc>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/c866a897-ea55-49ae-95f0-a68d5ad25284/SiteBGYakuImg.png</image:loc>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/e6fee9d2-d543-479b-9628-ce656f1c5e6b/ProgressionMapScSh.png</image:loc>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/b18042bf-ac66-48f7-b994-337b2582ab38/DrawCardSpellYakuSlap.gif</image:loc>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/807f2ae5-cfd5-4521-836b-e94c4c4092a2/PerkScSh.png</image:loc>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/a2d1f828-a3d4-4b16-8bd4-0591faf6e173/SteamLogo.png</image:loc>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/c4363f3e-d812-4e54-8cb5-0e3bee8d83cb/EGSLogo.png</image:loc>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/2c819ba1-e609-4792-96fd-6b2b303be731/GPLogo.png</image:loc>
    </image:image>
  </url>
  <url>
    <loc>https://www.rudytriplett.com/gamesmain</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2024-09-20</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/412e3c42-d272-4872-b528-eb95c1e53aba/TaflThumbnail.png</image:loc>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/3416c44e-0063-48e6-bc14-539b840f1281/YakuSlapLogo.png</image:loc>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5f45096daa22771fceaecbbe/9a23df56-5084-452f-a6bd-3bd677c87227/PEMtitle.png</image:loc>
    </image:image>
  </url>
</urlset>

