Your business is unique. Your success is essential.
Back

Bespoke Development & Integration

If you are looking for a flexible partner, that can bridge the gap between your business demands and technology options, KTMG Consulting offers the reassurance of a truly professional organisation.

Our experts will discuss your project requirements and work with you to achieve a successful outcome. We can undertake the whole development project from start to finish, or work on just a niche area of innovation where our unique expertise can prove invaluable.


Business Intelligence

The ability to collect and analyze internal and external data can dictate how well an organization can generate knowledge and ultimately value. KTMG Consulting offers a comprehensive set of Business Intelligence services to help clients harness structured data to improve decision-making, financial management, regulatory compliance and customer service.

Our innovative Business Intelligence (BI) services focus on helping clients collect and analyze external and internal data to generate value for their organizations. Learn about our wide range of solutions and services for harnessing structured data, including the business intelligence/BI diagnostic, data warehousing services, BI sourcing and event monitoring.


Tools for SAP BusinessObjects

Repository Spy for SAP BusinessObjects allows you to easily query the objects and properties stored in the CMS repository.



Server Monitor for SAP BusinessObjects will keep you informed of the overall health of your BusinessObjects servers.


Forward

Welcome

From business strategy development through application deployment, our disciplined yet flexible approach starts and ends with our clients. By listening hard and working harder, their goals become our goals. Their success is our satisfaction. We are committed to helping clients quickly realize measurable business value and achieve sustainable ROI. This is why our clients sleep well at night.

Recent Projects

The strength of our power delivery expertise is evident in the broad scope of recent and current work for diverse clients. We provide comprehensive services and highly specialized problem solving for all types of information technology projects.

Testimonial

KTMG Consulting offers the agility of a smaller firm, but the stability of larger one.

- Opportunity

