Skip to content
Snippets Groups Projects
Commit 7a969ac2 authored by inso's avatar inso
Browse files

Merge branch 'dev' into translations

parents a87e9cb9 892ccedd
Branches
Tags
No related merge requests found
Showing
with 7270 additions and 1323 deletions
'''
"""
Created on 3 déc. 2014
@author: inso
'''
"""
import base58
import base64
import re
......@@ -23,10 +23,10 @@ class Document:
self.signatures = []
def sign(self, keys):
'''
"""
Sign the current document.
Warning : current signatures will be replaced with the new ones.
'''
"""
self.signatures = []
for key in keys:
signing = base64.b64encode(key.signature(bytes(self.raw(), 'ascii')))
......@@ -34,10 +34,10 @@ class Document:
self.signatures.append(signing.decode("ascii"))
def signed_raw(self):
'''
"""
If keys are None, returns the raw + current signatures
If keys are present, returns the raw signed by these keys
'''
"""
raw = self.raw()
signed = "\n".join(self.signatures)
signed_raw = raw + signed + "\n"
......
'''
"""
Created on 2 déc. 2014
@author: inso
'''
"""
from .. import PROTOCOL_VERSION
from . import Document
......@@ -15,7 +15,7 @@ import logging
class Block(Document):
'''
"""
Version: VERSION
Type: Block
Currency: CURRENCY
......@@ -52,7 +52,7 @@ Transactions:
COMPACT_TRANSACTION
...
BOTTOM_SIGNATURE
'''
"""
re_type = re.compile("Type: (Block)\n")
re_noonce = re.compile("Nonce: ([0-9]+)\n")
......@@ -82,9 +82,9 @@ BOTTOM_SIGNATURE
parameters, members_count, identities, joiners,
actives, leavers, excluded, certifications,
transactions, signature):
'''
"""
Constructor
'''
"""
super().__init__(version, currency, [signature])
self.noonce = noonce
self.number = number
......
'''
"""
Created on 2 déc. 2014
@author: inso
'''
"""
import re
import base64
import logging
......@@ -11,9 +11,9 @@ from . import Document
class SelfCertification(Document):
'''
"""
A document discribing a self certification.
'''
"""
re_inline = re.compile("([1-9A-Za-z][^OIl]{42,45}):([A-Za-z0-9+/]+(?:=|==)?):([0-9]+):([^\n]+)\n")
re_uid = re.compile("UID:([^\n]+)\n")
......@@ -48,9 +48,9 @@ META:TS:{1}
class Certification(Document):
'''
"""
A document describing a certification.
'''
"""
re_inline = re.compile("([1-9A-Za-z][^OIl]{42,45}):\
([1-9A-Za-z][^OIl]{42,45}):([0-9]+):([A-Za-z0-9+/]+(?:=|==)?)\n")
......@@ -58,9 +58,9 @@ class Certification(Document):
def __init__(self, version, currency, pubkey_from, pubkey_to,
blocknumber, blockhash, signature):
'''
"""
Constructor
'''
"""
super().__init__(version, currency, [signature])
self.pubkey_from = pubkey_from
self.pubkey_to = pubkey_to
......@@ -85,10 +85,10 @@ class Certification(Document):
def sign(self, selfcert, keys):
'''
"""
Sign the current document.
Warning : current signatures will be replaced with the new ones.
'''
"""
self.signatures = []
for key in keys:
signing = base64.b64encode(key.signature(bytes(self.raw(selfcert), 'ascii')))
......@@ -107,13 +107,13 @@ class Certification(Document):
class Revocation(Document):
'''
"""
A document describing a self-revocation.
'''
"""
def __init__(self, version, currency, signature):
'''
"""
Constructor
'''
"""
super().__init__(version, currency, [signature])
def raw(self, selfcert):
......@@ -121,10 +121,10 @@ class Revocation(Document):
""".format(selfcert.signed_raw())
def sign(self, selfcert, keys):
'''
"""
Sign the current document.
Warning : current signatures will be replaced with the new ones.
'''
"""
self.signatures = []
for key in keys:
signing = base64.b64encode(key.signature(bytes(self.raw(selfcert), 'ascii')))
......
'''
"""
Created on 2 déc. 2014
@author: inso
'''
"""
from .. import PROTOCOL_VERSION
from . import Document
......@@ -10,7 +10,7 @@ import re
class Membership(Document):
'''
"""
This is a utility class to generate membership documents :
Version: VERSION
Type: Membership
......@@ -20,7 +20,7 @@ class Membership(Document):
Membership: MEMBERSHIP_TYPE
UserID: USER_ID
CertTS: CERTIFICATION_TS
'''
"""
# PUBLIC_KEY:SIGNATURE:NUMBER:HASH:TIMESTAMP:USER_ID
re_inline = re.compile("([1-9A-Za-z][^OIl]{42,45}):([A-Za-z0-9+/]+(?:=|==)?):\
......@@ -36,9 +36,9 @@ class Membership(Document):
def __init__(self, version, currency, issuer, block_number, block_hash,
membership_type, uid, cert_ts, signature):
'''
"""
Constructor
'''
"""
super().__init__(version, currency, [signature])
self.issuer = issuer
self.block_number = block_number
......
'''
"""
Created on 2 déc. 2014
@author: inso
'''
"""
import re
......
'''
"""
Created on 2 déc. 2014
@author: inso
'''
"""
import re
from . import Document
class Status(Document):
'''
"""
Version: VERSION
Type: Status
Currency: CURRENCY_NAME
......@@ -17,7 +17,7 @@ class Status(Document):
Block: BLOCK
From: SENDER
To: RECIPIENT
'''
"""
re_type = re.compile("Type: (Status)")
re_status = re.compile("Status: (NEW|NEW_BACK|UP|UP_BACK|DOWN)")
......@@ -27,9 +27,9 @@ class Status(Document):
def __init__(self, version, currency, status, blockid, sender,
recipient, signature):
'''
"""
Constructor
'''
"""
super().__init__(version, currency, [signature])
self.status = status
......@@ -70,12 +70,12 @@ class Status(Document):
sender, recipient, signature)
def raw(self):
return '''Version: {0}
return """Version: {0}
Type: Status
Currency: {1}
Status: {2}
Block: {3}
From: {4}
To: {5}
'''.format(self.version, self.currency, self.status,
""".format(self.version, self.currency, self.status,
self.blockid, self.sender, self.recipient)
'''
"""
Created on 2 déc. 2014
@author: inso
'''
"""
from . import Document
import re
import logging
class Transaction(Document):
'''
"""
Document format :
Version: VERSION
Type: Transaction
......@@ -38,7 +38,7 @@ PUBLIC_KEY:AMOUNT
COMMENT
SIGNATURE
...
'''
"""
re_type = re.compile("Type: (Transaction)\n")
re_header = re.compile("TX:([0-9]+):([0-9]+):([0-9]+):([0-9]+):(0|1)\n")
......@@ -51,9 +51,9 @@ SIGNATURE
def __init__(self, version, currency, issuers, inputs, outputs,
comment, signatures):
'''
"""
Constructor
'''
"""
super().__init__(version, currency, signatures)
self.issuers = issuers
......@@ -181,9 +181,9 @@ Issuers:
return doc
def compact(self):
'''
"""
Return a transaction in its compact format.
'''
"""
"""TX:VERSION:NB_ISSUERS:NB_INPUTS:NB_OUTPUTS:HAS_COMMENT
PUBLIC_KEY:INDEX
...
......@@ -213,26 +213,26 @@ COMMENT
class SimpleTransaction(Transaction):
'''
"""
As transaction class, but for only one issuer.
...
'''
"""
def __init__(self, version, currency, issuer,
single_input, outputs, comment, signature):
'''
"""
Constructor
'''
"""
super().__init__(version, currency, [issuer], [single_input],
outputs, comment, [signature])
class InputSource():
'''
"""
A Transaction INPUT
Compact :
INDEX:SOURCE:FINGERPRINT:AMOUNT
'''
"""
re_inline = re.compile("([0-9]+):(D|T):([0-9]+):\
([0-9a-fA-F]{5,40}):([0-9]+)\n")
re_compact = re.compile("([0-9]+):(D|T):([0-9a-fA-F]{5,40}):([0-9]+)\n")
......@@ -278,9 +278,9 @@ class InputSource():
class OutputSource():
'''
"""
A Transaction OUTPUT
'''
"""
re_inline = re.compile("([1-9A-Za-z][^OIl]{42,45}):([0-9]+)")
def __init__(self, pubkey, amount):
......
'''
"""
Ucoin public and private keys
@author: inso
'''
"""
import base58
import base64
......
'''
"""
HD Wallet inspired from Bip32 wallets.
@author: inso
'''
'''
"""
"""
import os
import hmac
import hashlib
......@@ -375,4 +375,4 @@ if __name__ == "__main__":
print "* [Chain m/0/2147483647h/1/2147483646h/2]"
m = m.ChildKey(2)
m.dump()
'''
\ No newline at end of file
"""
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -12,3 +12,7 @@ noun_7440_cc.svg : Created by Yuri Mamae
noun_62479_cc.svg : Created by Bridget Gahagan
noun_76373_cc.svg : Created by João Paulo
noun_5197_cc.svg : Created by Bibzee
noun_38960_cc.svg : Created by Agarunov Oktay-Abraham
noun_42425_cc.svg : Created by Luis Rodrigues
noun_62146_cc.svg : Created by Sergey Krivoy
noun_2149_cc.svg : Created by Anand A Nair
\ No newline at end of file
......@@ -12,7 +12,11 @@
<file alias="members_icon">noun_18704_cc.svg</file>
<file alias="wallet_icon">noun_29542_cc.svg</file>
<file alias="tx_icon">noun_63271_cc.svg</file>
<file alias="refresh_icon">noun_2149_cc.svg</file>
<file alias="currency_icon">noun_43022_cc.svg</file>
<file alias="settings_display_icon">noun_38960_cc.svg</file>
<file alias="settings_app_icon">noun_42425_cc.svg</file>
<file alias="settings_network_icon">noun_62146_cc.svg</file>
<file alias="connected">connected.svg</file>
<file alias="weak_connect">weak_connect.svg</file>
<file alias="disconnected">disconnected.svg</file>
......
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
x="0px"
y="0px"
viewBox="0 0 100 125"
enable-background="new 0 0 100 100"
xml:space="preserve"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="noun_2149_cc.svg"><metadata
id="metadata16"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs14" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="743"
inkscape:window-height="480"
id="namedview12"
showgrid="false"
inkscape:zoom="1.888"
inkscape:cx="48.267139"
inkscape:cy="72.791055"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg2" /><path
d="m 68.45393,90.514664 c -5.405642,3.785074 -11.719343,5.688849 -18.182514,5.596695 -0.851867,-0.01236 -1.701486,-0.05058 -2.54099,-0.126993 -0.341646,-0.03146 -0.686663,-0.08878 -1.030556,-0.133737 -0.657443,-0.08204 -1.314886,-0.171946 -1.963338,-0.300063 -0.39559,-0.07642 -0.781066,-0.17307 -1.171036,-0.267473 -0.631595,-0.147222 -1.25757,-0.294445 -1.872307,-0.479877 -0.297817,-0.08878 -0.585519,-0.197795 -0.877715,-0.293321 -0.712511,-0.236005 -1.417155,-0.485496 -2.103818,-0.773198 -0.157337,-0.06406 -0.306807,-0.133736 -0.463019,-0.204537 -0.804666,-0.351761 -1.595846,-0.727121 -2.364548,-1.144064 -0.03484,-0.01798 -0.06743,-0.03821 -0.102269,-0.05731 -2.601676,-1.422776 -4.97971,-3.204054 -7.063298,-5.285395 -0.03484,-0.03709 -0.06744,-0.07529 -0.102269,-0.109012 -0.643957,-0.6507 -1.26319,-1.335115 -1.850955,-2.042007 -0.12587,-0.147222 -0.241624,-0.312426 -0.36637,-0.466391 -4.248094,-5.31012 -6.808187,-12.031773 -6.808187,-19.347934 l 8.171398,0 -13.074688,-19.606413 -13.0724403,19.608661 8.1713992,0 c 0,8.598456 2.6803451,16.565317 7.2329971,23.153234 0.05731,0.09665 0.09553,0.191051 0.159585,0.280958 0.473134,0.676548 0.995717,1.295781 1.499195,1.934119 0.191052,0.242748 0.364122,0.492239 0.561917,0.727121 0.74735,0.901315 1.538529,1.756552 2.349937,2.585942 0.07529,0.07642 0.150594,0.159584 0.230386,0.236005 2.732041,2.739909 5.814719,5.042645 9.176107,6.881236 0.09215,0.0517 0.178689,0.10901 0.270844,0.15397 0.970992,0.52258 1.961091,0.99684 2.975914,1.43625 0.24949,0.10901 0.494486,0.22927 0.746225,0.33828 0.868724,0.35738 1.750934,0.67093 2.643259,0.96313 0.421437,0.14834 0.842875,0.29444 1.269932,0.42143 0.777693,0.23601 1.576739,0.42706 2.381405,0.61924 0.532697,0.12137 1.062023,0.25624 1.604835,0.36412 0.223643,0.0449 0.437171,0.10901 0.661939,0.1461 0.758587,0.13486 1.5183,0.21128 2.27464,0.30118 0.275339,0.0326 0.541688,0.0831 0.820399,0.10902 1.358715,0.13373 2.719679,0.22364 4.075024,0.22364 8.308506,0 16.409104,-2.54211 23.360018,-7.411686 2.215078,-1.552015 2.75789,-4.608845 1.199132,-6.823922 -1.553139,-2.222944 -4.616712,-2.759012 -6.82617,-1.206998 z"
id="path4"
inkscape:connector-curvature="0"
style="fill:#000000" /><path
d="M 91.499276,65.082295 C 91.492503,56.51643 88.831293,48.561931 84.298869,41.987501 84.234812,41.878489 84.189857,41.763858 84.113437,41.655969 83.551519,40.854675 82.93903,40.105078 82.325416,39.350985 82.255736,39.262201 82.19168,39.165553 82.115259,39.07677 77.971682,34.047611 72.762711,30.160269 66.864828,27.618156 c -0.165203,-0.06968 -0.325911,-0.146098 -0.485496,-0.2169 -0.944021,-0.388847 -1.907147,-0.733864 -2.87814,-1.054157 -0.351759,-0.118002 -0.695653,-0.242748 -1.047413,-0.350636 -0.849618,-0.25511 -1.704857,-0.459648 -2.573581,-0.663063 -0.478753,-0.107887 -0.950764,-0.230385 -1.43626,-0.325911 -0.234881,-0.04383 -0.465267,-0.115755 -0.700149,-0.159584 -0.64508,-0.112384 -1.290161,-0.160709 -1.941985,-0.242749 -0.446162,-0.05731 -0.887829,-0.128117 -1.333991,-0.173071 -1.086749,-0.102268 -2.165629,-0.146098 -3.24451,-0.162955 -0.196671,-0.0022 -0.385475,-0.0281 -0.579898,-0.0281 -0.03821,0 -0.0708,0.009 -0.105641,0.01348 -8.29502,0.0057 -16.383256,2.508398 -23.32518,7.373477 -2.218449,1.550891 -2.756766,4.609968 -1.201378,6.827293 1.549767,2.217324 4.60772,2.756765 6.826168,1.202503 5.361814,-3.753607 11.621571,-5.658506 18.036416,-5.597819 0.919297,0.0057 1.827355,0.05058 2.725298,0.137108 0.274217,0.0281 0.548432,0.06968 0.823771,0.10564 0.740607,0.08878 1.474471,0.191052 2.18923,0.331531 0.318045,0.06406 0.631594,0.147222 0.94402,0.216901 0.70914,0.160708 1.417155,0.332655 2.107189,0.542812 0.215777,0.06406 0.433801,0.146098 0.649577,0.216899 0.792303,0.258482 1.57112,0.537193 2.330832,0.856362 0.07642,0.03147 0.152841,0.0708 0.229262,0.101145 4.570634,1.96671 8.580475,4.992072 11.706982,8.778269 0.02023,0.02247 0.03821,0.05058 0.05843,0.07193 4.397563,5.359566 7.047564,12.208212 7.053183,19.663729 l -8.177018,0 13.080307,19.609783 13.069066,-19.609783 -8.164653,0 z"
id="path6"
inkscape:connector-curvature="0"
style="fill:#000000" /></svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
x="0px"
y="0px"
viewBox="0 0 50 62.5"
enable-background="new 0 0 50 50"
xml:space="preserve"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="noun_38960_cc.svg"><metadata
id="metadata44"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs42" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="709"
id="namedview40"
showgrid="false"
inkscape:zoom="3.776"
inkscape:cx="25"
inkscape:cy="31.25"
inkscape:window-x="-2"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" /><path
d="M30.711,14.454H8.617c-1.107,0-2.008,0.9-2.008,2.008V29.6c0,1.107,0.901,2.009,2.008,2.009h22.095 c1.107,0,2.008-0.901,2.008-2.009V16.462C32.72,15.354,31.82,14.454,30.711,14.454z M8.617,15.792h22.095 c0.37,0,0.67,0.299,0.67,0.67v2.265H7.948v-2.265C7.948,16.091,8.25,15.792,8.617,15.792z M7.948,29.599v-9.533h6.242v10.203H8.617 C8.25,30.269,7.948,29.968,7.948,29.599z M30.711,30.269H15.529V20.065h15.852v9.533C31.381,29.968,31.082,30.269,30.711,30.269z"
id="path4" /><circle
cx="9.789"
cy="17.293"
r="0.717"
id="circle6" /><circle
cx="11.797"
cy="17.293"
r="0.717"
id="circle8" /><circle
cx="13.806"
cy="17.293"
r="0.717"
id="circle10" /><rect
x="9.07"
y="21.319"
width="3.935"
height="1.338"
id="rect12" /><rect
x="9.07"
y="23.368"
width="3.935"
height="1.339"
id="rect14" /><rect
x="9.07"
y="25.503"
width="3.935"
height="1.339"
id="rect16" /><rect
x="9.07"
y="27.68"
width="3.935"
height="1.34"
id="rect18" /><path
d="M20.425,21.477h-3.683v2.972h3.683V21.477z M19.086,23.108h-1.004v-0.292h1.004V23.108z"
id="path20" /><rect
x="16.743"
y="25.503"
width="13.308"
height="1.339"
id="rect22" /><rect
x="16.743"
y="27.68"
width="13.308"
height="1.34"
id="rect24" /><path
d="M25.238,21.477h-3.683v2.972h3.683V21.477z M23.899,23.108h-1.004v-0.292h1.004V23.108z"
id="path26" /><path
d="M26.367,24.448h3.684v-2.972h-3.684V24.448z M27.706,22.815h1.004v0.292h-1.004V22.815z"
id="path28" /><g
id="g30"><path
d="M44.773,44.332H5.196c-2.079,0-3.769-1.69-3.769-3.769V13.065c0-2.079,1.69-3.769,3.769-3.769h39.577 c2.078,0,3.768,1.69,3.768,3.769v27.498C48.541,42.642,46.852,44.332,44.773,44.332z M5.196,10.427 c-1.455,0-2.639,1.184-2.639,2.639v27.498c0,1.455,1.184,2.639,2.639,2.639h39.577c1.455,0,2.638-1.184,2.638-2.639V13.065 c0-1.455-1.183-2.639-2.638-2.639H5.196z"
id="path32" /></g><path
d="M43.834,34.272l-2.076-2.076l2.197-1.099c0.186-0.093,0.292-0.29,0.27-0.495c-0.022-0.206-0.171-0.376-0.37-0.425 l-7.254-1.814c-0.168-0.042-0.346,0.008-0.469,0.131s-0.172,0.3-0.129,0.468l1.813,7.254c0.05,0.199,0.22,0.347,0.425,0.37 c0.018,0.003,0.036,0.004,0.054,0.004c0.187,0,0.357-0.104,0.442-0.274l1.099-2.196l2.076,2.076 c0.266,0.267,0.613,0.398,0.962,0.398c0.347,0,0.696-0.132,0.961-0.398C44.365,35.665,44.365,34.804,43.834,34.272z M43.136,35.498 c-0.094,0.095-0.205,0.109-0.263,0.109s-0.168-0.015-0.264-0.111l-3.045-3.043l-1.114,2.228l-1.291-5.159l5.16,1.29l-2.229,1.114 l3.047,3.045c0.095,0.095,0.108,0.206,0.108,0.264S43.231,35.403,43.136,35.498z"
id="path34" /></svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
x="0px"
y="0px"
viewBox="0 0 100 125"
enable-background="new 0 0 100 100"
xml:space="preserve"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="noun_42425_cc.svg"><metadata
id="metadata18"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs16" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="709"
id="namedview14"
showgrid="false"
inkscape:zoom="1.888"
inkscape:cx="50"
inkscape:cy="62.5"
inkscape:window-x="-2"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" /><g
id="g4"
transform="translate(0,12)"><path
d="M 99,57.669 99,41.331 87.822,38.01 C 87.084,35.6 86.217,33.29 85.052,31.102 L 90.793,20.71 79.266,9.158 68.886,14.851 C 66.698,13.687 64.394,12.915 61.985,12.178 L 58.669,1 42.331,1 39.01,12.178 c -2.41,0.737 -4.72,1.605 -6.908,2.769 L 21.71,9.206 10.158,20.734 15.851,31.113 c -1.164,2.188 -2.436,4.493 -3.173,6.902 L 1,41.331 1,57.669 12.678,60.99 c 0.737,2.41 1.855,4.721 3.019,6.908 l -5.616,10.391 11.591,11.553 10.411,-5.693 c 2.188,1.164 4.508,2.437 6.917,3.174 L 42.331,99 58.669,99 61.99,87.322 c 2.41,-0.737 4.721,-1.855 6.908,-3.02 l 10.391,5.616 11.553,-11.591 -5.693,-10.41 c 1.164,-2.188 1.937,-4.509 2.674,-6.918 L 99,57.669 Z M 50.5,79.873 c -16.774,0 -30.373,-13.599 -30.373,-30.373 0,-16.774 13.598,-30.372 30.373,-30.372 16.775,0 30.373,13.598 30.373,30.372 0,16.774 -13.598,30.373 -30.373,30.373 z"
id="path6"
inkscape:connector-curvature="0" /><path
d="m 53.125,50.135 4.353,-4.354 c 1.64,-1.64 0.89,-4.44 -1.35,-5.04 L 40.15,36.461 c -2.24,-0.6 -4.289,1.449 -3.689,3.689 l 4.281,15.977 c 0.6,2.24 3.4,2.99 5.04,1.35 l 4.354,-4.353 9.907,9.907 c 0.817,0.817 2.142,0.817 2.959,0 l 0.03,-0.03 c 0.817,-0.817 0.817,-2.142 0,-2.959 l -9.907,-9.907 z"
id="path8"
inkscape:connector-curvature="0" /></g></svg>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment