/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: May 26, 1993 6:30:49 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: XlRGBColorMapsImpl, module: XlRGBColorMapsImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [4083174564,3013243476] XlRGBColorMapsImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3;} W4;
typedef word (*fPt)();
#define SOURCE(p, l) /* source p, l */
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static void NoName←Q264();
static void XlRGBColorMapsImpl←P0();
static word GetRGBColorMaps←P60();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\343\366\304\342\300\307\072\365\214\100\230\000\000"};
static struct {unsigned f; char r[48];} string2 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\343\366\304\342\300\307\072\365\214\100\230\005\004\162\145\163\164\214\216\257\300\343\366\304\342\300\307\072\365\214\100\230\261\000\000\000"};
static struct {unsigned f; char r[4];} string3 = {131074, "\004\003\000"};
static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\106\104\000\000"};
static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\363\140\114\244\300\263\232\162\124\100\164\000\000"};
static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\100\164\000\000"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\343\366\304\342\300\307\072\365\214\100\150\000\000"};
static struct {
   word f0[11]; word f11; word f12; word f13; 
   word f14[3]; 
   } globalframe = {
   {0}, (word) GetRGBColorMaps←P60, 0, (word) XlRGBColorMapsImpl←P0, 
   {0}
   };

static void NoName←Q264()
   {
   register ptr gf←c032 =  (ptr) &globalframe;
   word var←c5760;
   (* (( (ptr) gf←c032)+8) ) = (word) XR←GetTypeIndexS((word) (&string1));
   (* (( (ptr) gf←c032)+9) ) = (word) XR←GetTypeIndex((word) &string2, 0, (word) &string3);
   (* (( (ptr) gf←c032)+10) ) = (word) XR←GetTypeIndexS((word) (&string4));
   (void) XR←DeclareGlobalFrame((word) "XlRGBColorMapsImpl", &globalframe, (word) XR←GetTypeIndexS((word) (&string5)), (word) (
         ( (bPt) gf←c032)+52)/* var←c5280 */ );
   var←c5760 = (word) XR←ImportInterface((word) "Xl", (word) XR←GetTypeIndexS((word) (&string6)), 218);
   (* (( (ptr) gf←c032)+15)/* var←c5344 */  ) = var←c5760;
   (void) XR←ImportProcS(var←c5760, 67654914);
   (void) XR←ImportProcS(var←c5760, 270545672);
   var←c5760 = (word) XR←ExportInterface((word) "XlRGBColorMaps", (word) XR←GetTypeIndexS((word) (&string7)), 1);
   (* (( (ptr) gf←c032)+16)/* var←c5792 */  ) = var←c5760;
   (void) XR←ExportProcS(var←c5760, (word) (( (bPt) gf←c032)+44)/* var←c5248 */ , 67895299);
   }

static void XlRGBColorMapsImpl←P0(formal←c09, formal←c08)
   word formal←c09;
   word formal←c08;
   {
   /* XlRGBColorMapsImpl: */ 
   }

