Initial Upload

This commit is contained in:
Tory 2022-01-15 00:30:40 -08:00
parent 324fae13e8
commit e7a64b6d02
823 changed files with 20604 additions and 2 deletions

View file

@ -0,0 +1,103 @@
using System;
using System.Linq;
using HarmonyLib;
using Verse;
using rjw;
namespace RimNudeWorldHARAddon
{
public class BellyBulge : HediffWithComps
{
Hediff cumflation = null;
Hediff pregnancy = null;
public override bool Visible => false;
public override void PostMake()
{
base.PostMake();
}
public override void ExposeData()
{
base.ExposeData();
}
public override void Tick()
{
base.Tick();
if (!pawn.IsHashIntervalTick(60))
return;
if(RimNudeWorldHARAddonMain.useCumflation)
cumflation = pawn.health.hediffSet.GetFirstHediffOfDef(HediffDef.Named("Cumflation"));
pregnancy = pawn.health.hediffSet.hediffs.FirstOrDefault(x => x is Hediff_BasePregnancy);
this.Severity = (cumflation != null ? cumflation.Severity : 0) + (pregnancy != null ? pregnancy.Severity : 0);
if (this.Severity == 0)
{
if(pregnancy == null)
pawn.health?.RemoveHediff(this);
}
}
}
[HarmonyPatch(typeof(SexUtility), "Aftersex")]
//[HarmonyPatch(new Type[] { typeof(Pawn), typeof(Pawn), typeof(bool), typeof(bool), typeof(bool), typeof(xxx.rjwSextype) })]
public class BellyHeddiffAddPatch
{
public static void Postfix(SexProps props)
{
if (props.pawn.health.hediffSet.HasHediff(HediffDef.Named("RNW_BellyBulge")))
{
props.pawn.Drawer.renderer.graphics.ResolveAllGraphics();
//pawn.Drawer.renderer.graphics.ClearCache();
}
else
{
if (props.pawn.IsVisiblyPregnant() || RimNudeWorldHARAddonMain.useCumflation? props.pawn.health.hediffSet.HasHediff(HediffDef.Named("Cumflation")):false)
{
props.pawn.health.AddHediff(HediffDef.Named("RNW_BellyBulge"));
props.pawn.Drawer.renderer.graphics.ClearCache();
props.pawn.Drawer.renderer.graphics.ResolveAllGraphics();
}
}
if (props.partner?.health?.hediffSet?.HasHediff(HediffDef.Named("RNW_BellyBulge"))==true)
{
props.partner.Drawer.renderer.graphics.ResolveAllGraphics();
//partner.Drawer.renderer.graphics.ClearCache();
}
else
{
if ((props.partner?.IsVisiblyPregnant()==true) || RimNudeWorldHARAddonMain.useCumflation ? (props.partner?.health?.hediffSet?.HasHediff(HediffDef.Named("Cumflation"))==true) : false)
{
props.partner.health.AddHediff(HediffDef.Named("RNW_BellyBulge"));
props.partner.Drawer.renderer.graphics.ClearCache();
props.partner.Drawer.renderer.graphics.ResolveAllGraphics();
}
}
}
}
[HarmonyBefore(new string[] { "rimworldanim" })]
[HarmonyPatch(typeof(JobDriver_SexBaseInitiator), "End")]
static class JobDriverEndPatch
{
public static void Postfix(JobDriver_SexBaseInitiator __instance)
{
__instance.pawn.Drawer.renderer.graphics.ClearCache();
__instance.pawn.Drawer.renderer.graphics.ResolveAllGraphics();
//PortraitsCache.SetDirty(__instance.pawn);
(__instance.Target as Pawn)?.Drawer.renderer.graphics.ClearCache();
(__instance.Target as Pawn)?.Drawer.renderer.graphics.ResolveAllGraphics();
//PortraitsCache.SetDirty((__instance.Target as Pawn));
}
}
}