PHVsPjxsaT48c3Ryb25nPndvb190aGVtZW5hbWU8L3N0cm9uZz4gLSBPdmVyIEVhc3k8L2xpPjxsaT48c3Ryb25nPndvb19zaG9ydG5hbWU8L3N0cm9uZz4gLSB3b288L2xpPjxsaT48c3Ryb25nPndvb19tYW51YWw8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vdGhlbWUtZG9jdW1lbnRhdGlvbi9vdmVyLWVhc3kvPC9saT48bGk+PHN0cm9uZz53b29fYWx0X3N0eWxlc2hlZXQ8L3N0cm9uZz4gLSBpY2V5LmNzczwvbGk+PGxpPjxzdHJvbmc+d29vX2xvZ288L3N0cm9uZz4gLSBodHRwOi8vbG9jYWxob3N0OjgwODAvd3BrdG1nL3dwLWNvbnRlbnQvd29vX3VwbG9hZHMvMy1Mb2dvLnBuZzwvbGk+PGxpPjxzdHJvbmc+d29vX2N1c3RvbV9mYXZpY29uPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fZ29vZ2xlX2FuYWx5dGljczwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2ZlZWRidXJuZXJfdXJsPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fY3VzdG9tX2Nzczwvc3Ryb25nPiAtIEg0IHsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZDsNCiAgcGFkZGluZzogN3B4Ow0KfTwvbGk+PGxpPjxzdHJvbmc+d29vX21lbnVwYWdlczwvc3Ryb25nPiAtIDE0LDIwLDIyLDY2LDY4LDcwLDkxLDkzPC9saT48bGk+PHN0cm9uZz53b29faW50cm88L3N0cm9uZz4gLSBZb3VyIGJ1c2luZXNzIGlzIHVuaXF1ZS4gWW91ciBzdWNjZXNzIGlzIGVzc2VudGlhbC48L2xpPjxsaT48c3Ryb25nPndvb19mZWF0cGFnZXM8L3N0cm9uZz4gLSAzMywzNSwzNzwvbGk+PGxpPjxzdHJvbmc+d29vX2V4X2ZlYXRwYWdlczwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19mZWF0aGVpZ2h0PC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fYWRkYmxvZzwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fYmxvZ2NhdDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2NhdG1lbnU8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2Jsb2dfY2F0X2lkPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fdGhlX2NvbnRlbnQ8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fcmVzaXplPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX2F1dG9faW1nPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19pbWFnZV93aWR0aDwvc3Ryb25nPiAtIDM5MDwvbGk+PGxpPjxzdHJvbmc+d29vX2ltYWdlX2hlaWdodDwvc3Ryb25nPiAtIDI1MDwvbGk+PGxpPjxzdHJvbmc+d29vX2Fkc19yb3RhdGU8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfMTwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTEyNXgxMjUtMS5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfMTwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzI8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy0xMjV4MTI1LTIuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzI8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hZF9pbWFnZV8zPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy93b290aGVtZXMtMTI1eDEyNS0zLmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF8zPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfNDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTEyNXgxMjUtNC5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfNDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2ZyYW1ld29ya192ZXJzaW9uPC9zdHJvbmc+IC0gMi43LjIyPC9saT48bGk+PHN0cm9uZz53b29fb3B0aW9uczwvc3Ryb25nPiAtIGE6NDk6e3M6MTg6Indvb19hbHRfc3R5bGVzaGVldCI7czo4OiJpY2V5LmNzcyI7czo4OiJ3b29fbG9nbyI7czowOiIiO3M6MTM6Indvb190ZXh0dGl0bGUiO3M6NDoidHJ1ZSI7czoxODoid29vX2N1c3RvbV9mYXZpY29uIjtzOjA6IiI7czoyMDoid29vX2dvb2dsZV9hbmFseXRpY3MiO3M6MDoiIjtzOjEyOiJ3b29fZmVlZF91cmwiO3M6MDoiIjtzOjE5OiJ3b29fc3Vic2NyaWJlX2VtYWlsIjtzOjA6IiI7czoyMToid29vX2NvbnRhY3Rmb3JtX2VtYWlsIjtzOjA6IiI7czo4OiJ3b29fZGF0ZSI7czo3OiJkLiBNLCBZIjtzOjE0OiJ3b29fY3VzdG9tX2NzcyI7czowOiIiO3M6MTI6Indvb19jb21tZW50cyI7TjtzOjIxOiJ3b29fcG9zdF9jb250ZW50X2hvbWUiO3M6NToiZmFsc2UiO3M6MjU6Indvb19wb3N0X2NvbnRlbnRfYXJjaGl2ZXMiO3M6NToiZmFsc2UiO3M6MjA6Indvb19mZWF0dXJlZF9oZWFkaW5nIjtzOjE0OiJGZWF0dXJlZCBQb3N0cyI7czoyMToid29vX2ZlYXR1cmVkX2NhdGVnb3J5IjtzOjE4OiJTZWxlY3QgYSBjYXRlZ29yeToiO3M6MTg6Indvb19mZWF0dXJlZF9saW1pdCI7czoxOiIxIjtzOjE5OiJ3b29fdXBkYXRlc19oZWFkaW5nIjtzOjc6IlVwZGF0ZXMiO3M6MTc6Indvb191cGRhdGVzX2xpbWl0IjtzOjE6IjUiO3M6MTY6Indvb19ob21lX2hlYWRpbmciO3M6MjY6IldlbGNvbWUgdG8gS1RNRyBDb25zdWx0aW5nIjtzOjEzOiJ3b29faG9tZV90ZXh0IjtzOjc4OiJBZGQgeW91IHRleHQgaGVyZS4gTGVhdmUgdGhpcyBhbmQgdGhlIGhlYWRpbmcgYmxhbmsgdG8gcmVtb3ZlIHRoaXMgY29tcGxldGVseS4iO3M6MTI6Indvb19uYXZfaG9tZSI7czoyODoiaHR0cDovL2xvY2FsaG9zdDo4MDgwL3dwa3RtZyI7czoxMzoid29vX25hdl9hYm91dCI7czoxOiIjIjtzOjE2OiJ3b29fbmF2X2FyY2hpdmVzIjtzOjE6IiMiO3M6MTc6Indvb19uYXZfc3Vic2NyaWJlIjtzOjE6IiMiO3M6MTU6Indvb19uYXZfY29udGFjdCI7czoxOiIjIjtzOjIyOiJ3b29fcGFnZWhlYWRpbmdfcHJlZml4IjtzOjM6Ii8vICI7czoyMDoid29vX3BhZ2VoZWFkaW5nX2hvbWUiO3M6NDoiaG9tZSI7czoyMToid29vX3BhZ2VoZWFkaW5nX2luZGV4IjtzOjU6ImluZGV4IjtzOjIyOiJ3b29fcGFnZWhlYWRpbmdfc2luZ2xlIjtzOjIzOiJ5b3UmIzgyMTc7cmUgcmVhZGluZy4uLiI7czoyNDoid29vX3BhZ2VoZWFkaW5nX2FyY2hpdmVzIjtzOjg6ImFyY2hpdmVzIjtzOjIyOiJ3b29fcGFnZWhlYWRpbmdfc2VhcmNoIjtzOjExOiJoZXJlIHlvdSBnbyI7czoyMjoid29vX3BhZ2VoZWFkaW5nX2F1dGhvciI7czoxNDoiYXV0aG9yIGFyY2hpdmUiO3M6MTk6Indvb19wYWdlaGVhZGluZ180MDQiO3M6NjoidWggb2ghIjtzOjIyOiJ3b29fcG9zdF9pbWFnZV9zdXBwb3J0IjtzOjU6ImZhbHNlIjtzOjE3OiJ3b29fcGlzX2hhcmRfY3JvcCI7czo1OiJmYWxzZSI7czoxMDoid29vX3Jlc2l6ZSI7czo0OiJ0cnVlIjtzOjEyOiJ3b29fYXV0b19pbWciO3M6NToiZmFsc2UiO3M6MTE6Indvb190aHVtYl93IjtpOjEwMDtzOjExOiJ3b29fdGh1bWJfaCI7aToxMDA7czoxNToid29vX3RodW1iX2FsaWduIjtzOjk6ImFsaWdubGVmdCI7czoxNjoid29vX3RodW1iX3NpbmdsZSI7czo1OiJmYWxzZSI7czoxMjoid29vX3NpbmdsZV93IjtpOjIwMDtzOjEyOiJ3b29fc2luZ2xlX2giO2k6MjAwO3M6MTM6Indvb19yc3NfdGh1bWIiO3M6NToiZmFsc2UiO3M6MTk6Indvb19mb290ZXJfYWZmX2xpbmsiO3M6MDoiIjtzOjE1OiJ3b29fZm9vdGVyX2xlZnQiO3M6NToiZmFsc2UiO3M6MjA6Indvb19mb290ZXJfbGVmdF90ZXh0IjtzOjc6IjxwPjwvcD4iO3M6MTY6Indvb19mb290ZXJfcmlnaHQiO3M6NToiZmFsc2UiO3M6MjE6Indvb19mb290ZXJfcmlnaHRfdGV4dCI7czo3OiI8cD48L3A+Ijt9PC9saT48bGk+PHN0cm9uZz53b29fdGV4dHRpdGxlPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX2ZlZWRfdXJsPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fc3Vic2NyaWJlX2VtYWlsPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fY29udGFjdGZvcm1fZW1haWw8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19kYXRlPC9zdHJvbmc+IC0gZC4gTSwgWTwvbGk+PGxpPjxzdHJvbmc+d29vX2NvbW1lbnRzPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fcG9zdF9jb250ZW50X2hvbWU8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX3Bvc3RfY29udGVudF9hcmNoaXZlczwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fZmVhdHVyZWRfaGVhZGluZzwvc3Ryb25nPiAtIEZlYXR1cmVkIFBvc3RzPC9saT48bGk+PHN0cm9uZz53b29fZmVhdHVyZWRfY2F0ZWdvcnk8L3N0cm9uZz4gLSBTZWxlY3QgYSBjYXRlZ29yeTo8L2xpPjxsaT48c3Ryb25nPndvb19mZWF0dXJlZF9saW1pdDwvc3Ryb25nPiAtIDE8L2xpPjxsaT48c3Ryb25nPndvb191cGRhdGVzX2hlYWRpbmc8L3N0cm9uZz4gLSBVcGRhdGVzPC9saT48bGk+PHN0cm9uZz53b29fdXBkYXRlc19saW1pdDwvc3Ryb25nPiAtIDU8L2xpPjxsaT48c3Ryb25nPndvb19ob21lX2hlYWRpbmc8L3N0cm9uZz4gLSBXZWxjb21lIHRvIEtUTUcgQ29uc3VsdGluZzwvbGk+PGxpPjxzdHJvbmc+d29vX2hvbWVfdGV4dDwvc3Ryb25nPiAtIEFkZCB5b3UgdGV4dCBoZXJlLiBMZWF2ZSB0aGlzIGFuZCB0aGUgaGVhZGluZyBibGFuayB0byByZW1vdmUgdGhpcyBjb21wbGV0ZWx5LjwvbGk+PGxpPjxzdHJvbmc+d29vX25hdl9ob21lPC9zdHJvbmc+IC0gaHR0cDovL2xvY2FsaG9zdDo4MDgwL3dwa3RtZzwvbGk+PGxpPjxzdHJvbmc+d29vX25hdl9hYm91dDwvc3Ryb25nPiAtICM8L2xpPjxsaT48c3Ryb25nPndvb19uYXZfYXJjaGl2ZXM8L3N0cm9uZz4gLSAjPC9saT48bGk+PHN0cm9uZz53b29fbmF2X3N1YnNjcmliZTwvc3Ryb25nPiAtICM8L2xpPjxsaT48c3Ryb25nPndvb19uYXZfY29udGFjdDwvc3Ryb25nPiAtICM8L2xpPjxsaT48c3Ryb25nPndvb19wYWdlaGVhZGluZ19wcmVmaXg8L3N0cm9uZz4gLSAvLyA8L2xpPjxsaT48c3Ryb25nPndvb19wYWdlaGVhZGluZ19ob21lPC9zdHJvbmc+IC0gaG9tZTwvbGk+PGxpPjxzdHJvbmc+d29vX3BhZ2VoZWFkaW5nX2luZGV4PC9zdHJvbmc+IC0gaW5kZXg8L2xpPjxsaT48c3Ryb25nPndvb19wYWdlaGVhZGluZ19zaW5nbGU8L3N0cm9uZz4gLSB5b3UmIzgyMTc7cmUgcmVhZGluZy4uLjwvbGk+PGxpPjxzdHJvbmc+d29vX3BhZ2VoZWFkaW5nX2FyY2hpdmVzPC9zdHJvbmc+IC0gYXJjaGl2ZXM8L2xpPjxsaT48c3Ryb25nPndvb19wYWdlaGVhZGluZ19zZWFyY2g8L3N0cm9uZz4gLSBoZXJlIHlvdSBnbzwvbGk+PGxpPjxzdHJvbmc+d29vX3BhZ2VoZWFkaW5nX2F1dGhvcjwvc3Ryb25nPiAtIGF1dGhvciBhcmNoaXZlPC9saT48bGk+PHN0cm9uZz53b29fcGFnZWhlYWRpbmdfNDA0PC9zdHJvbmc+IC0gdWggb2ghPC9saT48bGk+PHN0cm9uZz53b29fcG9zdF9pbWFnZV9zdXBwb3J0PC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19waXNfaGFyZF9jcm9wPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb190aHVtYl93PC9zdHJvbmc+IC0gMTAwPC9saT48bGk+PHN0cm9uZz53b29fdGh1bWJfaDwvc3Ryb25nPiAtIDEwMDwvbGk+PGxpPjxzdHJvbmc+d29vX3RodW1iX2FsaWduPC9zdHJvbmc+IC0gYWxpZ25sZWZ0PC9saT48bGk+PHN0cm9uZz53b29fdGh1bWJfc2luZ2xlPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19zaW5nbGVfdzwvc3Ryb25nPiAtIDIwMDwvbGk+PGxpPjxzdHJvbmc+d29vX3NpbmdsZV9oPC9zdHJvbmc+IC0gMjAwPC9saT48bGk+PHN0cm9uZz53b29fcnNzX3RodW1iPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19mb290ZXJfYWZmX2xpbms8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19mb290ZXJfbGVmdDwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fZm9vdGVyX2xlZnRfdGV4dDwvc3Ryb25nPiAtIDxwPjwvcD48L2xpPjxsaT48c3Ryb25nPndvb19mb290ZXJfcmlnaHQ8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2Zvb3Rlcl9yaWdodF90ZXh0PC9zdHJvbmc+IC0gPHA+PC9wPjwvbGk+PGxpPjxzdHJvbmc+d29vX3NldHRpbmdzX2N1c3RvbV9uYXZfYWR2YW5jZWRfb3B0aW9uczwvc3Ryb25nPiAtIHllczwvbGk+PGxpPjxzdHJvbmc+d29vX2N1c3RvbV9zZW9fdGVtcGxhdGU8L3N0cm9uZz4gLSBhOjQ6e2k6MDthOjU6e3M6NDoibmFtZSI7czoxMDoic2VvX2ZvbGxvdyI7czozOiJzdGQiO3M6NToiZmFsc2UiO3M6NToibGFiZWwiO3M6MjE6IlNFTyAtIFJlbW92ZSBOb2ZvbGxvdyI7czo0OiJ0eXBlIjtzOjg6ImNoZWNrYm94IjtzOjQ6ImRlc2MiO3M6NTk6Ik1ha2UgbGluayBmcm9tIHRoaXMgcG9zdC9wYWdlIGZvbGxvd2FibGUgYnkgc2VhcmNoIGVuZ2luZXMuIjt9aToxO2E6NTp7czo0OiJuYW1lIjtzOjk6InNlb190aXRsZSI7czozOiJzdGQiO3M6MDoiIjtzOjU6ImxhYmVsIjtzOjIzOiJTRU8gLSBDdXN0b20gUGFnZSBUaXRsZSI7czo0OiJ0eXBlIjtzOjQ6InRleHQiO3M6NDoiZGVzYyI7czozODoiQWRkIGEgY3VzdG9tIHRpdGxlIGZvciB0aGlzIHBvc3QvcGFnZS4iO31pOjI7YTo1OntzOjQ6Im5hbWUiO3M6MTU6InNlb19kZXNjcmlwdGlvbiI7czozOiJzdGQiO3M6MDoiIjtzOjU6ImxhYmVsIjtzOjI0OiJTRU8gLSBDdXN0b20gRGVzY3JpcHRpb24iO3M6NDoidHlwZSI7czo4OiJ0ZXh0YXJlYSI7czo0OiJkZXNjIjtzOjQ5OiJBZGQgYSBjdXN0b20gbWV0YSBkZXNjcmlwdGlvbiBmb3IgdGhpcyBwb3N0L3BhZ2UuIjt9aTozO2E6NTp7czo0OiJuYW1lIjtzOjEyOiJzZW9fa2V5d29yZHMiO3M6Mzoic3RkIjtzOjA6IiI7czo1OiJsYWJlbCI7czoyMToiU0VPIC0gQ3VzdG9tIEtleXdvcmRzIjtzOjQ6InR5cGUiO3M6NDoidGV4dCI7czo0OiJkZXNjIjtzOjY0OiJBZGQgYSBjdXN0b20gbWV0YSBrZXl3b3JkcyBmb3IgdGhpcyBwb3N0L3BhZ2UuIChjb21tYSBzZXBlcmF0ZWQpIjt9fTwvbGk+PGxpPjxzdHJvbmc+d29vX2ZyYW1ld29ya190ZW1wbGF0ZTwvc3Ryb25nPiAtIGE6MTM6e2k6MDthOjI6e3M6NDoibmFtZSI7czoxNzoiRnJhbWV3b3JrIE9wdGlvbnMiO3M6NDoidHlwZSI7czo3OiJoZWFkaW5nIjt9aToxO2E6NTp7czo0OiJuYW1lIjtzOjM0OiJEaXNhYmxlIG9wdGlvbnMgcGFuZWwgb3VwdXQgb3B0aW9uIjtzOjQ6ImRlc2MiO3M6MTIxOiJEaXNhYmxlIHRoZSBhYmlsaXR5IHRvIHNob3cgeW91ciBXb28gT3B0aW9ucy4gWW91IGNhbiB2aWV3IHRoZSB0aGVtZXMgb3B0aW9uIGJ5IFVSTCBlLmcuIGh0dHA6Ly95b3Vyc2l0ZS5jb20vP29wdGlvbnM9d29vIjtzOjI6ImlkIjtzOjI2OiJmcmFtZXdvcmtfd29vX3Nob3dfb3B0aW9ucyI7czozOiJzdGQiO3M6MDoiIjtzOjQ6InR5cGUiO3M6ODoiY2hlY2tib3giO31pOjI7YTo1OntzOjQ6Im5hbWUiO3M6MjE6IlRoZW1lIFZlcnNpb24gQ2hlY2tlciI7czo0OiJkZXNjIjtzOjEwMToiVGhpcyB3aWxsIGVuYWJsZSBub3RpY2VzIG9uIHlvdXIgdGhlbWUgb3B0aW9ucyBwYWdlIHRoYXQgdGhlcmUgaXMgYW4gdXBkYXRlIGF2YWlsYWJsZSBmb3IgeW91ciB0aGVtZS4iO3M6MjoiaWQiO3M6MzU6ImZyYW1ld29ya193b29fdGhlbWVfdmVyc2lvbl9jaGVja2VyIjtzOjM6InN0ZCI7czowOiIiO3M6NDoidHlwZSI7czo4OiJjaGVja2JveCI7fWk6MzthOjU6e3M6NDoibmFtZSI7czoyMjoiRGlzYWJsZSBCdXkgVGhlbWVzIFRhYiI7czo0OiJkZXNjIjtzOjExMDoiVGhpcyBkaXNhYmxlcyB0aGUgJ0J1eSBUaGVtZXMnIHRhYi4gVGhpcyBwYWdlIGxpc3RzIHRoZSBsYXRlc3QgYXZhaWxhYmUgdGhlbWVzIGZyb20gdGhlIFdvb1RoZW1lcy5jb20gd2Vic2l0ZS4iO3M6MjoiaWQiO3M6MjQ6ImZyYW1ld29ya193b29fYnV5X3RoZW1lcyI7czozOiJzdGQiO3M6MDoiIjtzOjQ6InR5cGUiO3M6ODoiY2hlY2tib3giO31pOjQ7YTo1OntzOjQ6Im5hbWUiO3M6NTI6IkZyYW1ld29yayBDb3JlIFVwZGF0ZSAoT25seSBmb3IgZnJhbWV3b3JrIFYuMi43LjAgKykiO3M6NDoiZGVzYyI7czoxNDA6IjxzdHJvbmc+QkVUQTo8L3N0cm9uZz4gVGhpcyBvcHRpb24gd2lsbCBhY3RpdmUgdGhlIFdvb0ZyYW1ld29yayBDb3JlIFVwZGF0ZS4gSW50ZW5kZWQgb25seSBmb3IgYmV0YSB0ZXN0ZXJzIGFuZCBhZHZhbmNlZCB1c2VycyBhdCB0aGlzIHRpbWUuIjtzOjI6ImlkIjtzOjMwOiJmcmFtZXdvcmtfd29vX2ZyYW1ld29ya191cGRhdGUiO3M6Mzoic3RkIjtzOjA6IiI7czo0OiJ0eXBlIjtzOjg6ImNoZWNrYm94Ijt9aTo1O2E6Njp7czo0OiJuYW1lIjtzOjEzOiJTdXBlciBVc2VyIElEIjtzOjQ6ImRlc2MiO3M6MTgxOiJBZGQgdGhlIFVzZXIgSUQgdG8gdGhpcyBmaWVsZCB0byBoaWRlIHRoZSBGcmFtZXdvcmsgU2V0dGluZ3MgcGFuZWwgZnJvbSBvdGhlciB1c2Vycy4gQ2FuIGJlIHJlc2V0IGZyb20gdGhlIDxjb2RlPndwLWFkbWluL29wdGlvbnMucGhwPC9jb2RlPiB1bmRlciA8ZW0+ZnJhbWV3b3JrX3dvb19zdXBlcl91c2VyPC9lbT4uIjtzOjI6ImlkIjtzOjI0OiJmcmFtZXdvcmtfd29vX3N1cGVyX3VzZXIiO3M6Mzoic3RkIjtzOjA6IiI7czo1OiJjbGFzcyI7czo0OiJtaW5pIjtzOjQ6InR5cGUiO3M6NDoidGV4dCI7fWk6NjthOjI6e3M6NDoibmFtZSI7czo4OiJCcmFuZGluZyI7czo0OiJ0eXBlIjtzOjc6ImhlYWRpbmciO31pOjc7YTo1OntzOjQ6Im5hbWUiO3M6MjA6Ik9wdGlvbnMgcGFuZWwgaGVhZGVyIjtzOjQ6ImRlc2MiO3M6NTA6IkNoYW5nZSB0aGUgaGVhZGVyIGltYWdlIGZvciB0aGUgV29vVGhlbWVzIEJhY2tlbmQuIjtzOjI6ImlkIjtzOjM0OiJmcmFtZXdvcmtfd29vX2JhY2tlbmRfaGVhZGVyX2ltYWdlIjtzOjM6InN0ZCI7czowOiIiO3M6NDoidHlwZSI7czo2OiJ1cGxvYWQiO31pOjg7YTo1OntzOjQ6Im5hbWUiO3M6MTg6Ik9wdGlvbnMgcGFuZWwgaWNvbiI7czo0OiJkZXNjIjtzOjU2OiJDaGFuZ2UgdGhlIGljb24gaW1hZ2UgZm9yIHRoZSBXb3JkcHJlc3MgYmFja2VuZCBzaWRlYmFyLiI7czoyOiJpZCI7czoyNjoiZnJhbWV3b3JrX3dvb19iYWNrZW5kX2ljb24iO3M6Mzoic3RkIjtzOjA6IiI7czo0OiJ0eXBlIjtzOjY6InVwbG9hZCI7fWk6OTthOjI6e3M6NDoibmFtZSI7czoxNDoiSW1wb3J0IE9wdGlvbnMiO3M6NDoidHlwZSI7czo3OiJoZWFkaW5nIjt9aToxMDthOjU6e3M6NDoibmFtZSI7czo0NjoiSW1wb3J0IG9wdGlvbnMgZnJvbSBhbm90aGVyIFdvb1RoZW1lcyBpbnN0YW5jZSI7czo0OiJkZXNjIjtzOjE3MDoiWW91IGNhbiB0cmFuc2ZlciBvcHRpb25zIGZyb20gYW5vdGhlciBXb29UaGVtZXMgKHNhbWUgdGhlbWUpIHRvIHRoaXMgb25lIGJ5IGNvcHlpbmcgdGhlIGV4cG9ydCBjb2RlIGFuZCBhZGRpbmcgaXQgaGVyZS4gV29ya3MgYmVzdCBpZiBpdCdzIGltcG9ydGVkIGZyb20gaWRlbnRpY2FsIHRoZW1lcy4iO3M6MjoiaWQiO3M6Mjg6ImZyYW1ld29ya193b29faW1wb3J0X29wdGlvbnMiO3M6Mzoic3RkIjtzOjA6IiI7czo0OiJ0eXBlIjtzOjg6InRleHRhcmVhIjt9aToxMTthOjI6e3M6NDoibmFtZSI7czoxNDoiRXhwb3J0IE9wdGlvbnMiO3M6NDoidHlwZSI7czo3OiJoZWFkaW5nIjt9aToxMjthOjU6e3M6NDoibmFtZSI7czo2NjoiVXNlIHRoZSBjb2RlIGJlbG93IHRvIGV4cG9ydCB0aGlzIHRoZW1lcyBzZXR0aW5ncyB0byBhbm90aGVyIHRoZW1lIjtzOjQ6ImRlc2MiO3M6MTcwOiJZb3UgY2FuIHRyYW5zZmVyIG9wdGlvbnMgZnJvbSBhbm90aGVyIFdvb1RoZW1lcyAoc2FtZSB0aGVtZSkgdG8gdGhpcyBvbmUgYnkgY29weWluZyB0aGUgZXhwb3J0IGNvZGUgYW5kIGFkZGluZyBpdCBoZXJlLiBXb3JrcyBiZXN0IGlmIGl0J3MgaW1wb3J0ZWQgZnJvbSBpZGVudGljYWwgdGhlbWVzLiI7czoyOiJpZCI7czoyODoiZnJhbWV3b3JrX3dvb19leHBvcnRfb3B0aW9ucyI7czozOiJzdGQiO3M6MjQwODoiWVRvME5UcDdjem94T0RvaWQyOXZYMkZzZEY5emRIbHNaWE5vWldWMElqdHpPamc2SW1salpYa3VZM056SWp0ek9qZzZJbmR2YjE5c2IyZHZJanR6T2pBNklpSTdjem94T0RvaWQyOXZYMk4xYzNSdmJWOW1ZWFpwWTI5dUlqdHpPakE2SWlJN2N6b3lNRG9pZDI5dlgyZHZiMmRzWlY5aGJtRnNlWFJwWTNNaU8zTTZNRG9pSWp0ek9qRTBPaUozYjI5ZlkzVnpkRzl0WDJOemN5STdjem93T2lJaU8zTTZNVEE2SW5kdmIxOXlaWE5wZW1VaU8zTTZORG9pZEhKMVpTSTdjem94TWpvaWQyOXZYMkYxZEc5ZmFXMW5JanR6T2pVNkltWmhiSE5sSWp0ek9qRXpPaUozYjI5ZmRHVjRkSFJwZEd4bElqdHpPalE2SW5SeWRXVWlPM002TVRJNkluZHZiMTltWldWa1gzVnliQ0k3Y3pvd09pSWlPM002TVRrNkluZHZiMTl6ZFdKelkzSnBZbVZmWlcxaGFXd2lPM002TURvaUlqdHpPakl4T2lKM2IyOWZZMjl1ZEdGamRHWnZjbTFmWlcxaGFXd2lPM002TURvaUlqdHpPamc2SW5kdmIxOWtZWFJsSWp0ek9qYzZJbVF1SUUwc0lGa2lPM002TVRJNkluZHZiMTlqYjIxdFpXNTBjeUk3Y3pvd09pSWlPM002TWpFNkluZHZiMTl3YjNOMFgyTnZiblJsYm5SZmFHOXRaU0k3Y3pvMU9pSm1ZV3h6WlNJN2N6b3lOVG9pZDI5dlgzQnZjM1JmWTI5dWRHVnVkRjloY21Ob2FYWmxjeUk3Y3pvMU9pSm1ZV3h6WlNJN2N6b3lNRG9pZDI5dlgyWmxZWFIxY21Wa1gyaGxZV1JwYm1jaU8zTTZNVFE2SWtabFlYUjFjbVZrSUZCdmMzUnpJanR6T2pJeE9pSjNiMjlmWm1WaGRIVnlaV1JmWTJGMFpXZHZjbmtpTzNNNk1UZzZJbE5sYkdWamRDQmhJR05oZEdWbmIzSjVPaUk3Y3pveE9Eb2lkMjl2WDJabFlYUjFjbVZrWDJ4cGJXbDBJanR6T2pFNklqRWlPM002TVRrNkluZHZiMTkxY0dSaGRHVnpYMmhsWVdScGJtY2lPM002TnpvaVZYQmtZWFJsY3lJN2N6b3hOem9pZDI5dlgzVndaR0YwWlhOZmJHbHRhWFFpTzNNNk1Ub2lOU0k3Y3pveE5qb2lkMjl2WDJodmJXVmZhR1ZoWkdsdVp5STdjem95TmpvaVYyVnNZMjl0WlNCMGJ5QkxWRTFISUVOdmJuTjFiSFJwYm1jaU8zTTZNVE02SW5kdmIxOW9iMjFsWDNSbGVIUWlPM002TnpnNklrRmtaQ0I1YjNVZ2RHVjRkQ0JvWlhKbExpQk1aV0YyWlNCMGFHbHpJR0Z1WkNCMGFHVWdhR1ZoWkdsdVp5QmliR0Z1YXlCMGJ5QnlaVzF2ZG1VZ2RHaHBjeUJqYjIxd2JHVjBaV3g1TGlJN2N6b3hNam9pZDI5dlgyNWhkbDlvYjIxbElqdHpPakk0T2lKb2RIUndPaTh2Ykc5allXeG9iM04wT2pnd09EQXZkM0JyZEcxbklqdHpPakV6T2lKM2IyOWZibUYyWDJGaWIzVjBJanR6T2pFNklpTWlPM002TVRZNkluZHZiMTl1WVhaZllYSmphR2wyWlhNaU8zTTZNVG9pSXlJN2N6b3hOem9pZDI5dlgyNWhkbDl6ZFdKelkzSnBZbVVpTzNNNk1Ub2lJeUk3Y3pveE5Ub2lkMjl2WDI1aGRsOWpiMjUwWVdOMElqdHpPakU2SWlNaU8zTTZNakk2SW5kdmIxOXdZV2RsYUdWaFpHbHVaMTl3Y21WbWFYZ2lPM002TXpvaUx5OGdJanR6T2pJd09pSjNiMjlmY0dGblpXaGxZV1JwYm1kZmFHOXRaU0k3Y3pvME9pSm9iMjFsSWp0ek9qSXhPaUozYjI5ZmNHRm5aV2hsWVdScGJtZGZhVzVrWlhnaU8zTTZOVG9pYVc1a1pYZ2lPM002TWpJNkluZHZiMTl3WVdkbGFHVmhaR2x1WjE5emFXNW5iR1VpTzNNNk1qTTZJbmx2ZFNZak9ESXhOenR5WlNCeVpXRmthVzVuTGk0dUlqdHpPakkwT2lKM2IyOWZjR0ZuWldobFlXUnBibWRmWVhKamFHbDJaWE1pTzNNNk9Eb2lZWEpqYUdsMlpYTWlPM002TWpJNkluZHZiMTl3WVdkbGFHVmhaR2x1WjE5elpXRnlZMmdpTzNNNk1URTZJbWhsY21VZ2VXOTFJR2R2SWp0ek9qSXlPaUozYjI5ZmNHRm5aV2hsWVdScGJtZGZZWFYwYUc5eUlqdHpPakUwT2lKaGRYUm9iM0lnWVhKamFHbDJaU0k3Y3pveE9Ub2lkMjl2WDNCaFoyVm9aV0ZrYVc1blh6UXdOQ0k3Y3pvMk9pSjFhQ0J2YUNFaU8zTTZNakk2SW5kdmIxOXdiM04wWDJsdFlXZGxYM04xY0hCdmNuUWlPM002TlRvaVptRnNjMlVpTzNNNk1UYzZJbmR2YjE5d2FYTmZhR0Z5WkY5amNtOXdJanR6T2pVNkltWmhiSE5sSWp0ek9qRTFPaUozYjI5ZmRHaDFiV0pmWVd4cFoyNGlPM002T1RvaVlXeHBaMjVzWldaMElqdHpPakUyT2lKM2IyOWZkR2gxYldKZmMybHVaMnhsSWp0ek9qVTZJbVpoYkhObElqdHpPakV6T2lKM2IyOWZjbk56WDNSb2RXMWlJanR6T2pVNkltWmhiSE5sSWp0ek9qRTVPaUozYjI5ZlptOXZkR1Z5WDJGbVpsOXNhVzVySWp0ek9qQTZJaUk3Y3pveE5Ub2lkMjl2WDJadmIzUmxjbDlzWldaMElqdHpPalU2SW1aaGJITmxJanR6T2pJd09pSjNiMjlmWm05dmRHVnlYMnhsWm5SZmRHVjRkQ0k3Y3pvM09pSThjRDQ4TDNBK0lqdHpPakUyT2lKM2IyOWZabTl2ZEdWeVgzSnBaMmgwSWp0ek9qVTZJbVpoYkhObElqdHpPakl4T2lKM2IyOWZabTl2ZEdWeVgzSnBaMmgwWDNSbGVIUWlPM002TnpvaVBIQStQQzl3UGlJN2ZRPT0iO3M6NDoidHlwZSI7czo4OiJ0ZXh0YXJlYSI7fX08L2xpPjxsaT48c3Ryb25nPndvb19zZXR0aW5nc19jdXN0b21fbmF2X3ZlcnNpb248L3N0cm9uZz4gLSAxLjAuMTk8L2xpPjxsaT48c3Ryb25nPndvb191cGxvYWRzPC9zdHJvbmc+IC0gYToyOntpOjA7czo2NToiaHR0cDovL2xvY2FsaG9zdDo4MDgwL3dwa3RtZy93cC1jb250ZW50L3dvb191cGxvYWRzLzQtZmF2aWNvbi5wbmciO2k6MTtzOjYyOiJodHRwOi8vbG9jYWxob3N0OjgwODAvd3BrdG1nL3dwLWNvbnRlbnQvd29vX3VwbG9hZHMvMy1Mb2dvLnBuZyI7fTwvbGk+PC91bD4=