static word GetRGBColorMaps←P60(c←v2604, w←v2632, mapKey←v2660)
   word c←v2604;
   word w←v2632;
   word mapKey←v2660;
   {
   register ptr gf←c5824 =  (ptr) &globalframe;
   word list←v2704;
   W4 pr←v2816;
   /* GetRGBColorMaps: */ 
SOURCE(152, 1142)
SOURCE(152, 1142)
   list←v2704 = 0;
SOURCE(317, 24)
   pr←v2816.f0 = 0;
   pr←v2816.f1 = 0;
   pr←v2816.f2 = 0;
   pr←v2816.f3 = 0;
SOURCE(343, 129)
   {
      word pd8;
      pd8 = (* (( (ptr) (* (( (ptr) gf←c5824)+15)/* var←c5344 */  ))+55) );
      (void) ( *( (fPt) ((*  (ptr) pd8 ))))((word) &pr←v2816, c←v2604, w←v2632, mapKey←v2660, 24, 0
         , 0, 2147483647, 32, pd8);
      };
SOURCE(474, 820)
   {
      word var←c5376;
      var←c5376 = pr←v2816.f2;
      if ((var←c5376 == 0)) {
         goto lab←L100000;
         };
      if (((* (( (ptr) gf←c5824)+10) ) == XR←GetReferentType(var←c5376))) {
         {
            word s←v2860;
            s←v2860 = var←c5376;
SOURCE(528, 776)
            {
               word restStart←v3000 = 0;
               word restLeng←v3028;
SOURCE(622, 22)
               restLeng←v3028 = (*  (ptr) s←v2860 );
SOURCE(646, 648)
               lab←L100003: ;
               if (( (int)restLeng←v3028 >=  (int)8)) {
                  }
               else {
                  goto lab←L100001;
                  };
               {
                  word cm←v3072;
SOURCE(682, 47)
                  cm←v3072 = XR←NewObject(40, (* (( (ptr) gf←c5824)+8) ));
SOURCE(731, 30)
                  {
                     word limit9;
                     (*  (ptr) cm←v3072 ) = (* ((( (ptr) s←v2860)+1)+(
                           limit9 = (*  (ptr) s←v2860 ),
                           BCK(restStart←v3000, limit9)
                           )) );
                     };
SOURCE(763, 26)
                  {
                     word var←c5408;
                     var←c5408 = (restStart←v3000 + 1);
                     {
                        word limit10;
                        (* (( (ptr) cm←v3072)+1) ) = (* ((( (ptr) s←v2860)+1)+(
/*1*/   limit10 = (*  (ptr) s←v2860 ),
/*1*/   BCK(var←c5408, limit10)
/*1*/   )) );
                        };
                     };
SOURCE(791, 27)
                  {
                     word var←c5440;
                     var←c5440 = (restStart←v3000 + 2);
                     {
                        word limit11;
                        (* (( (ptr) cm←v3072)+2) ) = (* ((( (ptr) s←v2860)+1)+(
/*1*/   limit11 = (*  (ptr) s←v2860 ),
/*1*/   BCK(var←c5440, limit11)
/*1*/   )) );
                        };
                     };
SOURCE(820, 28)
                  {
                     word var←c5472;
                     var←c5472 = (restStart←v3000 + 3);
                     {
                        word limit12;
                        (* (( (ptr) cm←v3072)+3) ) = (* ((( (ptr) s←v2860)+1)+(
/*1*/   limit12 = (*  (ptr) s←v2860 ),
/*1*/   BCK(var←c5472, limit12)
/*1*/   )) );
                        };
                     };
SOURCE(850, 29)
                  {
                     word var←c5504;
                     var←c5504 = (restStart←v3000 + 4);
                     {
                        word limit13;
                        (* (( (ptr) cm←v3072)+4) ) = (* ((( (ptr) s←v2860)+1)+(
/*1*/   limit13 = (*  (ptr) s←v2860 ),
/*1*/   BCK(var←c5504, limit13)
/*1*/   )) );
                        };
                     };
SOURCE(881, 27)
                  {
                     word var←c5536;
                     var←c5536 = (restStart←v3000 + 5);
                     {
                        word limit14;
                        (* (( (ptr) cm←v3072)+5) ) = (* ((( (ptr) s←v2860)+1)+(
/*1*/   limit14 = (*  (ptr) s←v2860 ),
/*1*/   BCK(var←c5536, limit14)
/*1*/   )) );
                        };
                     };
SOURCE(910, 28)
                  {
                     word var←c5568;
                     var←c5568 = (restStart←v3000 + 6);
                     {
                        word limit15;
                        (* (( (ptr) cm←v3072)+6) ) = (* ((( (ptr) s←v2860)+1)+(
/*1*/   limit15 = (*  (ptr) s←v2860 ),
/*1*/   BCK(var←c5568, limit15)
/*1*/   )) );
                        };
                     };
SOURCE(940, 29)
                  {
                     word var←c5600;
                     var←c5600 = (restStart←v3000 + 7);
                     {
                        word limit16;
                        (* (( (ptr) cm←v3072)+7) ) = (* ((( (ptr) s←v2860)+1)+(
/*1*/   limit16 = (*  (ptr) s←v2860 ),
/*1*/   BCK(var←c5600, limit16)
/*1*/   )) );
                        };
                     };
SOURCE(971, 130)
                  if (( (int)8 <  (int)restLeng←v3028)) {
SOURCE(1006, 50)
                     {
                        word var←c5632;
                        var←c5632 = (restStart←v3000 + 8);
                        {
                           word limit17;
                           (* (( (ptr) cm←v3072)+8) ) = (* ((( (ptr) s←v2860)+1)+(
/*1*/      limit17 = (*  (ptr) s←v2860 ),
/*1*/      BCK(var←c5632, limit17)
/*1*/      )) );
                           };
                        };
                     }
                  else {
SOURCE(1056, 45)
                     {
                        word var←c5664;
                        {
                           word pd18;
                           pd18 = (* (( (ptr) (* (( (ptr) gf←c5824)+15)/* var←c5344 */  ))+89) );
                           var←c5664 = (* (( (ptr) ( *( (fPt) ((*  (ptr) pd18 ))))(c←v2604, w←v2632, pd18))+11) );
                           };
                        (* (( (ptr) cm←v3072)+8) ) = var←c5664;
                        };
                     };
SOURCE(1103, 98)
                  if (( (int)9 <  (int)restLeng←v3028)) {
SOURCE(1136, 44)
                     {
                        word var←c5696;
                        var←c5696 = (restStart←v3000 + 9);
                        {
                           word limit19;
                           (* (( (ptr) cm←v3072)+9) ) = (* ((( (ptr) s←v2860)+1)+(
/*1*/      limit19 = (*  (ptr) s←v2860 ),
/*1*/      BCK(var←c5696, limit19)
/*1*/      )) );
                           };
                        };
                     }
                  else {
SOURCE(1180, 21)
                     (* (( (ptr) cm←v3072)+9) ) = 0;
                     };
SOURCE(1203, 32)
                  restLeng←v3028 = (restLeng←v3028 - 10);
SOURCE(1237, 34)
                  restStart←v3000 = (restStart←v3000 + 10);
SOURCE(1273, 21)
                  {
                     word var←c5728;
                     var←c5728 = XR←NewObject(8, (* (( (ptr) gf←c5824)+9) ));
                     (*  (ptr) var←c5728 ) = cm←v3072;
                     (* (( (ptr) var←c5728)+1) ) = list←v2704;
                     list←v2704 = var←c5728;
                     };
                  };
               goto lab←L100003;
               lab←L100001: ;
               };
            };
         }
      else {
         lab←L100000: ;
         };
      };
SOURCE(152, 1142)
   return(list←v2704);
   }

/* file: XlRGBColorMapsImpl, module: XlRGBColorMapsImpl, compiled at: May 26, 1993 6:30:49 pm PDT */ 
extern void XR←install←XlRGBColorMapsImpl() {
   NoName←Q264();
   }
extern void XR←run←XlRGBColorMapsImpl() { XR←Start(&globalframe); }