View file

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
// 이러한 특성 값을 변경하세요.
[assembly: AssemblyTitle("RimNudeWorldHARAddon")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("RimNudeWorldHARAddon")]
[assembly: AssemblyCopyright("Copyright © 2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면
// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요.
[assembly: ComVisible(false)]
// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
[assembly: Guid("480a6e77-acd9-4e61-aaf7-c7e40a343a79")]
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
//
// 주 버전
// 부 버전
// 빌드 번호
// 수정 버전
//
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를
// 기본값으로 할 수 있습니다.
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View file

@ -0,0 +1,81 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{480A6E77-ACD9-4E61-AAF7-C7E40A343A79}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>RimNudeWorldHARAddon</RootNamespace>
<AssemblyName>RimNudeWorldHARAddon</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\1.3\Assemblies\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\..\1.1\Assemblies\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="0Harmony">
<HintPath>..\..\..\..\..\..\workshop\content\294100\2009463077\Current\Assemblies\0Harmony.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="AlienRace">
<HintPath>..\..\..\..\..\..\workshop\content\294100\839005762\1.1\Assemblies\AlienRace.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Assembly-CSharp">
<HintPath>..\..\..\..\RimWorldWin64_Data\Managed\Assembly-CSharp.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="HugsLib">
<HintPath>..\..\..\..\..\..\workshop\content\294100\818773962\v1.1\Assemblies\HugsLib.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="RJW">
<HintPath>..\..\..\RJW\1.1\Assemblies\RJW.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Runtime.InteropServices.RuntimeInformation" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
<Reference Include="UnityEngine">
<HintPath>..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnityEngine.CoreModule">
<HintPath>..\..\..\..\RimWorldWin64_Data\Managed\UnityEngine.CoreModule.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="BellyBulge.cs" />
<Compile Include="RimNudeWorldHARAddonMain.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View file

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28307.1000
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RimNudeWorldHARAddon", "RimNudeWorldHARAddon.csproj", "{480A6E77-ACD9-4E61-AAF7-C7E40A343A79}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{480A6E77-ACD9-4E61-AAF7-C7E40A343A79}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{480A6E77-ACD9-4E61-AAF7-C7E40A343A79}.Debug|Any CPU.Build.0 = Debug|Any CPU
{480A6E77-ACD9-4E61-AAF7-C7E40A343A79}.Release|Any CPU.ActiveCfg = Release|Any CPU
{480A6E77-ACD9-4E61-AAF7-C7E40A343A79}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {3AB295E7-B318-44C5-80B6-D6758B2B50A4}
EndGlobalSection
EndGlobal

View file

@ -0,0 +1,373 @@
using System.Linq;
using RimWorld;
using HarmonyLib;
using Verse;
using UnityEngine;
using AlienRace;
using rjw;
namespace RimNudeWorldHARAddon
{
[StaticConstructorOnStartup]
public class RimNudeWorldHARAddonMain
{
public static bool useCumflation;
static RimNudeWorldHARAddonMain()
{
Harmony val = new Harmony("RimNudeWorld_HAR_Addon");
Log.Message("RimNudeWorldHARAddon Patch");
useCumflation = (LoadedModManager.RunningModsListForReading.Any(x => x.PackageId == "LustLicentia.RJWLabs"));
if (!useCumflation)
{
if (HediffDef.Named("Cumflation") != null)
useCumflation = true;
}
if (useCumflation) Log.Message("RimNudeWorldHARAddon: UseCumflation");
val.PatchAll();
}
//[HarmonyPatch(typeof(SexUtility), "DrawNude")]
class DrawNudePatch
{
static bool Prefix(Pawn pawn)
{
Log.Warning("DrawNudePrefix");
if (!xxx.is_human(pawn))
return false;
AlienPartGenerator.AlienComp alienComp = pawn.GetComp<AlienPartGenerator.AlienComp>();
if (alienComp != null)
{
for (int i = 0; i < alienComp.addonGraphics.Count; i++)
{
Graphic agr = alienComp.addonGraphics[i];
//Log.Message(agr.path);
HARPatch.Postfix(pawn, ref agr);
//Log.Message(agr.path);
}
}
return true;
//pawn.Drawer.renderer.graphics.SetAllGraphicsDirty();
//partner.Drawer.renderer.graphics.SetAllGraphicsDirty();
}
}
[HarmonyPatch(typeof(JobDriver_SexBaseInitiator), "Start")]
class SetTextureDuringSet
{
static void Prefix(JobDriver_SexBaseInitiator __instance)
{
//Log.Warning("SexStart");
var partner = __instance.Partner as Pawn;
/*
for(int i = 0; i< pawn.Drawer.renderer.graphics.apparelGraphics.Count; i++)
{
ApparelGraphicRecord agr = pawn.Drawer.renderer.graphics.apparelGraphics[i];
Log.Message(agr.graphic.path);
HARPatch.Postfix(pawn, ref agr.graphic);
}
*/
//pawn.Drawer.renderer.graphics.ClearCache();
//partner.Drawer.renderer.graphics.ClearCache();
//__instance.pawn.Drawer.renderer.graphics.SetAllGraphicsDirty();
__instance.pawn.Drawer.renderer.graphics.ResolveAllGraphics();
AlienPartGenerator.AlienComp alienComp = __instance.pawn.GetComp<AlienPartGenerator.AlienComp>();
if(alienComp != null)
{
for (int i = 0; i < alienComp.addonGraphics.Count; i++)
{
Graphic agr = alienComp.addonGraphics[i];
//Log.Message(agr.path);
HARPatch.Postfix(__instance.pawn, ref agr);
//Log.Message(agr.path);
}
}
if (partner != null)
{
//partner.Drawer.renderer.graphics.SetAllGraphicsDirty();
//partner.Drawer.renderer.graphics.ResolveApparelGraphics();
partner.Drawer.renderer.graphics.ResolveAllGraphics();
alienComp = partner.GetComp<AlienPartGenerator.AlienComp>();
if (alienComp != null)
{
for (int i = 0; i < alienComp.addonGraphics.Count; i++)
{
Graphic agr = alienComp.addonGraphics[i];
//Log.Message(agr.path);
HARPatch.Postfix(partner, ref agr);
//Log.Message(agr.path);
}
}
}
//pawn.Drawer.renderer.graphics.SetAllGraphicsDirty();
//partner.Drawer.renderer.graphics.SetAllGraphicsDirty();
}
}
public static bool IsLactating(Pawn pawn)
{
if(pawn != null)
{
if (pawn.RaceProps.Humanlike)
{
foreach (Hediff hediff in pawn.health.hediffSet.hediffs)
{
if (hediff != null)
{
if (hediff.def.defName.Contains("Lactating") || hediff.def.defName.Contains("lactating"))
{
return true;
}
}
}
}
}
return false;
}
/*
[HarmonyPatch(typeof(PawnGraphicSet), "ResolveAllGraphics")]
class Test
{
static void Postfix(ref PawnGraphicSet __instance)
{
if (__instance.pawn.RaceProps.Humanlike)
{
var dri = __instance.pawn.jobs.curDriver as rjw.JobDriver_Sex;
if (dri != null)
{
Log.Warning("ResolveGraphicDuringSex");
}
}
}
}*/
public class TestClass
{
public void Testfunc1()
{
string text = "Hello";
text.Contains("lo");
}
public void Testfunc2()
{
float a = 1;
float b = 2;
float c = 3;
if ((a > c ? a : c) > b)
{
}
}
}
[HarmonyPatch(typeof(AlienPartGenerator.BodyAddon), "GetPath")]
class HARPatch
{
/*
public static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
{
FieldInfo pathInfo = AccessTools.Field(typeof(AlienPartGenerator.BodyAddon), "path");
int num;
CodeInstruction targetPawnInstruction;
List<CodeInstruction> instructionList = instructions.ToList<CodeInstruction>();
//Hediff cumflation = pawn.health.hediffSet.GetFirstHediffOfDef(HediffDef.Named("Cumflation"));
for (int i = 0; i < instructionList.Count; i = num + 1)
{
CodeInstruction codeInstruction = instructionList[i];
num = i;
if (codeInstruction.opcode == OpCodes.Ldfld)
{
if (codeInstruction.OperandIs(pathInfo))
{
if(instructionList[i-2].opcode == OpCodes.Ldloc_S)
{
//targetPawn;
targetPawnInstruction = instructionList[i - 2];
}
}
}
if (codeInstruction.opcode == OpCodes.Ldloc_S)
{
}
if (codeInstruction.opcode == OpCodes.Callvirt)
{
//Target Hediff
instructionList[i - 1];
}
if (codeInstruction.opcode == OpCodes.Blt_Un_S)
{
//yield return new CodeInstruction(OpCodes.)
yield return codeInstruction;
}
else
yield return codeInstruction;
}
instructionList = null;
yield break;
}*/
public static void Postfix(Pawn pawn, ref Graphic __result)
{
if(__result != null)
{
if (pawn == null)
return;
string originalPath = __result.path;
bool validTexture = false;
//Body typed texture
if (pawn.story.bodyType == BodyTypeDefOf.Hulk || pawn.story.bodyType == BodyTypeDefOf.Fat)
{
if (pawn.story.bodyType == BodyTypeDefOf.Hulk)
{
if ((ContentFinder<Texture2D>.Get(originalPath + "_Hulk" + "_south", false) != null))
{
Graphic newGraphic = GraphicDatabase.Get<Graphic_Multi>(originalPath + "_Hulk", __result.Shader, __result.drawSize, __result.color, __result.colorTwo);
__result = newGraphic;
validTexture = true;
}
}
else if (pawn.story.bodyType == BodyTypeDefOf.Fat)
{
if ((ContentFinder<Texture2D>.Get(originalPath + "_Fat" + "_south", false) != null))
{
Graphic newGraphic = GraphicDatabase.Get<Graphic_Multi>(originalPath + "_Fat", __result.Shader, __result.drawSize, __result.color, __result.colorTwo);
__result = newGraphic;
validTexture = true;
}
}
if (validTexture == false)
{
if ((ContentFinder<Texture2D>.Get(originalPath + "_Wide" + "_south", false) != null))
{
Graphic newGraphic = GraphicDatabase.Get<Graphic_Multi>(originalPath + "_Wide", __result.Shader, __result.drawSize, __result.color, __result.colorTwo);
__result = newGraphic;
validTexture = true;
}
}
}
else if (pawn.story.bodyType == BodyTypeDefOf.Thin)
{
if ((ContentFinder<Texture2D>.Get(originalPath + "_Thin" + "_south", false) != null))
{
Graphic newGraphic = GraphicDatabase.Get<Graphic_Multi>(originalPath + "_Thin", __result.Shader, __result.drawSize, __result.color, __result.colorTwo);
__result = newGraphic;
validTexture = true;
}
}
else if (pawn.story.bodyType == BodyTypeDefOf.Male)
{
if ((ContentFinder<Texture2D>.Get(originalPath + "_Male" + "_south", false) != null))
{
Graphic newGraphic = GraphicDatabase.Get<Graphic_Multi>(originalPath + "_Male", __result.Shader, __result.drawSize, __result.color, __result.colorTwo);
__result = newGraphic;
validTexture = true;
}
}
else if (pawn.story.bodyType == BodyTypeDefOf.Female)
{
if ((ContentFinder<Texture2D>.Get(originalPath + "_Female" + "_south", false) != null))
{
Graphic newGraphic = GraphicDatabase.Get<Graphic_Multi>(originalPath + "_Female", __result.Shader, __result.drawSize, __result.color, __result.colorTwo);
__result = newGraphic;
validTexture = true;
}
}
else
{
string bodyname = pawn.story.bodyType.defName;
if ((ContentFinder<Texture2D>.Get(originalPath + "_" + bodyname + "_south", false) != null))
{
Graphic newGraphic = GraphicDatabase.Get<Graphic_Multi>(originalPath + "_" + bodyname, __result.Shader, __result.drawSize, __result.color, __result.colorTwo);
__result = newGraphic;
validTexture = true;
}
}
bool erect = false;
Need_Sex needSex = null;
if (pawn.needs != null)
needSex = pawn.needs.TryGetNeed<Need_Sex>();
JobDriver_SexBaseInitiator dri = null;
if(pawn.jobs != null)
dri = pawn.jobs.curDriver as rjw.JobDriver_SexBaseInitiator;
//Log.Message("find needSex");
if (needSex != null)
{
//Log.Warning(needSex.CurLevel.ToString());
if (needSex.CurLevel >= needSex.thresh_ahegao() || needSex.CurLevel < needSex.thresh_neutral())
{
erect = true;
}
}
else
{
//Log.Warning("SexNeeds Not Found");
}
//Log.Message("find jobdriver_sex");
if (dri != null)
{
erect = true;
}
else
{
//Log.Warning("JobDriver_Sex not found");
}
if (erect)
{
//Log.Warning("finding Erect Texture");
if ((ContentFinder<Texture2D>.Get(__result.path + "_Erect" + "_south", false) != null))
{
Graphic newGraphic = GraphicDatabase.Get<Graphic_Multi>(__result.path + "_Erect", __result.Shader, __result.drawSize, __result.color, __result.colorTwo);
__result = newGraphic;
}
}
//lactation
if (IsLactating(pawn))
{
//Log.Message("finding Lactation Texture");
if ((ContentFinder<Texture2D>.Get(__result.path + "_Lactating" + "_south", false) != null))
{
Graphic newGraphic = GraphicDatabase.Get<Graphic_Multi>(__result.path + "_Lactating", __result.Shader, __result.drawSize, __result.color, __result.colorTwo);
__result = newGraphic;
}
}
}
}
}
}
}

View file

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]

View file

@ -0,0 +1 @@
5b00994644d9de808a481de15dfd909612328dea

View file

@ -0,0 +1,6 @@
J:\SteamLibrary\steamapps\common\RimWorld\Mods\OTY-Nude Unofficial Update\1.3\Assemblies\RimNudeWorldHARAddon.dll
J:\SteamLibrary\steamapps\common\RimWorld\Mods\OTY-Nude Unofficial Update\1.3\Assemblies\RimNudeWorldHARAddon.pdb
J:\SteamLibrary\steamapps\common\RimWorld\Mods\OTY-Nude Unofficial Update\source\RimNudeWorldHARAddon\obj\Debug\RimNudeWorldHARAddon.csprojAssemblyReference.cache
J:\SteamLibrary\steamapps\common\RimWorld\Mods\OTY-Nude Unofficial Update\source\RimNudeWorldHARAddon\obj\Debug\RimNudeWorldHARAddon.csproj.CoreCompileInputs.cache
J:\SteamLibrary\steamapps\common\RimWorld\Mods\OTY-Nude Unofficial Update\source\RimNudeWorldHARAddon\obj\Debug\RimNudeWorldHARAddon.dll
J:\SteamLibrary\steamapps\common\RimWorld\Mods\OTY-Nude Unofficial Update\source\RimNudeWorldHARAddon\obj\Debug\RimNudeWorldHARAddon.pdb

View file

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Lib.Harmony" version="2.0.2" targetFramework="net472" />
</packages>

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View file

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2017 Andreas Pardeike
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff