Status
De Bestandsuitwisseling module is op dit moment “Gecontroleerd Beschikbaar”. De redenen dat de module nog niet “Algemeen Beschikbaar” is zijn de volgende:
De Bestandsuitwisseling module moet nog door Product Development handmatig voor een klant geactiveerd worden in Policy Management.
Gebruikers moeten nog door Product Development handmatig worden geautoriseerd voor file types om bestanden te kunnen zenden/ontvangen.
Niet alle Youforce file types worden op dit moment ondersteund. Zie ondersteunde file types.
Extra Informatie
Bestanden zijn maximaal 1 maand beschikbaar voor ontvangen.
Bestanden kunnen gedurende 1 maand meerdere malen worden ontvangen.
Bestanden worden ontvangen in de Download folder die in uw browser is geconfigureerd.
De gebruikers die bestanden zenden of ontvangen worden nog niet geregistreerd in de Bestandsuitwisseling module. Dit betekent dat u nog niet kunt zien wie een bepaald bestand heeft ontvangen of verzonden.
Het is nog niet mogelijk meerdere bestanden tegelijkertijd te ontvangen.
Wat heeft u nodig
Om te kunnen beginnen moeten de volgende zaken zijn geregeld:
Vul een Jira support aanvraag in. Hiermee wordt geregeld dat u geautoriseerd wordt voor Autorisatiebeheer (indien nodig), Bestandsuitwisseling, en voor de benodigde file types.
Als de Jira support aanvraag is afgehandeld kunnen de toegangsrechten worden toegekend via Autorisatiebeheer:
Applicatie: 'Bestandsuitwisseling'
Rechten: 'Toegang tot Bestandsuitwisseling'
Youforce-bestanden koppelen aan de File API. Zie instructies.
Bestandsuitwisseling kan worden bereikt via de nieuwe URL https://files.youforce.com/. Gebruikers moeten hiervoor inloggen met het nieuwe inloggen.
Visma|Raet maakt nu gebruik van de Developer portal van Visma, een portal waar u API-applicaties kunt aanmaken en beheren. Met deze portal heeft u niet alleen toegang maar hebben uw collega's ook toegang tot de aangemaakte applicaties.
Wat moet u doen om gebruik te maken van de nieuwe portal?
Veel arbodiensten gebruiken een eigen systeem om terugkoppelingsdocumenten op te stellen. Deze documenten zijn bedoeld voor betrokkenen binnen de klantorganisatie.
Om deze terugkoppelingsdocumenten ook in Verzuim Management beschikbaar te krijgen, is het nodig om deze documenten handmatig in te voeren. Dit leidt echter tot dubbele invoer van de documenten en is bovendien foutgevoelig. Om deze dubbele invoer én eventuele fouten te voorkomen, is de SIVI documenten interface ontwikkeld.
Bij gebruikmaking van SIVI documenten leveren de arbodiensten de bestanden geautomatiseerd aan Visma Raet, via een beveiligde verbinding. Deze bestanden worden gekoppeld aan in Verzuim Management bestaande acties die zijn ingericht met een verwijzing naar de Identificatie document soort van SIVI.
Het aanleveren van de bestanden aan Visma Raet gebeurt via onze File API, de werking van de File API is hier gedocumenteerd. De pagina Getting Started beschrijft hoe je een access token opvraagt en via Publishers/Multipart upload staat de API call beschreven die zorgt voor de upload.
Het bestand is het door SIVI voorgeschreven (XML)format versie 2020, de XML-bestandsnaam moet bij insturen via de File API voldoen aan het volgende formaat:
DO-XXXXXXXXXXXXXXX_YYYYMMDDHHMMSSFFF.xml
of
DO-XXXXXXXXXXXXXXX_YYYYMMDDHHMMSSFF.xml
of
DO-XXXXXXXXXXXXXXX_YYYYMMDDHHMMSS.xml
Toelichting:
Onderdeel
inhoud
DO-
Vaste waarde
XXXXXXXXX
Vrij in te vullen waarde. Variabel, minimaal 1 positie, maximaal 160 posities. Toegestane waarden:
alfa numeriek: A-Z, a-z, 0-9.
punten.
spaties
_
Vast waarde, scheidingsteken
YYYY
Jaar, 4 posities
MM
Maand, 2 posities
dd
Dag, 2 posities
HH
Uur, 2 posities
MM
Minuut, 2 posities
SS
Seconden, 2 posities
FF of FFF
Milliseconden 0, 2 of 3 posities
.xml
Vaste waarde, extensie
Voorbeelden:
DO-Tussentijdse evaluatie_20180622010203444.xml
DO-Evaluatie n.a.v. gesprek 1_20180622010203444.xml
Om het bestand via een File API-call te versturen naar Visma Raet dient businessTypeID 124000 gebruikt te worden in de call. Dit businessTypeID staat in Youforce voor de SIVI Documenten en dient samen met de bestandsnaam als metadata worden toegevoegd aan de API call. Een voorbeeld van de API-call:
Je kan de upload testen door gebruik te maken van onderstaande API-credentials
API Key: VRA_fileapi_4001401_uploadsivi
Secret Key: F0m9N5kbdXB4xEPQTkQRpd76H4JZw6CYoJQbskQ9zAJDdtu8WalC687ozkjoZ6tm
TenantID: f556855c-a0c4-42c7-88f1-98bf5b209393
Met onderstaande variabelen in het SIVI document-XML-bestand:
Hoofd tag
Tag
Inhoud
Opmerking
Voor FileAPI test
<BrAlg>
<IdOntvngr>
“Visma Raet”
Statische waarde
Visma Raet
<Wrkgvr>
<HndlsnmOrg>
[naam arbo dienst]
Door arbodienst in te vullen.
Zelf in te vullen
<Wrkgvr>
<IdWrkgvrArbdnst>
[identificatie van klant]
Verschilt per klant-omgeving.
test12345test
<Document>
<SrtDocumentCd>
Identificatie document soort
Statische lijst zoals in het SIVI format beschreven.
999 staat voor 'Overig'
999
<Document>
<DatDocument>
Creatie datum van het document
Zelf in te vullen
<Document>
<Bestandsnm>
Bestandsnaam
Zelf in te vullen
<Document>
<Datastring>
Document inhoud gecodeerd in Base64 formaat
Zelf in te vullen
<Document>
<Wrknmr>
<IdWrknmr>
Personeelsnummer van werknemer
1945
<Document>
<Dnstvbnd>
<Vrzm>
<DatEerstVrzmdg>
Eerste verzuimdag van het verzuim waar het document aan gekoppeld wordt
2022-05-24
Wanneer de File API een 201 (Created) teruggeeft dan is de upload succesvol geweest, neem met Visma Raet contact op om samen te controleren of het document daadwerkelijk is toegevoegd aan het verzuimdossier van de betreffende medewerker (persoonsnummer 1945, verzuimdossier 24-05-2022), een specifieke bestandsnaam van het document (<Bestandsnm>) helpt bij de controle.
Voorbeeld van het Sivi document XML-bestand:
<?xml version="1.0" encoding="UTF-8"?>
<Documenten xmlns="http://www.sivi.org/Verzuimmanagement/Documenten/2020" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<BrAlg xmlns="http://www.sivi.org/Verzuimmanagement/Documenten/2020">
<BrCd>00001</BrCd>
<VnrBrCd>00004</VnrBrCd>
<AandatBr>2022-03-17</AandatBr>
<AantijdBr>11:22:09</AantijdBr>
<IdInzndr>ArbodienstX</IdInzndr>
<IdOntvngr>Visma - Raet</IdOntvngr>
<Berrefnr>39989003</Berrefnr>
<TestJN>J</TestJN>
<OntvngstbevJN>N</OntvngstbevJN>
</BrAlg>
<Wrkgvr xmlns="http://www.sivi.org/Verzuimmanagement/Documenten/2020">
<HndlsnmOrg>RAET SIVI TEST</HndlsnmOrg>
<IdWrkgvrArbdnst>test12345test</IdWrkgvrArbdnst>
<AansltnrGeguitwlngArbdnst>6431</AansltnrGeguitwlngArbdnst>
<Lhnr>999999999999</Lhnr>
</Wrkgvr>
<Document xmlns="http://www.sivi.org/Verzuimmanagement/Documenten/2020">
<IdDocument>39989003</IdDocument>
<DatDocument>2022-03-17</DatDocument>
<SrtDocumentCd>999</SrtDocumentCd>
<SrtDocumentOms>Overig</SrtDocumentOms>
<StatDocumentCd>01</StatDocumentCd>
<KenmerkZendPartij>ArbodienstX</KenmerkZendPartij>
<BestandTypCd>06</BestandTypCd>
<Bestandsnm>Inzetbaarheidsadvies.pdf</Bestandsnm>
<AdresseringCd>01</AdresseringCd>
<Datastring>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Ci9GaXJzdENoYXIgMzIKL0ZvbnREZXNjcmlwdG9yIDExIDAgUgovTmFtZSAvRjEKL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcKL0Jhc2VGb250IC9BcmlhbE1UCi9TdWJ0eXBlIC9UcnVlVHlwZQovTGFzdENoYXIgMjMzCi9XaWR0aHMgMTIgMCBSCi9UeXBlIC9Gb250Cj4+CmVuZG9iaiAKMTEgMCBvYmogCjw8Ci9Gb250TmFtZSAvQXJpYWxNVAovU3RlbVYgNDQKL0xlYWRpbmcgMzMKL0FzY2VudCA5MDUKL0ZsYWdzIDMyCi9Gb250V2VpZ2h0IDQwMAovWEhlaWdodCAyNTAKL0Rlc2NlbnQgLTIxMAovQXZnV2lkdGggNDQxCi9JdGFsaWNBbmdsZSAwCi9NYXhXaWR0aCAyNjY1Ci9Gb250QkJveCBbLTY2NSAtMjEwIDIwMDAgNzI4XQovVHlwZSAvRm9udERlc2NyaXB0b3IKL0NhcEhlaWdodCA3MjgKPj4KZW5kb2JqIAo2IDAgb2JqIAo8PAovY2EgMQovQk0gL05vcm1hbAovVHlwZSAvRXh0R1N0YXRlCj4+CmVuZG9iaiAKNSAwIG9iaiAKPDwKL0NBIDEKL0JNIC9Ob3JtYWwKL1R5cGUgL0V4dEdTdGF0ZQo+PgplbmRvYmogCjcgMCBvYmogCjw8Ci9GaXJzdENoYXIgMzIKL0ZvbnREZXNjcmlwdG9yIDEzIDAgUgovTmFtZSAvRjIKL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcKL0Jhc2VGb250IC9UaW1lc05ld1JvbWFuUFNNVAovU3VidHlwZSAvVHJ1ZVR5cGUKL0xhc3RDaGFyIDExOAovV2lkdGhzIDE0IDAgUgovVHlwZSAvRm9udAo+PgplbmRvYmogCjEzIDAgb2JqIAo8PAovRm9udE5hbWUgL1RpbWVzTmV3Um9tYW5QU01UCi9TdGVtViA0MAovTGVhZGluZyA0MgovQXNjZW50IDg5MQovRmxhZ3MgMzIKL0ZvbnRXZWlnaHQgNDAwCi9YSGVpZ2h0IDI1MAovRGVzY2VudCAtMjE2Ci9BdmdXaWR0aCA0MDEKL0l0YWxpY0FuZ2xlIDAKL01heFdpZHRoIDI2MTQKL0ZvbnRCQm94IFstNTY4IC0yMTYgMjA0NiA2OTNdCi9UeXBlIC9Gb250RGVzY3JpcHRvcgovQ2FwSGVpZ2h0IDY5Mwo+PgplbmRvYmogCjkgMCBvYmogCjw8Ci9GaXJzdENoYXIgMzIKL0ZvbnREZXNjcmlwdG9yIDE1IDAgUgovTmFtZSAvRjMKL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcKL0Jhc2VGb250IC9BcmlhbC1Cb2xkTVQKL1N1YnR5cGUgL1RydWVUeXBlCi9MYXN0Q2hhciAxMTgKL1dpZHRocyAxNiAwIFIKL1R5cGUgL0ZvbnQKPj4KZW5kb2JqIAoxNSAwIG9iaiAKPDwKL0ZvbnROYW1lIC9BcmlhbC1Cb2xkTVQKL1N0ZW1WIDQ3Ci9MZWFkaW5nIDMzCi9Bc2NlbnQgOTA1Ci9GbGFncyAzMgovRm9udFdlaWdodCA3MDAKL1hIZWlnaHQgMjUwCi9EZXNjZW50IC0yMTAKL0F2Z1dpZHRoIDQ3OQovSXRhbGljQW5nbGUgMAovTWF4V2lkdGggMjYyOAovRm9udEJCb3ggWy02MjggLTIxMCAyMDAwIDcyOF0KL1R5cGUgL0ZvbnREZXNjcmlwdG9yCi9DYXBIZWlnaHQgNzI4Cj4+CmVuZG9iaiAKMyAwIG9iaiAKPDwKL1BhcmVudFRyZWUgMTcgMCBSCi9Sb2xlTWFwIDE4IDAgUgovUGFyZW50VHJlZU5leHRLZXkgMQovSyBbMTkgMCBSXQovVHlwZSAvU3RydWN0VHJlZVJvb3QKPj4KZW5kb2JqIAoxOCAwIG9iaiAKPDwKL0RpYWdyYW0gL0ZpZ3VyZQovSGVhZGVyIC9TZWN0Ci9Xb3Jrc2hlZXQgL1BhcnQKL0Zvb3RlciAvU2VjdAovSW5saW5lU2hhcGUgL1NlY3QKL1NsaWRlIC9QYXJ0Ci9Gb290bm90ZSAvTm90ZQovQW5ub3RhdGlvbiAvU2VjdAovQ2hhcnQgL1NlY3QKL0RpYWxvZ3NoZWV0IC9QYXJ0Ci9FbmRub3RlIC9Ob3RlCi9BcnRpZmFjdCAvU2VjdAovQ2hhcnRzaGVldCAvUGFydAovV29ya2Jvb2sgL0RvY3VtZW50Ci9NYWNyb3NoZWV0IC9QYXJ0Ci9UZXh0Ym94IC9TZWN0Cj4+CmVuZG9iaiAKMTcgMCBvYmogCjw8Ci9OdW1zIFswIDIwIDAgUl0KPj4KZW5kb2JqIAoxOSAwIG9iaiAKPDwKL1AgMyAwIFIKL0sgWzIxIDAgUiAyMiAwIFIgMjMgMCBSIDI0IDAgUiAyNSAwIFIgMjYgMCBSIDI3IDAgUiAyOCAwIFIgMjkgMCBSIDMwIDAgUiAzMSAwIFIgMzIgMCBSIDMzIDAgUiAzNCAwIFIgMzUgMCBSIDM2IDAgUiAzNyAwIFJdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QYXJ0Cj4+CmVuZG9iaiAKMjEgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxOSAwIFIKL0sgWzBdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMjAgMCBvYmogWzIxIDAgUiAyMiAwIFIgMjMgMCBSIDI0IDAgUiAyNSAwIFIgMjYgMCBSIDM4IDAgUiAzOSAwIFIgMzkgMCBSIDM5IDAgUiA0MCAwIFIgNDEgMCBSIDQxIDAgUiA0MSAwIFIgNDIgMCBSIDQzIDAgUiA0MyAwIFIgNDMgMCBSIDQ0IDAgUiA0NSAwIFIgNDYgMCBSIDQ2IDAgUiA0NiAwIFIgNDcgMCBSIDQ4IDAgUiA0OCAwIFIgNDggMCBSIDQ5IDAgUiA1MCAwIFIgNTAgMCBSIDUwIDAgUiA1MSAwIFIgNTIgMCBSIDUzIDAgUiA1MyAwIFIgNTMgMCBSIDU0IDAgUiA1NSAwIFIgNTUgMCBSIDU1IDAgUiA1NiAwIFIgNTcgMCBSIDU3IDAgUiA1NyAwIFIgNTggMCBSIDU5IDAgUiA2MCAwIFIgNjAgMCBSIDYwIDAgUiA2MSAwIFIgNjIgMCBSIDYyIDAgUiA2MiAwIFIgNjMgMCBSIDY0IDAgUiA2NCAwIFIgNjUgMCBSIDY2IDAgUiA2NyAwIFIgNjcgMCBSIDY3IDAgUiA2OCAwIFIgNjkgMCBSIDY5IDAgUiA2OSAwIFIgNzAgMCBSIDcxIDAgUiA3MSAwIFIgNzEgMCBSIDcxIDAgUiA3MSAwIFIgNzEgMCBSIDcxIDAgUiA3MiAwIFIgMjggMCBSIDI5IDAgUiAzMCAwIFIgNzMgMCBSIDc0IDAgUiA3NCAwIFIgNzQgMCBSIDc1IDAgUiA3NiAwIFIgNzYgMCBSIDc2IDAgUiA3NyAwIFIgNzggMCBSIDc4IDAgUiA3OCAwIFIgNzkgMCBSIDgwIDAgUiA4MSAwIFIgODEgMCBSIDgxIDAgUiA4MiAwIFIgODIgMCBSIDgzIDAgUiA4NCAwIFIgODQgMCBSIDg0IDAgUiA4NSAwIFIgODUgMCBSIDg2IDAgUiA4NyAwIFIgODcgMCBSIDg4IDAgUiA4OCAwIFIgODggMCBSIDg5IDAgUiA5MCAwIFIgOTEgMCBSIDkxIDAgUiA5MSAwIFIgOTIgMCBSIDkzIDAgUiA5MyAwIFIgOTMgMCBSIDk0IDAgUiA5NSAwIFIgOTUgMCBSIDk2IDAgUiA5NyAwIFIgOTggMCBSIDk4IDAgUiA5OCAwIFIgOTkgMCBSIDEwMCAwIFIgMTAwIDAgUiAxMDAgMCBSIDEwMSAwIFIgMTAyIDAgUiAxMDIgMCBSIDEwMiAwIFIgMTAzIDAgUiAzMiAwIFIgMzMgMCBSIDM0IDAgUiAzNSAwIFIgMzYgMCBSIDM3IDAgUl0KZW5kb2JqIAoyMiAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDE5IDAgUgovSyBbMV0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAoyMyAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDE5IDAgUgovSyBbMl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAoyNCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDE5IDAgUgovSyBbM10KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAoyNSAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDE5IDAgUgovSyBbNF0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAoyNiAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDE5IDAgUgovSyBbNV0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAoyNyAwIG9iaiAKPDwKL1AgMTkgMCBSCi9LIFsxMDQgMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVGFibGUKPj4KZW5kb2JqIAoxMDQgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAyNyAwIFIKL0sgWzEwNSAwIFIgMTA2IDAgUiAxMDcgMCBSIDEwOCAwIFIgMTA5IDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RCb2R5Cj4+CmVuZG9iaiAKMTA1IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTA0IDAgUgovSyBbNDQgMCBSIDExMCAwIFIgMTExIDAgUiAxMTIgMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVFIKPj4KZW5kb2JqIAo0NCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEwNSAwIFIKL0sgMTgKL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1NwYW4KPj4KZW5kb2JqIAoxMTAgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMDUgMCBSCi9LIFszOCAwIFIgMzkgMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVEQKPj4KZW5kb2JqIAozOCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDExMCAwIFIKL0sgNgovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjM5IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTEwIDAgUgovSyBbNyA4IDldCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMTExIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTA1IDAgUgovSyBbNDAgMCBSIDQxIDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RECj4+CmVuZG9iaiAKNDAgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMTEgMCBSCi9LIDEwCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9TcGFuCj4+CmVuZG9iaiAKNDEgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMTEgMCBSCi9LIFsxMSAxMiAxM10KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAoxMTIgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMDUgMCBSCi9LIFs0MiAwIFIgNDMgMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVEQKPj4KZW5kb2JqIAo0MiAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDExMiAwIFIKL0sgMTQKL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1NwYW4KPj4KZW5kb2JqIAo0MyAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDExMiAwIFIKL0sgWzE1IDE2IDE3XQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjEwNiAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEwNCAwIFIKL0sgWzUxIDAgUiAxMTMgMCBSIDExNCAwIFIgMTE1IDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RSCj4+CmVuZG9iaiAKNTEgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMDYgMCBSCi9LIDMxCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9TcGFuCj4+CmVuZG9iaiAKMTEzIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTA2IDAgUgovSyBbNDUgMCBSIDQ2IDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RECj4+CmVuZG9iaiAKNDUgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMTMgMCBSCi9LIDE5Ci9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9TcGFuCj4+CmVuZG9iaiAKNDYgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMTMgMCBSCi9LIFsyMCAyMSAyMl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAoxMTQgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMDYgMCBSCi9LIFs0NyAwIFIgNDggMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVEQKPj4KZW5kb2JqIAo0NyAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDExNCAwIFIKL0sgMjMKL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1NwYW4KPj4KZW5kb2JqIAo0OCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDExNCAwIFIKL0sgWzI0IDI1IDI2XQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjExNSAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEwNiAwIFIKL0sgWzQ5IDAgUiA1MCAwIFJdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9URAo+PgplbmRvYmogCjQ5IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTE1IDAgUgovSyAyNwovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjUwIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTE1IDAgUgovSyBbMjggMjkgMzBdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMTA3IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTA0IDAgUgovSyBbNTggMCBSIDExNiAwIFIgMTE3IDAgUiAxMTggMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVFIKPj4KZW5kb2JqIAo1OCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEwNyAwIFIKL0sgNDQKL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1NwYW4KPj4KZW5kb2JqIAoxMTYgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMDcgMCBSCi9LIFs1MiAwIFIgNTMgMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVEQKPj4KZW5kb2JqIAo1MiAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDExNiAwIFIKL0sgMzIKL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1NwYW4KPj4KZW5kb2JqIAo1MyAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDExNiAwIFIKL0sgWzMzIDM0IDM1XQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjExNyAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEwNyAwIFIKL0sgWzU0IDAgUiA1NSAwIFJdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9URAo+PgplbmRvYmogCjU0IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTE3IDAgUgovSyAzNgovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjU1IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTE3IDAgUgovSyBbMzcgMzggMzldCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMTE4IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTA3IDAgUgovSyBbNTYgMCBSIDU3IDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RECj4+CmVuZG9iaiAKNTYgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMTggMCBSCi9LIDQwCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9TcGFuCj4+CmVuZG9iaiAKNTcgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMTggMCBSCi9LIFs0MSA0MiA0M10KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAoxMDggMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMDQgMCBSCi9LIFs2NSAwIFIgMTE5IDAgUiAxMjAgMCBSIDEyMSAwIFJdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9UUgo+PgplbmRvYmogCjY1IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTA4IDAgUgovSyA1NgovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjExOSAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEwOCAwIFIKL0sgWzU5IDAgUiA2MCAwIFJdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9URAo+PgplbmRvYmogCjU5IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTE5IDAgUgovSyA0NQovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjYwIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTE5IDAgUgovSyBbNDYgNDcgNDhdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMTIwIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTA4IDAgUgovSyBbNjEgMCBSIDYyIDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RECj4+CmVuZG9iaiAKNjEgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMjAgMCBSCi9LIDQ5Ci9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9TcGFuCj4+CmVuZG9iaiAKNjIgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMjAgMCBSCi9LIFs1MCA1MSA1Ml0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAoxMjEgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMDggMCBSCi9LIFs2MyAwIFIgNjQgMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVEQKPj4KZW5kb2JqIAo2MyAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEyMSAwIFIKL0sgNTMKL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1NwYW4KPj4KZW5kb2JqIAo2NCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEyMSAwIFIKL0sgWzU0IDU1XQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjEwOSAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEwNCAwIFIKL0sgWzcyIDAgUiAxMjIgMCBSIDEyMyAwIFIgMTI0IDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RSCj4+CmVuZG9iaiAKNzIgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMDkgMCBSCi9LIDczCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9TcGFuCj4+CmVuZG9iaiAKMTIyIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTA5IDAgUgovSyBbNjYgMCBSIDY3IDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RECj4+CmVuZG9iaiAKNjYgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMjIgMCBSCi9LIDU3Ci9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9TcGFuCj4+CmVuZG9iaiAKNjcgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMjIgMCBSCi9LIFs1OCA1OSA2MF0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAoxMjMgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMDkgMCBSCi9LIFs2OCAwIFIgNjkgMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVEQKPj4KZW5kb2JqIAo2OCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEyMyAwIFIKL0sgNjEKL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1NwYW4KPj4KZW5kb2JqIAo2OSAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEyMyAwIFIKL0sgWzYyIDYzIDY0XQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjEyNCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEwOSAwIFIKL0sgWzcwIDAgUiA3MSAwIFJdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9URAo+PgplbmRvYmogCjcwIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTI0IDAgUgovSyA2NQovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjcxIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTI0IDAgUgovSyBbNjYgNjcgNjggNjkgNzAgNzEgNzJdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMjggMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxOSAwIFIKL0sgWzc0XQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjI5IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTkgMCBSCi9LIFs3NV0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAozMCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDE5IDAgUgovSyBbNzZdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMzEgMCBvYmogCjw8Ci9QIDE5IDAgUgovSyBbMTI1IDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RhYmxlCj4+CmVuZG9iaiAKMTI1IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMzEgMCBSCi9LIFsxMjYgMCBSIDEyNyAwIFIgMTI4IDAgUiAxMjkgMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVEJvZHkKPj4KZW5kb2JqIAoxMjYgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMjUgMCBSCi9LIFs3OSAwIFIgMTMwIDAgUiAxMzEgMCBSIDEzMiAwIFJdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9UUgo+PgplbmRvYmogCjc5IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTI2IDAgUgovSyA4OQovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjEzMCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEyNiAwIFIKL0sgWzczIDAgUiA3NCAwIFJdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9URAo+PgplbmRvYmogCjczIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTMwIDAgUgovSyA3NwovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjc0IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTMwIDAgUgovSyBbNzggNzkgODBdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMTMxIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTI2IDAgUgovSyBbNzUgMCBSIDc2IDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RECj4+CmVuZG9iaiAKNzUgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMzEgMCBSCi9LIDgxCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9TcGFuCj4+CmVuZG9iaiAKNzYgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMzEgMCBSCi9LIFs4MiA4MyA4NF0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAoxMzIgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMjYgMCBSCi9LIFs3NyAwIFIgNzggMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVEQKPj4KZW5kb2JqIAo3NyAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEzMiAwIFIKL0sgODUKL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1NwYW4KPj4KZW5kb2JqIAo3OCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEzMiAwIFIKL0sgWzg2IDg3IDg4XQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjEyNyAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEyNSAwIFIKL0sgWzg5IDAgUiAxMzMgMCBSIDEzNCAwIFIgMTM1IDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RSCj4+CmVuZG9iaiAKODkgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMjcgMCBSCi9LIDEwOAovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjEzMyAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEyNyAwIFIKL0sgWzgwIDAgUiA4MSAwIFIgODIgMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVEQKPj4KZW5kb2JqIAo4MCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEzMyAwIFIKL0sgOTAKL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1NwYW4KPj4KZW5kb2JqIAo4MSAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEzMyAwIFIKL0sgWzkxIDkyIDkzXQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjgyIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTMzIDAgUgovSyBbOTQgOTVdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMTM0IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTI3IDAgUgovSyBbODMgMCBSIDg0IDAgUiA4NSAwIFJdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9URAo+PgplbmRvYmogCjgzIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTM0IDAgUgovSyA5NgovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjg0IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTM0IDAgUgovSyBbOTcgOTggOTldCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKODUgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMzQgMCBSCi9LIFsxMDAgMTAxXQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjEzNSAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEyNyAwIFIKL0sgWzg2IDAgUiA4NyAwIFIgODggMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVEQKPj4KZW5kb2JqIAo4NiAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEzNSAwIFIKL0sgMTAyCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9TcGFuCj4+CmVuZG9iaiAKODcgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMzUgMCBSCi9LIFsxMDMgMTA0XQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjg4IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTM1IDAgUgovSyBbMTA1IDEwNiAxMDddCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMTI4IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTI1IDAgUgovSyBbOTYgMCBSIDEzNiAwIFIgMTM3IDAgUiAxMzggMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVFIKPj4KZW5kb2JqIAo5NiAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEyOCAwIFIKL0sgMTIwCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9TcGFuCj4+CmVuZG9iaiAKMTM2IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTI4IDAgUgovSyBbOTAgMCBSIDkxIDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RECj4+CmVuZG9iaiAKOTAgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMzYgMCBSCi9LIDEwOQovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjkxIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTM2IDAgUgovSyBbMTEwIDExMSAxMTJdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMTM3IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTI4IDAgUgovSyBbOTIgMCBSIDkzIDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RECj4+CmVuZG9iaiAKOTIgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMzcgMCBSCi9LIDExMwovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjkzIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTM3IDAgUgovSyBbMTE0IDExNSAxMTZdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMTM4IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTI4IDAgUgovSyBbOTQgMCBSIDk1IDAgUl0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1RECj4+CmVuZG9iaiAKOTQgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMzggMCBSCi9LIDExNwovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjk1IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTM4IDAgUgovSyBbMTE4IDExOV0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAoxMjkgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMjUgMCBSCi9LIFsxMDMgMCBSIDEzOSAwIFIgMTQwIDAgUiAxNDEgMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVFIKPj4KZW5kb2JqIAoxMDMgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxMjkgMCBSCi9LIDEzMwovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjEzOSAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEyOSAwIFIKL0sgWzk3IDAgUiA5OCAwIFJdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9URAo+PgplbmRvYmogCjk3IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTM5IDAgUgovSyAxMjEKL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1NwYW4KPj4KZW5kb2JqIAo5OCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEzOSAwIFIKL0sgWzEyMiAxMjMgMTI0XQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjE0MCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDEyOSAwIFIKL0sgWzk5IDAgUiAxMDAgMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVEQKPj4KZW5kb2JqIAo5OSAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDE0MCAwIFIKL0sgMTI1Ci9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9TcGFuCj4+CmVuZG9iaiAKMTAwIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTQwIDAgUgovSyBbMTI2IDEyNyAxMjhdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMTQxIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTI5IDAgUgovSyBbMTAxIDAgUiAxMDIgMCBSXQovVHlwZSAvU3RydWN0RWxlbQovUyAvVEQKPj4KZW5kb2JqIAoxMDEgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxNDEgMCBSCi9LIDEyOQovVHlwZSAvU3RydWN0RWxlbQovUyAvU3Bhbgo+PgplbmRvYmogCjEwMiAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDE0MSAwIFIKL0sgWzEzMCAxMzEgMTMyXQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjMyIDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTkgMCBSCi9LIFsxMzRdCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMzMgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxOSAwIFIKL0sgWzEzNV0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAozNCAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDE5IDAgUgovSyBbMTM2XQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjM1IDAgb2JqIAo8PAovUGcgNCAwIFIKL1AgMTkgMCBSCi9LIFsxMzddCi9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9QCj4+CmVuZG9iaiAKMzYgMCBvYmogCjw8Ci9QZyA0IDAgUgovUCAxOSAwIFIKL0sgWzEzOF0KL1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKPj4KZW5kb2JqIAozNyAwIG9iaiAKPDwKL1BnIDQgMCBSCi9QIDE5IDAgUgovSyBbMTM5XQovVHlwZSAvU3RydWN0RWxlbQovUyAvUAo+PgplbmRvYmogCjEyIDAgb2JqIFsyNzggMCAwIDAgMCAwIDAgMCAzMzMgMzMzIDAgMCAyNzggMzMzIDI3OCAyNzggNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgNTU2IDU1NiAwIDU1NiAyNzggMCAwIDU4NCAwIDAgMCA2NjcgNjY3IDcyMiA3MjIgNjY3IDYxMSA3NzggMCAyNzggNTAwIDY2NyA1NTYgODMzIDcyMiA3NzggNjY3IDAgNzIyIDY2NyA2MTEgMCA2NjcgOTQ0IDAgMCAwIDAgMCAwIDAgMCAwIDU1NiA1NTYgNTAwIDU1NiA1NTYgMjc4IDU1NiA1NTYgMjIyIDIyMiA1MDAgMjIyIDgzMyA1NTYgNTU2IDU1NiAwIDMzMyA1MDAgMjc4IDU1NiA1MDAgNzIyIDAgNTAwIDUwMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNTU2XQplbmRvYmogCjE0IDAgb2JqIFsyNTAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAyNTAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDU2NCAwIDAgOTIxIDcyMiA2NjcgNjY3IDcyMiA2MTEgMCA3MjIgNzIyIDMzMyAzODkgMCA2MTEgODg5IDcyMiA3MjIgNTU2IDAgNjY3IDU1NiA2MTEgNzIyIDAgMCAwIDcyMiAwIDMzMyAwIDMzMyAwIDAgMCA0NDQgMCA0NDQgNTAwIDQ0NCAwIDUwMCA1MDAgMjc4IDAgMCAwIDc3OCA1MDAgNTAwIDAgMCAzMzMgMzg5IDI3OCAwIDUwMF0KZW5kb2JqIAoxNiAwIG9iaiBbMjc4IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNjExIDAgMCAwIDAgMCA2MTEgODMzIDAgMCAwIDAgMCAwIDAgMCAwIDk0NCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNTU2IDYxMSA1NTYgMCA2MTEgNjExIDI3OCAyNzggNTU2IDI3OCA4ODkgNjExIDYxMSAwIDAgMzg5IDU1NiAzMzMgNjExIDU1Nl0KZW5kb2JqIAoxNDIgMCBvYmogCjw8Ci9SIDMKL1AgLTE4NTIKL08gKHWrmG5uxFnOITeqbmFcXKCuAnccw/R2+L2kqV1cdIhccvhnKQovRmlsdGVyIC9TdGFuZGFyZAovTGVuZ3RoIDEyOAovViAyCi9VICjBoRwhoaepIwH58NjqHiuxAAAAAAAAAAAAAAAAAAAAACkKPj4KZW5kb2JqIAoxNDMgMCBvYmogCjw8Ci9DcmVhdG9yIChu2Jq6Z1V5b+BBXGaHSmy4WVtcKPLG/VxiWSJhmWXjFdaS8LpMBMBcKSRK7mziKQovVGl0bGUgKNtV84MOTxpkhRNqnSR8zF8+Y9LXk4Y0bQarXHTlf8/68d5cdGrSRX0grBjuKQovQXV0aG9yICjVVfOcKQovUHJvZHVjZXIgKG7YmrpnVXlv4EFcZodKbLhZW1wo8sb9XGJZImGZZeMV1pLwukwEwFwpJErubOIpCi9Nb2REYXRlICjUHajHVQ5JP9EEPdl4LYgPcH7Dlc2WfikKL0NyZWF0aW9uRGF0ZSAo1B2ox1UOST/RBD3ZeC2ID3B+w5XNln4pCj4+CmVuZG9iaiB4cmVmCjAgMTQ0CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDAxNSAwMDAwMCBuIAowMDAwMDAwMTMyIDAwMDAwIG4gCjAwMDAwMDU4ODkgMDAwMDAgbiAKMDAwMDAwMDE5MSAwMDAwMCBuIAowMDAwMDA0OTY1IDAwMDAwIG4gCjAwMDAwMDQ5MDcgMDAwMDAgbiAKMDAwMDAwNTAyMyAwMDAwMCBuIAowMDAwMDA0NDg5IDAwMDAwIG4gCjAwMDAwMDU0NjEgMDAwMDAgbiAKMDAwMDAwMDUxOSAwMDAwMCBuIAowMDAwMDA0NjY1IDAwMDAwIG4gCjAwMDAwMTc3ODUgMDAwMDAgbiAKMDAwMDAwNTIwOSAwMDAwMCBuIAowMDAwMDE4MzM0IDAwMDAwIG4gCjAwMDAwMDU2NDIgMDAwMDAgbiAKMDAwMDAxODYwNSAwMDAwMCBuIAowMDAwMDA2Mjg4IDAwMDAwIG4gCjAwMDAwMDYwMDIgMDAwMDAgbiAKMDAwMDAwNjMyOSAwMDAwMCBuIAowMDAwMDA2NTg4IDAwMDAwIG4gCjAwMDAwMDY1MTMgMDAwMDAgbiAKMDAwMDAwNzU5NSAwMDAwMCBuIAowMDAwMDA3NjcwIDAwMDAwIG4gCjAwMDAwMDc3NDUgMDAwMDAgbiAKMDAwMDAwNzgyMCAwMDAwMCBuIAowMDAwMDA3ODk1IDAwMDAwIG4gCjAwMDAwMDc5NzAgMDAwMDAgbiAKMDAwMDAxMjg1OCAwMDAwMCBuIAowMDAwMDEyOTM0IDAwMDAwIG4gCjAwMDAwMTMwMTAgMDAwMDAgbiAKMDAwMDAxMzA4NiAwMDAwMCBuIAowMDAwMDE3MzIzIDAwMDAwIG4gCjAwMDAwMTc0MDAgMDAwMDAgbiAKMDAwMDAxNzQ3NyAwMDAwMCBuIAowMDAwMDE3NTU0IDAwMDAwIG4gCjAwMDAwMTc2MzEgMDAwMDAgbiAKMDAwMDAxNzcwOCAwMDAwMCBuIAowMDAwMDA4NDM4IDAwMDAwIG4gCjAwMDAwMDg1MTUgMDAwMDAgbiAKMDAwMDAwODY4NSAwMDAwMCBuIAowMDAwMDA4NzYzIDAwMDAwIG4gCjAwMDAwMDg5MzYgMDAwMDAgbiAKMDAwMDAwOTAxNCAwMDAwMCBuIAowMDAwMDA4MjcwIDAwMDAwIG4gCjAwMDAwMDkzNzIgMDAwMDAgbiAKMDAwMDAwOTQ1MCAwMDAwMCBuIAowMDAwMDA5NjIzIDAwMDAwIG4gCjAwMDAwMDk3MDEgMDAwMDAgbiAKMDAwMDAwOTg3NCAwMDAwMCBuIAowMDAwMDA5OTUyIDAwMDAwIG4gCjAwMDAwMDkyMDQgMDAwMDAgbiAKMDAwMDAxMDMxMCAwMDAwMCBuIAowMDAwMDEwMzg4IDAwMDAwIG4gCjAwMDAwMTA1NjEgMDAwMDAgbiAKMDAwMDAxMDYzOSAwMDAwMCBuIAowMDAwMDEwODEyIDAwMDAwIG4gCjAwMDAwMTA4OTAgMDAwMDAgbiAKMDAwMDAxMDE0MiAwMDAwMCBuIAowMDAwMDExMjQ4IDAwMDAwIG4gCjAwMDAwMTEzMjYgMDAwMDAgbiAKMDAwMDAxMTQ5OSAwMDAwMCBuIAowMDAwMDExNTc3IDAwMDAwIG4gCjAwMDAwMTE3NTAgMDAwMDAgbiAKMDAwMDAxMTgyOCAwMDAwMCBuIAowMDAwMDExMDgwIDAwMDAwIG4gCjAwMDAwMTIxODMgMDAwMDAgbiAKMDAwMDAxMjI2MSAwMDAwMCBuIAowMDAwMDEyNDM0IDAwMDAwIG4gCjAwMDAwMTI1MTIgMDAwMDAgbiAKMDAwMDAxMjY4NSAwMDAwMCBuIAowMDAwMDEyNzYzIDAwMDAwIG4gCjAwMDAwMTIwMTUgMDAwMDAgbiAKMDAwMDAxMzU0NiAwMDAwMCBuIAowMDAwMDEzNjI0IDAwMDAwIG4gCjAwMDAwMTM3OTcgMDAwMDAgbiAKMDAwMDAxMzg3NSAwMDAwMCBuIAowMDAwMDE0MDQ4IDAwMDAwIG4gCjAwMDAwMTQxMjYgMDAwMDAgbiAKMDAwMDAxMzM3OCAwMDAwMCBuIAowMDAwMDE0NDkyIDAwMDAwIG4gCjAwMDAwMTQ1NzAgMDAwMDAgbiAKMDAwMDAxNDY1MyAwMDAwMCBuIAowMDAwMDE0ODMwIDAwMDAwIG4gCjAwMDAwMTQ5MDggMDAwMDAgbiAKMDAwMDAxNDk5MSAwMDAwMCBuIAowMDAwMDE1MTcwIDAwMDAwIG4gCjAwMDAwMTUyNDkgMDAwMDAgbiAKMDAwMDAxNTMzMSAwMDAwMCBuIAowMDAwMDE0MzE2IDAwMDAwIG4gCjAwMDAwMTU2OTMgMDAwMDAgbiAKMDAwMDAxNTc3MiAwMDAwMCBuIAowMDAwMDE1OTQ4IDAwMDAwIG4gCjAwMDAwMTYwMjcgMDAwMDAgbiAKMDAwMDAxNjIwMyAwMDAwMCBuIAowMDAwMDE2MjgyIDAwMDAwIG4gCjAwMDAwMTU1MjQgMDAwMDAgbiAKMDAwMDAxNjY0MiAwMDAwMCBuIAowMDAwMDE2NzIxIDAwMDAwIG4gCjAwMDAwMTY4OTggMDAwMDAgbiAKMDAwMDAxNjk3NyAwMDAwMCBuIAowMDAwMDE3MTU2IDAwMDAwIG4gCjAwMDAwMTcyMzYgMDAwMDAgbiAKMDAwMDAxNjQ3MiAwMDAwMCBuIAowMDAwMDA4MDQ1IDAwMDAwIG4gCjAwMDAwMDgxNjMgMDAwMDAgbiAKMDAwMDAwOTA5NyAwMDAwMCBuIAowMDAwMDEwMDM1IDAwMDAwIG4gCjAwMDAwMTA5NzMgMDAwMDAgbiAKMDAwMDAxMTkwOCAwMDAwMCBuIAowMDAwMDA4MzQ4IDAwMDAwIG4gCjAwMDAwMDg1OTUgMDAwMDAgbiAKMDAwMDAwODg0NiAwMDAwMCBuIAowMDAwMDA5MjgyIDAwMDAwIG4gCjAwMDAwMDk1MzMgMDAwMDAgbiAKMDAwMDAwOTc4NCAwMDAwMCBuIAowMDAwMDEwMjIwIDAwMDAwIG4gCjAwMDAwMTA0NzEgMDAwMDAgbiAKMDAwMDAxMDcyMiAwMDAwMCBuIAowMDAwMDExMTU4IDAwMDAwIG4gCjAwMDAwMTE0MDkgMDAwMDAgbiAKMDAwMDAxMTY2MCAwMDAwMCBuIAowMDAwMDEyMDkzIDAwMDAwIG4gCjAwMDAwMTIzNDQgMDAwMDAgbiAKMDAwMDAxMjU5NSAwMDAwMCBuIAowMDAwMDEzMTYxIDAwMDAwIG4gCjAwMDAwMTMyNzEgMDAwMDAgbiAKMDAwMDAxNDIwOSAwMDAwMCBuIAowMDAwMDE1NDE3IDAwMDAwIG4gCjAwMDAwMTYzNjQgMDAwMDAgbiAKMDAwMDAxMzQ1NiAwMDAwMCBuIAowMDAwMDEzNzA3IDAwMDAwIG4gCjAwMDAwMTM5NTggMDAwMDAgbiAKMDAwMDAxNDM5NSAwMDAwMCBuIAowMDAwMDE0NzMzIDAwMDAwIG4gCjAwMDAwMTUwNzMgMDAwMDAgbiAKMDAwMDAxNTYwMyAwMDAwMCBuIAowMDAwMDE1ODU4IDAwMDAwIG4gCjAwMDAwMTYxMTMgMDAwMDAgbiAKMDAwMDAxNjU1MiAwMDAwMCBuIAowMDAwMDE2ODA3IDAwMDAwIG4gCjAwMDAwMTcwNjQgMDAwMDAgbiAKMDAwMDAxODg0MiAwMDAwMCBuIAowMDAwMDE4OTk1IDAwMDAwIG4gCnRyYWlsZXIKCjw8Ci9FbmNyeXB0IDE0MiAwIFIKL0luZm8gMTQzIDAgUgovUm9vdCAxIDAgUgovU2l6ZSAxNDQKL0lEIFs8OWUzYTM3MzI0ZjhlYjVjMDA0YjFkMGM3NGJhY2U5MjA+PDJhNGVhYjMwYWQ1MDI5MDljZDlmMDBiYjI3YWY0NzY2Pl0KPj4Kc3RhcnR4cmVmCjE5MjgwCiUlRU9GCg==</Datastring>
<Wrknmr>
<IdWrknmr>1945</IdWrknmr>
</Wrknmr>
<Dnstvbnd>
<IdDnstvbnd>252</IdDnstvbnd>
<PersNr>1945</PersNr>
<Vrzm>
<VrzmgvlId>1945 1 1809</VrzmgvlId>
<DatEerstVrzmdg>2022-05-24</DatEerstVrzmdg>
</Vrzm>
</Dnstvbnd>
</Document>
</Documenten>
The File API allows you to download or upload files directly from Youforce, over HTTPS using the tool of your choice.
This API is controlled available and has consumption limitations. See API statuses
Concepts
Concept
Description
File API
Public endpoint to upload/list/download the files. In the request to File API, application id, business type and tenant are being identified. Once the files are uploaded to File API by a publisher application, the authorized subscriber application can list, download and delete the files.
Business Type
The files which are related to the same “business” are functionally grouped in File types called “Business types”. File types are represented by an integer called Business Type Id.
Client Application
Client Applications are the users of the system. They are identified by an application Id. Client Applications are also authorized to tenantId(s).Client application needs to obtain a authentication token by using credentials (client id and client secret).The token includes application id, tenant and permission of the application. Client Applications could be authorized either as publisher or subscriber of a business type.
Publisher
Publisher is a Client Application that can upload files of authorized business types and authorized tenants.
Subscriber
Subscriber is a Client Application that can download/list the files of authorized business types and authorized tenants.
Tenant
HR Core Client. Tenants are represented by tenant ids.
Authentication
We follow current industry standards and best practices. Authentication/authorization is not an exception. As part of the Identity and Access Management Strategy for system-to-system integrations, the File API is based on OAuth 2.0 and the authorization grant Client Credentials. Every API consumer system will be provisioned in our API Gateway as a Client Application (App). Client ID and Client Secret will be provided to be used by Apps as credentials. Thus, Apps will be able then to authenticate and get an access token (JWT) within the response payload. Subsequent requests authorization will be based on that access token previously retrieved.
Tenant Authorization
Client Applications (apps) need to be authorized to the corresponding Tenant (HR Core Client) in order to consume the API. By default, the applications are authorized to TenantId: sandbox.
File Type Authorization
Client applications (apps) need to be authorized as publisher or subscriber of business types
By default,sandbox apps are authorized to the Sandbox File Types.
Supported File Types
The File API has been designed to support a specific set of use cases. This may be extended over time, based on customer feedback. See list of Supported File Types.
Retention Period
The files will be physically deleted from Storage automatically after the retention period expires (1 month).
The metadata of the files (FileName, tenantId , BusinessTypeId, etc) is deleted after 6 months.
Samples
Here is an example of downloading a file using curl, available on most operating systems:
curl.exe https://api.raet.com/mft/v1.0/files/%fileid%?role=subscriber ^ --header "Authorization: Bearer eyJhbGciOiJSUzI1NiIs..." ^ --header "x-raet-tenant-id: 1234567" ^ --header "Accept: application/octet-stream" ^ --output @C:\Youforce\somefile.xml
See complete examples for curl (Batch), Powershell and .Net in Github.
Getting started
See the File API documentation to get started