Corfu Declaration

The Corfu Declaration is the agreement that made the creation of the Kingdom of Yugoslavia possible.

Corfu Declaration
Serbian Historical Archives
Created20 July 1917
LocationCorfu, Greece
Author(s)Nikola Pašić and Ante Trumbić
SignatoriesNikola Pašić for Kingdom of Serbia and Ante Trumbić for Yugoslav Committee

History

In 1916, the Serbian Parliament in exile proposed the creation of the Kingdom of Yugoslavia at a meeting inside the Municipal Theatre of Corfu, Greece.[1] The declaration was signed during World War I on the island of Corfu on 20 July 1917, by the Yugoslav Committee of politicians in exile, that represented Slovenes, Croats and Serbs living in Austria-Hungary and the representatives of the Kingdom of Serbia, with political sponsorship of Great Britain and France, under their avowed principles of national self-determination.

The Declaration as the first step toward building the new State of Yugoslavia envisaged a parliamentary monarchy under the Karađorđević dynasty, with indivisible territory and unitary power, with the three national denominations and the Latin and Cyrillic alphabets equal before the law, religious freedom and universal suffrage. It provided for a Constituent Assembly to establish a Constitution that would be the origin of all powers.

"This State will be a guarantee of their national independence and of their general national progress and civilization, and a powerful rampart against the pressure of the Germans", the Declaration concluded.

The two chiefly responsible for devising the wording of the Corfu Declaration were the Serbian Prime Minister Nikola Pašić and the Croatian exile Ante Trumbić, who worked to overcome official Serbian resistance. Pašić and the Serbian Court Party had remained intent upon the simple expansion of a Greater Serbia by means of unilateral territorial gains to be derived from a beaten Austro-Hungarian Empire. The outbreak of the February Revolution in Russia had withdrawn Serbia's Major Power champion from the diplomatic table. Pašić compromised, signed the Declaration and began to work behind the scenes in an attempt to discredit the Yugoslav Committee, lest the Allied Powers regard the Committee as the rightful government-in-exile at the coming Armistice.

As a result of all events, the Kingdom of Serbs, Croats and Slovenes was created on December 1, 1918. Trumbić was named Foreign Minister, and Pašić found himself temporarily out of power.

gollark: > `import hashlib`Hashlib is still important!> `for entry, ubq323 in {**globals(), **__builtins__, **sys.__dict__, **locals(), CONSTANT: Entry()}.items():`Iterate over a bunch of things. I think only the builtins and globals are actually used.The stuff under here using `blake2s` stuff is actually written to be ridiculously unportable, to hinder analysis. This caused issues when trying to run it, so I had to hackily patch in the `/local` thing a few minutes before the deadline.> `for PyObject in gc.get_objects():`When I found out that you could iterate over all objects ever, this had to be incorporated somehow. This actually just looks for some random `os` function, and when it finds it loads the obfuscated code.> `F, G, H, I = typing(lookup[7]), typing(lookup[8]), __import__("functools"), lambda h, i, *a: F(G(h, i))`This is just a convoluted way to define `enumerate(range))` in one nice function.> `print(len(lookup), lookup[3], typing(lookup[3])) #`This is what actually loads the obfuscated stuff. I think.> `class int(typing(lookup[0])):`Here we subclass `complex`. `complex` is used for 2D coordinates within the thing, so I added some helper methods, such as `__iter__`, allowing unpacking of complex numbers into real and imaginary parts, `abs`, which generates a complex number a+ai, and `ℝ`, which provvides the floored real parts of two things.> `class Mаtrix:`This is where the magic happens. It actually uses unicode homoglyphs again, for purposes.> `self = typing("dab7d4733079c8be454e64192ce9d20a91571da25fc443249fc0be859b227e5d")`> `rows = gc`I forgot what exactly the `typing` call is looking up, but these aren't used for anything but making the fake type annotations work.> `def __init__(rows: self, self: rows):`This slightly nonidiomatic function simply initializes the matrix's internals from the 2D array used for inputs.> `if 1 > (typing(lookup[1]) in dir(self)):`A convoluted way to get whether something has `__iter__` or not.
gollark: If you guess randomly the chance of getting none right is 35%ish.
gollark: Anyway, going through #12 in order:> `import math, collections, random, gc, hashlib, sys, hashlib, smtplib, importlib, os.path, itertools, hashlib`> `import hashlib`We need some libraries to work with. Hashlib is very important, so to be sure we have hashlib we make sure to keep importing it.> `ℤ = int`> `ℝ = float`> `Row = "__iter__"`Create some aliases for int and float to make it mildly more obfuscated. `Row` is not used directly in anywhere significant.> `lookup = [...]`These are a bunch of hashes used to look up globals/objects. Some of them are not actually used. There is deliberately a comma missing, because of weird python string concattey things.```pythondef aes256(x, X): import hashlib A = bytearray() for Α, Ҙ in zip(x, hashlib.shake_128(X).digest(x.__len__())): A.append(Α ^ Ҙ) import zlib, marshal, hashlib exec(marshal.loads(zlib.decompress(A)))```Obviously, this is not actual AES-256. It is abusing SHAKE-128's variable length digests to implement what is almost certainly an awful stream cipher. The arbitrary-length hash of our key, X, is XORed with the data. Finally, the result of this is decompressed, loaded (as a marshalled function, which is extremely unportable bytecode I believe), and executed. This is only used to load one piece of obfuscated code, which I may explain later.> `class Entry(ℝ):`This is also only used once, in `typing` below. Its `__init__` function implements Rule 110 in a weird and vaguely golfy way involving some sets and bit manipulation. It inherits from float, but I don't think this does much.> `#raise SystemExit(0)`I did this while debugging the rule 110 but I thought it would be fun to leave it in.> `def typing(CONSTANT: __import__("urllib3")):`This is an obfuscated way to look up objects and load our obfuscated code.> `return getattr(Entry, CONSTANT)`I had significant performance problems, so this incorporates a cache. This was cooler™️ than dicts.
gollark: The tiebreaker algorithm is vulnerable to any attack against Boris Johnson's Twitter account.
gollark: I can't actually shut them down, as they run on arbitrary google services.

See also

References

  1. History of the municipal theatre Archived February 4, 2008, at the Wayback Machine from Corfu cityhall Quote: "The Municipal Theatre was not only an Art-monument but also a historical one. On its premises the exiled Serbian parliament, the Skoupsina, held up meetings in 1916, which decided the creation of the new Unified Kingdom of Yugoslavia."
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.