diff --git a/IPA.Loader/IPA.Loader.csproj b/IPA.Loader/IPA.Loader.csproj
index b8803f76..d64f8285 100644
--- a/IPA.Loader/IPA.Loader.csproj
+++ b/IPA.Loader/IPA.Loader.csproj
@@ -59,11 +59,9 @@
+
-
- $(MSBuildThisFileDirectory)..\Libs\thirdparty\Hive.Versioning.dll
-
diff --git a/Libs/thirdparty/Hive.Versioning.dll b/Libs/thirdparty/Hive.Versioning.dll
deleted file mode 100644
index a5a1e8fc..00000000
Binary files a/Libs/thirdparty/Hive.Versioning.dll and /dev/null differ
diff --git a/Libs/thirdparty/Hive.Versioning.pdb b/Libs/thirdparty/Hive.Versioning.pdb
deleted file mode 100644
index 15bd577b..00000000
Binary files a/Libs/thirdparty/Hive.Versioning.pdb and /dev/null differ
diff --git a/Libs/thirdparty/Hive.Versioning.xml b/Libs/thirdparty/Hive.Versioning.xml
deleted file mode 100644
index 7e42b5c5..00000000
--- a/Libs/thirdparty/Hive.Versioning.xml
+++ /dev/null
@@ -1,897 +0,0 @@
-
-
-
- Hive.Versioning
-
-
-
-
- A version that meets the Semantic Versioning specification.
-
-
-
-
- Gets the zero version (0.0.0).
-
-
-
-
- Parses and creates a version object from a sequence of characters.
-
-
- This is roughly equivalent to .
-
- The sequence of characters to parse as a version.
- Thrown when the input is not a valid SemVer version.
-
-
-
- Creates a version object from the component parts of the version.
-
- The major version number.
- The minor version number.
- The patch number.
- A sequence of IDs specifying the prerelease.
- A sequence of IDs representing the build.
-
-
-
- Creates a version object from the component parts of the version.
-
-
- This interface is provided only for CLS compliance. The actual version number is unsigned.
- Because of this, very large version numbers may cause issues with this interface.
-
- The major version number.
- The minor version number.
- The patch number.
- A sequence of IDs specifying the prerelease.
- A sequence of IDs representing the build.
-
-
-
- Creates a version object from the component parts of the version.
-
- The major version number.
- The minor version number.
- The patch number.
-
-
-
- Creates a version object from the component parts of the version.
-
-
- This interface is provided only for CLS compliance. The actual version number is unsigned.
- Because of this, very large version numbers may cause issues with this interface.
-
- The major version number.
- The minor version number.
- The patch number.
-
-
-
- Gets the major version number.
-
-
-
-
- Gets the minor version number.
-
-
-
-
- Gets the patch number.
-
-
-
-
- Gets the sequence of prerelease IDs.
-
-
-
-
- Gets the sequence of build IDs.
-
-
-
-
- Vers the version number, as signed integers.
-
-
- This interface is provided only for CLS compliance. The actual version number is unsigned.
- Because of this, very large version numbers may cause issues with this interface.
-
- The major version number.
- The minor version number.
- The patch number.
-
-
-
- Appends this to the provided .
-
- The to append to.
- The provided
-
-
-
-
-
-
- Compares two versions for equality.
-
- The first version to compare.
- The second version to compare.
- if they are equal, otherwise.
-
-
-
- Compares two versions for inequality.
-
- The first version to compare.
- The second version to compare.
- if they are not equal, otherwise.
-
-
-
- Checks if is greater than .
-
- The first version to compare.
- The second version to compare.
- if is greater than ,
-
-
-
- Checks if is less than .
-
- The first version to compare.
- The second version to compare.
- if is less than ,
-
-
-
- Checks if is greater than or equal to .
-
- The first version to compare.
- The second version to compare.
- if is greater than or equal to ,
-
-
-
- Checks if is less than or equal to .
-
- The first version to compare.
- The second version to compare.
- if is less than or equal to ,
-
-
-
- Determines the maximum of two versions.
-
- The first version.
- The second version.
- The maximum of and
-
-
-
- Determines the minimum of two versions.
-
- The first version.
- The second version.
- The minimum of and
-
-
-
- Compares version to for equality.
-
- The object to compare to.
- if they are equal, otherwise.
-
-
-
- Gets the hash code of this .
-
- The hash code for this .
-
-
-
- Compares this version to another version according to the SemVer specification.
-
- The version to compare to.
- if the versions are equal, otherwise.
-
-
-
- Compares this version to another version according to the SemVer specification.
-
- The version to compare to.
- Less than zero if is less than , zero if they are equal, and
- more than zero if is greater than
-
-
-
- Parses a sequence of characters into a object.
-
- The sequence of characters to parse.
- The parsed version object.
- Thrown when is not a valid SemVer version.
-
-
-
- Attempts to parse a sequence of characters into a version object.
-
- The sequence of characters to parse.
- The parsed version, if the input is valid.
- if the text is valid and could be parsed, otherwise.
-
-
-
- Attempts to parse a sequence of characters into a version object, as part of a larger parse.
-
-
- When this method returns, will begin after the end of the parsed version, if it is present, or
- what it initially contained if no version is present and this returns
-
- The sequence of characters to parse.
- The parsed version, if the input is valid.
- if the text is valid and could be parsed, otherwise.
-
-
-
- An arbitrary range of s, capable of matching any possible set of s.
-
-
-
-
- A is considered matching if it is exactly equivalent to this one, in addition to if its comparison
- value matches.
-
-
-
-
- Converts this to an equivalent .
-
-
- The returned always takes the form >=Version <=Version.
-
- The that is equivalent to this
-
-
-
- Inverts this into either another or a .
-
-
- The only time this produces a is when is .
-
- The inverted , if any.
- The representing this inverted, if any.
- if this produces a , or
- if it produces a .
-
-
-
- Tries to perform a logical conjunction (and) with .
-
-
- This method will only return one of the following values:
-
- -
-
- A single was produced, and was set.
-
- -
-
- A single was produced, and was set.
-
- -
-
- The conjunction result matches no possible values.
-
-
-
- The other to try to perform conjunction with.
- The single the operation produced, if any.
- The single the operation produced, if any.
- A indicating which of the outputs were set, if any.
-
-
-
- A part of the implementation of that handles
- the cases where exactly one of the inputs are an comparer.
-
-
-
-
- Tries to perform a logical disjunction (or) with .
-
-
- This method will only return one of the following values:
-
- -
-
- A single was produced, and was set.
-
- -
-
- A single was produced, and was set.
-
- -
-
- The disjunction result matches every valid value. For convenience,
- is set to .
-
- -
-
- The disjunction result is not representable with only a and a .
- For example, if the inputs are non-equal comparers, this will be returned.
-
-
-
- The other to try to perform disjunction with.
- The single the operation produced, if any.
- The single the operation produced, if any.
- A indicating which of the outputs were set, if any.
-
-
-
- A part of the implementation of that handles
- the cases where exactly one of the inputs are an comparer.
-
-
-
-
- This is identical to except that it uses
- instead of .
-
-
-
-
- Tries to perform a logical conjunction (and) with .
-
-
- This method will only return one of the following values:
-
- -
-
- A single was produced, and was set.
-
- -
-
- Two s were produced, and both and were set.
-
- -
-
- The conjunction result matches no valid values.
-
-
-
- The other to try to perform conjunction with.
- The single (or first) the operation produced, if any.
- The second the operation produced, if any.
- A indicating which of the outputs were set, if any.
-
-
-
- A part of the implementation of , handling the cases where exactly one
- input is an inward-facing .
-
-
-
-
- Tries to perform a logical disjunction (or) with .
-
-
- This method will only return one of the following values:
-
- -
-
- A single was produced, and was set.
-
- -
-
- Two s were produced, and both and were set.
-
- -
-
- The disjunction result matches every valid value. For convenience,
- is set to .
-
-
-
- The other to try to perform disjunction with.
- The single (or first) the operation produced, if any.
- The second the operation produced, if any.
- A indicating which of the outputs were set, if any.
-
-
-
- A part of the implementation of , handling the cases where exactly one
- input is an inward-facing .
-
-
-
-
- Checks if two s are mutually exclusive, but meet exactly leaving no versions that neither matches.
-
-
-
-
- Constructs a new that corresponds to the text provided in .
-
- The textual represenation of the to create.
-
- Thrown when is not a valid .
-
-
-
- Creates a which matches only the provided .
-
- The to match.
- A matching only the provided .
-
-
-
- Computes the logical disjunction (or) of this and .
-
- The other to compute the disjunction of.
- The logical disjunction of and .
-
-
-
-
- Computes the logical disjunction (or) of the two arguments.
-
- The first argument.
- The second argument.
- The logical disjunction of and .
-
-
-
-
- Computes the logical conjunction (and) of this and .
-
- The other to compute the conjunction of.
- The logical conjunction of and .
-
-
-
-
- Computes the logical conjunction (and) of the two arguments.
-
- The first argument.
- The second argument.
- The logical conjunction of and .
-
-
-
-
- Gets the compliement of this .
-
- The compliement of this .
-
-
-
-
- Computes the compliment of the argument.
-
- The to compute the compliment of.
- The compliment of .
-
-
-
-
- Determines whether or not a given matches this .
-
- The to check.
- if matches, otherwise.
-
-
-
- The that matches all s.
-
-
-
-
- The that matches no s.
-
-
-
-
- Appends the string representation of this to the provided .
-
- The to append to.
- The that was appended to.
-
-
-
- Gets the string representation of this .
-
- The string representation of this .
-
-
-
-
-
-
- Determines whether this is equivalent to another range.
-
- The to compare to.
- if they are equivalent, otherwise.
-
-
-
-
-
-
- Compares two s for equality.
-
- The first argument.
- The second argument.
- if and are equivalent, otherwise.
-
-
-
- Determines if two s are not equivalent.
-
- The first argument.
- The second argument.
- if and are not equivalent, otherwise.
-
-
-
- Parses a string as a .
-
-
-
- A valid string is made up of a set of disjoint regions joined by ||.
- These regions can be either bounded or unbounded.
-
A bounded region is a pair of unbounded regions separated by whitespace, such that both unbounded regions overlap,
- and the unbounded region whose written value is lower comes first.
-
An unbounded region is any valid prefixed with one of the following comparison operators:
-
- -
- >=
-
- The unbounded range matches any greater than or equal to its specified.
-
-
- -
- <=
-
- The unbounded range matches any less than or equal to its specified .
-
-
- -
- >
-
- The unbounded range matches any greater than its specified .
-
-
- -
- <
-
- The unbounded range matches any less than its specified .
-
-
- -
- =
-
- The range matches only the that it is specified with.
-
-
-
Note that unbounded ranges using the = comparison operator cannot be part of a bounded region.Additionally, there are the following shorthand comparison operators that expand to bounded regions:
- -
- ^
-
- The bounded range matches all versions greater than or equal to its specified and less than the next major incremented
- version. For example, ^1.5.4 would be equivalent to the bounded range >=1.5.4 <2.0.0, while ^0.4.2 would be equivalent
- to >=0.4.2 <0.5.0.
-
-
-
There are also a few special ranges:
- -
- *
-
- The range. This range matches every possible version.
-
-
- -
- z or Z
-
- The range. This range matches nothing.
-
-
-
- A bounded region may also be specified using star syntax. This takes the form of either a single * alone, matching any version,
- or a version with some numbers substituted with an asterisk. Once an element has been substituted, however, any following elements must
- either not be present or be a star themselves. Prereleases and build ids cannot be specified when using star syntax. For example,
- * is valid, *.3 is not. 1.* and 1.*.* are valid (and equivalent), but 1.*.2 is not. 1.2.* is
- valid, but 1.2.*-pre.1 is not. Importantly, *.*.* or anything similar is also not valid. Just use *. In all cases
- except the singular *, any * may also be an x or X.
-
- A bounded regioon may also be specified using hyphen syntax, though it is generally not recommended, as it is not always clear to a reader
- what exactly is meant, and is remarkably easy to mess up. The syntax for this is 1.2.3 - 4.5.6, of course substituting 1.2.3
- and 4.5.6 with any valid version. The space before is required. This is important. the space after the first version,
- before the hyphen, is required. This is because 1.2.3-4.5.6 is a valid, and complete, version, causing the parser
- to try to read the first version in the hyphen range, then hit the end of input instead of a hyphen and back out, eventually rejecting the
- range altogether, because a version by itself is not a valid version range. 1.2.3- 4.5.6 is also not valid, because it
- is an incomplete version followed by a complete, simple version. Since incomplete versions are rejected, it means that this attempts
- to parse a first version, fails, and tries other forms a range can take before eventually failing out.
-
-
- The string to parse.
- The parsed .
-
- Thrown when is not a valid .
-
-
-
- Attempts to parse a whole string as a .
-
-
-
- A valid string is made up of a set of disjoint regions joined by ||.
- These regions can be either bounded or unbounded.
-
A bounded region is a pair of unbounded regions separated by whitespace, such that both unbounded regions overlap,
- and the unbounded region whose written value is lower comes first.
-
An unbounded region is any valid prefixed with one of the following comparison operators:
-
- -
- >=
-
- The unbounded range matches any greater than or equal to its specified.
-
-
- -
- <=
-
- The unbounded range matches any less than or equal to its specified .
-
-
- -
- >
-
- The unbounded range matches any greater than its specified .
-
-
- -
- <
-
- The unbounded range matches any less than its specified .
-
-
- -
- =
-
- The range matches only the that it is specified with.
-
-
-
Note that unbounded ranges using the = comparison operator cannot be part of a bounded region.Additionally, there are the following shorthand comparison operators that expand to bounded regions:
- -
- ^
-
- The bounded range matches all versions greater than or equal to its specified and less than the next major incremented
- version. For example, ^1.5.4 would be equivalent to the bounded range >=1.5.4 <2.0.0, while ^0.4.2 would be equivalent
- to >=0.4.2 <0.5.0.
-
-
-
There are also a few special ranges:
- -
- *
-
- The range. This range matches every possible version.
-
-
- -
- z or Z
-
- The range. This range matches nothing.
-
-
-
- A bounded region may also be specified using star syntax. This takes the form of either a single * alone, matching any version,
- or a version with some numbers substituted with an asterisk. Once an element has been substituted, however, any following elements must
- either not be present or be a star themselves. Prereleases and build ids cannot be specified when using star syntax. For example,
- * is valid, *.3 is not. 1.* and 1.*.* are valid (and equivalent), but 1.*.2 is not. 1.2.* is
- valid, but 1.2.*-pre.1 is not. Importantly, *.*.* or anything similar is also not valid. Just use *. In all cases
- except the singular *, any * may also be an x or X.
-
- A bounded regioon may also be specified using hyphen syntax, though it is generally not recommended, as it is not always clear to a reader
- what exactly is meant, and is remarkably easy to mess up. The syntax for this is 1.2.3 - 4.5.6, of course substituting 1.2.3
- and 4.5.6 with any valid version. The space before is required. This is important. the space after the first version,
- before the hyphen, is required. This is because 1.2.3-4.5.6 is a valid, and complete, version, causing the parser
- to try to read the first version in the hyphen range, then hit the end of input instead of a hyphen and back out, eventually rejecting the
- range altogether, because a version by itself is not a valid version range. 1.2.3- 4.5.6 is also not valid, because it
- is an incomplete version followed by a complete, simple version. Since incomplete versions are rejected, it means that this attempts
- to parse a first version, fails, and tries other forms a range can take before eventually failing out.
-
-
- The string to try to parse.
- The parsed , if any.
- if was successfully parsed, otherwise.
-
-
-
-
- Attempts to parse a from the start of the string.
-
-
- When this returns , will begin immediately after the parsed .
- When this returns , will remain unchanged.
-
- A valid string is made up of a set of disjoint regions joined by ||.
- These regions can be either bounded or unbounded.
-
A bounded region is a pair of unbounded regions separated by whitespace, such that both unbounded regions overlap,
- and the unbounded region whose written value is lower comes first.
-
An unbounded region is any valid prefixed with one of the following comparison operators:
-
- -
- >=
-
- The unbounded range matches any greater than or equal to its specified.
-
-
- -
- <=
-
- The unbounded range matches any less than or equal to its specified .
-
-
- -
- >
-
- The unbounded range matches any greater than its specified .
-
-
- -
- <
-
- The unbounded range matches any less than its specified .
-
-
- -
- =
-
- The range matches only the that it is specified with.
-
-
-
Note that unbounded ranges using the = comparison operator cannot be part of a bounded region.Additionally, there are the following shorthand comparison operators that expand to bounded regions:
- -
- ^
-
- The bounded range matches all versions greater than or equal to its specified and less than the next major incremented
- version. For example, ^1.5.4 would be equivalent to the bounded range >=1.5.4 <2.0.0, while ^0.4.2 would be equivalent
- to >=0.4.2 <0.5.0.
-
-
-
There are also a few special ranges:
- -
- *
-
- The range. This range matches every possible version.
-
-
- -
- z or Z
-
- The range. This range matches nothing.
-
-
-
- A bounded region may also be specified using star syntax. This takes the form of either a single * alone, matching any version,
- or a version with some numbers substituted with an asterisk. Once an element has been substituted, however, any following elements must
- either not be present or be a star themselves. Prereleases and build ids cannot be specified when using star syntax. For example,
- * is valid, *.3 is not. 1.* and 1.*.* are valid (and equivalent), but 1.*.2 is not. 1.2.* is
- valid, but 1.2.*-pre.1 is not. Importantly, *.*.* or anything similar is also not valid. Just use *. In all cases
- except the singular *, any * may also be an x or X.
-
- A bounded regioon may also be specified using hyphen syntax, though it is generally not recommended, as it is not always clear to a reader
- what exactly is meant, and is remarkably easy to mess up. The syntax for this is 1.2.3 - 4.5.6, of course substituting 1.2.3
- and 4.5.6 with any valid version. The space before is required. This is important. the space after the first version,
- before the hyphen, is required. This is because 1.2.3-4.5.6 is a valid, and complete, version, causing the parser
- to try to read the first version in the hyphen range, then hit the end of input instead of a hyphen and back out, eventually rejecting the
- range altogether, because a version by itself is not a valid version range. 1.2.3- 4.5.6 is also not valid, because it
- is an incomplete version followed by a complete, simple version. Since incomplete versions are rejected, it means that this attempts
- to parse a first version, fails, and tries other forms a range can take before eventually failing out.
-
-
- The string to try to parse.
- The parsed , if any.
- if was successfully parsed, otherwise.
-
-
-
- Returns the cached ResourceManager instance used by this class.
-
-
-
-
- Overrides the current thread's CurrentUICulture property for all
- resource lookups using this strongly typed resource class.
-
-
-
-
- Gets a resource string for AssertionFailed similar to ''.
-
-
-
-
- Gets a resource string for Range_InputInvalid similar to 'Input is not a valid VersionRange'.
-
-
-
-
- Gets a resource string for Version_InputInvalid similar to 'Input was not a valid SemVer version'.
-
-
-
-
- Gets a resource string for Version_InputTooShort similar to 'Input too short to be a SemVer version'.
-
-
-
-
- Specifies that when a method returns ,
- the parameter may be even if the corresponding type disallows it.
-
-
-
-
- Initializes the attribute with the specified return value condition.
-
- The return value condition. If the method returns this
- value, the associated parameter may be null.
-
-
-
- Gets the return value condition.
-
- The return value condition. If the method returns this value, the
- associated parameter may be null.
-
-
-
- Specifies that when a method returns ,
- the parameter is not even if the corresponding type allows it.
-
-
-
-
- Initializes the attribute with the specified return value condition.
-
- The return value condition. If the method returns this
- value, the associated parameter is not null.
-
-
-
- Gets the return value condition.
-
- The return value condition. If the method returns this value, the
- associated parameter is not null.
-
-
-
- Specifies that an output may be even if the corresponding type disallows it.
-
-
-
-
- Specifies that the method will not return if the associated Boolean parameter is passed the specified value.
-
-
-
-
- Initializes the attribute with the specified parameter value.
-
-
- The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
- the associated parameter matches this value.
-
-
-
-
- Gets the condition parameter value.
-
-
-
-
diff --git a/SemVer/SemVer.csproj b/SemVer/SemVer.csproj
index eb567912..b25f6244 100644
--- a/SemVer/SemVer.csproj
+++ b/SemVer/SemVer.csproj
@@ -1,4 +1,4 @@
-
+
@@ -8,9 +8,7 @@
-
- $(MSBuildThisFileDirectory)..\Libs\thirdparty\Hive.Versioning.dll
-
+